essai ça stp:
FLUTTER_LINUX_RENDERER=software gecko
essai ça stp:
FLUTTER_LINUX_RENDERER=software gecko
Ça ouvre l’application gecko
Et j’ai ça dans la fenêtre du terminal !
Martial@mxLinuxLenovoMartial:~/Gecko
$ FLUTTER_LINUX_RENDERER=software gecko
** (fr.axiomteam.gecko.gecko:8077): WARNING **: 23:28:18.405: Using the software renderer. Not all features are supported. This is not recommended.
To switch back to the default renderer, unset the FLUTTER_LINUX_RENDERER environment variable.
** (fr.axiomteam.gecko.gecko:8077): WARNING **: 23:28:18.964: Timed out waiting for software frame of size 1484x855 (have 800x600)
Connected to websocket.
Initialising connection
L’application semble fonctionner correctement
à la fermeture d’autres lignes s’ajoutent dans le terminal.
embedder.cc (2603): 'FlutterEngineRemoveView' returned 'kInvalidArguments'. Remove view info was invalid. The implicit view cannot be removed.
** (fr.axiomteam.gecko.gecko:8316): WARNING **: 23:33:18.264: Attempted to set message handler on an FlBinaryMessenger without an engine
** (fr.axiomteam.gecko.gecko:8316): WARNING **: 23:33:18.264: Attempted to set message handler on an FlBinaryMessenger without an engine
** (fr.axiomteam.gecko.gecko:8316): WARNING **: 23:33:18.264: Attempted to set message handler on an FlBinaryMessenger without an engine
Martial@mxLinuxLenovoMartial:~/Gecko
On peut s’appeler demain si tu veux qu’on fasse des trucs en direct.
Peux installer cette version stp pour voir si elle fonctionne telle quelle ?
Oui ça fonctionne impeccable !
Merci !
Est-il possible d’avoir un lien github ou gitlab pour installer Gecko sur Android en utilisant Obtainium?
Il suffit de visiter le gitlab duniter: Releases · clients / Ğecko · GitLab
Visiblement non car le lien n’est pas reconnu par Obtainium n’étant pas un Github ou Gitlab. En tout cas sur mon appareil j’ai un message me disant “Aucune releases appropriées”. Les sources supportées sont listées ici.
Solution ci-dessous
![]()
Trouvé ! C’était simple mais avec une subtilité ![]()
Dans Obtainium, ajouter l’url clients / Ğecko · GitLab et juste en-dessous dans “Remplacer la source”, sélectionner “GitLab” et hop! ![]()
@Chiara07
Hello @poka,
En accompagnant Christian, un utilisateur non-voyant, et en poussant les tests plus loin avec un lecteur d’écran sur l’application mobile Gecko (Flutter), nous avons identifié plusieurs points de blocage majeurs concernant l’accessibilité.
Actuellement, la navigation vocale est très difficile car le lecteur d’écran répète souvent “Bouton, bouton, bouton” sans donner d’indications, ou associe mal les icônes à leurs textes.
Pour tester ou reproduire fidèlement l’expérience de Christian sur Gecko, voici la procédure standard pour activer le lecteur d’écran TalkBack sur Android, ainsi que la méthode spécifique pour naviguer et valider des actions.
Il existe deux méthodes principales pour lancer le lecteur d’écran :
Appuyez simultanément sur les boutons Volume + et Volume - pendant environ 3 secondes.
Note : Si c’est la première fois, une notification peut vous demander de confirmer l’activation du raccourci.
Allez dans les Paramètres du téléphone.
Faites défiler jusqu’à la section Accessibilité.
Appuyez sur TalkBack.
Activez l’option Utiliser TalkBack.
Une fois TalkBack activé, la gestuelle tactile habituelle du téléphone change complètement pour permettre aux utilisateurs non-voyants de contrôler l’interface sans la voir.
Balayer vers la gauche ou la droite (Swipe) : Permet de passer d’un élément à un autre (bouton, texte, image) . TalkBack va lire à haute voix chaque élément sélectionné . C’est ce geste qui a mis en lumière le bug des colonnes et l’effet “Bouton, bouton, bouton” sur Gecko .
Glisser un doigt sur l’écran : Vous pouvez aussi déplacer lentement votre doigt sur l’écran pour explorer ce qui s’y trouve en direct.
Le problème actuel sur Gecko : Si le focus de TalkBack se trouve sur le texte (ex: “Faire un virement”), le double-clic ne fonctionne pas car l’action cliquable n’est pas codée sur l’ensemble du bloc, mais uniquement sur le petit icône graphique situé au-dessus .
Voici le récapitulatif des problèmes constatés et les pistes d’amélioration pour le code.
De nombreuses icônes interactives n’ont pas de description textuelle sous-jacente. Le lecteur d’écran détecte un composant cliquable, mais ne peut pas dire ce qu’il fait.
Ajouter/Supprimer un contact : Le bouton change d’état visuel (noir si le contact existe pour le supprimer, transparent/blanc pour l’ajouter). Le lecteur d’écran doit annoncer dynamiquement cet état (ex: “Bouton : Ajouter aux contacts” ou “Bouton : Supprimer des contacts”).
Bouton Copier (à côté de la clé publique) : Annoncé comme “Bouton”. Il devrait annoncer : “Bouton : Copier la clé publique”.
Photo de profil / Bouton d’activité : Annoncé comme “Bouton” juste après la clé. Il s’agit du bouton pour voir l’activité/le profil. Il devrait annoncer : “Bouton : Voir l’activité du profil”.
Dates clés isolées : À un endroit, le lecteur lit simplement “7 janvier”. Sans contexte visuel, l’utilisateur ne sait pas à quoi cela correspond. Il faudrait que le lecteur lise : “Date de la prochaine certification disponible : 7 janvier”.
Sur l’écran des actions (ex: Faire un virement, Planifier la certification, Copier l’adresse), trois icônes sont placées côte à côte avec leurs textes respectifs en dessous.
Le bug constaté : Le lecteur d’écran lit d’abord toutes les icônes de la ligne, puis tous les textes de la ligne du dessous. L’utilisateur entend : “Bouton, Bouton, Bouton” puis “Faire un virement, Planifier la certification, Copier l’adresse”. Il est impossible de savoir quelle icône correspond à quel texte.
Zone de clic trop restreinte : Sur l’action “Faire un virement”, si l’utilisateur double-clique sur le texte, rien ne se passe. Il est obligé de trouver précisément l’icône située juste au-dessus pour déclencher l’action.
Pour résoudre l’ensemble de ces points, voici les leviers à utiliser dans le code Dart/Flutter de Gecko :
Semantics pour nommer les boutons et les étatsChaque bouton-icône doit être enveloppé dans un widget Semantics pour lui donner un nom clair et explicite :
Semantics( label: contactExiste ? 'Supprimer des contacts' : 'Ajouter aux contacts', button: true, child: IconButton( ... ), )
MergeSemanticsPour régler le problème des lignes et des colonnes, il faut regrouper chaque bloc “Icône + Texte” dans un widget MergeSemantics. De plus, pour que le texte soit lui aussi cliquable, il faut s’assurer que le détecteur de geste (GestureDetector ou InkWell) englobe tout le bloc (l’icône ET le texte), et pas seulement l’icône.
// En encapsulant chaque action ainsi, le lecteur lira l'ensemble d'un coup
// et l'utilisateur pourra cliquer n'importe où sur le bloc.
GestureDetector(
onTap: () => faireLeVirement(),
child: MergeSemantics(
child: Column(
children: [
Icon(Icons.send, semanticLabel: ""), // On vide le label de l'icône pour éviter les doublons
Text("Faire un virement"),
],
),
),
)
Prendre soin de l’accessibilité dès maintenant permettra à Gecko d’être une application exemplaire et véritablement inclusive pour toute la communauté de la monnaie libre.
Merci beaucoup pour votre écoute et votre aide sur ce sujet !
Salut @BulmAnanaBelle ,
Est-ce que tu veux que je t’accompagne pour pouvoir faire ça au travers de Claude Code ?
Je pense que c’est un bon exercice pour commencer ![]()
Toi ou d’autre hein.