Installer l’app
Le front Ğchange, en desktop natif — lecture et publication.
Contenu généré par IA. Cette page a été rédigée avec l’aide d’une IA et n’a pas encore été entièrement relue — elle peut comporter des imprécisions.
L’app desktop reprend tout ce que fait la démo web (recherche, annonces, profils, carte) et embarque en plus un vrai nœud : elle peut donc publier — importer sa clé, éditer son profil, poster une annonce — et suivre n’importe quel serveur Ğchange en pair-à-pair.
Fonctions principales :
- Annonces et annuaire : recherche par barre unifiée (catégorie, ville, type, prix, auteur), fiches détaillées, publication.
- Réactions et favoris : réaction publique (cœur/pouce, agrégée par lignée d’annonce) et favori privé chiffré (étoile, page « Mes favoris » dédiée — visible seulement par son propriétaire).
- Messagerie privée : échange de messages chiffrés entre pairs.
- Notifications : toasts pour les événements ponctuels, panneau « cloche » listant l’historique.
- Carte : fond vectoriel PMTiles (Protomaps) embarqué, rendu hors ligne par défaut ; un fond détaillé peut être servi en p2p par le serveur suivi (voir Déploiement).
Télécharger le binaire (Linux x86_64)
Tous les formats et systèmes proposés (AppImage,
.deb, Arch, Windows, macOS) sont regroupés sur la page de téléchargement, avec les instructions d’installation. Cette section décrit l’archive autonome Linux.
Le plus simple : récupérer le bundle pré-construit attaché à la
dernière release
(asset « Geopod desktop (Linux x86_64) »,
geopod-linux-x86_64.tar.gz).
tar -xzf geopod-linux-x86_64.tar.gz
cd geopod
./appLe dossier geopod/ est autonome :
copiable tel quel sur une autre machine Linux, sans installation
système. Dépendances runtime côté cible : libgtk-3-0 et un
pilote GL/EGL (Mesa/NVIDIA via libglvnd) — la base habituelle
Flutter-Linux.
AppImage (un seul fichier, toutes distributions)
Même release, asset « Geopod desktop (AppImage, Linux x86_64)
», geopod-linux-x86_64.AppImage : un fichier
unique, ni installation ni droits root.
chmod +x geopod-linux-x86_64.AppImage
./geopod-linux-x86_64.AppImageUne fois le droit d’exécution posé, un double-clic depuis le
gestionnaire de fichiers suffit. L’AppImage se monte via
FUSE (la bibliothèque est embarquée dans le lanceur :
il lui faut seulement /dev/fuse et un binaire
fusermount / fusermount3 sur le
PATH, pas libfuse2). Là où FUSE n’est pas
disponible — conteneur, machine durcie —, le lanceur affiche
No suitable fusermount binary found on the $PATH ; lancer
alors sans rien installer :
./geopod-linux-x86_64.AppImage --appimage-extract-and-runMêmes dépendances hôte que le bundle (libgtk-3-0, pilote
GL/EGL) : l’AppImage embarque l’app, pas la pile graphique.
Prérequis (construction depuis les sources)
- La procédure ci-dessous est celle de Linux desktop (mobile à venir) ; les binaires prêts à l’emploi pour les autres systèmes sont listés sur la page de téléchargement.
- Le Flutter SDK, pour construire l’app depuis les sources.
- Pour publier : une phrase mnémonique Ğ1 (12 ou 24 mots).
Le code est public : https://git.duniter.org/HugoTrentesaux/datapod.
Construire
git clone https://git.duniter.org/HugoTrentesaux/datapod
cd datapod/app
flutter build linux --release -t lib/main_geopod.dart
# → build/linux/x64/release/bundle/ (dossier autonome à distribuer)bundle/ peut être copié tel quel sur une autre machine
Linux (pas d’installation système requise).
Premier lancement
L’app démarre sur sa base locale, vide au tout premier lancement.
- Suivre un serveur : ouvrir
Paramètres, coller le ticket d’un
serveur Ğchange dans « Ticket du serveur » et valider. L’app synchronise
en continu depuis ce serveur (et accepte ses annonces de mise à jour).
Le ticket peut aussi être passé au lancement :
GEOPOD_INDEXER=<ticket> flutter run -d linux -t lib/main_geopod.dart(utile pour scripter un démarrage). - Se connecter : ouvrir Mon compte (icône en haut à droite) et importer sa phrase Ğ1. La clé publique correspondante s’affiche — elle ne quitte jamais l’app en clair.
- Publier : une fois connecté, éditer son profil et publier ses annonces depuis le menu. Elles sont signées par la clé importée et diffusées aux pairs.
Réglages utiles
| Réglage | Comment | À quoi ça sert |
|---|---|---|
| Répertoire de données | TRAME_DATA=<dossier> |
Isole les données d’une instance (utile pour lancer deux pairs sur la même machine). |
| Serveur suivi | GEOPOD_INDEXER=<ticket> au lancement, ou
Paramètres → « Suivre » |
Indexeur à synchroniser en continu. |
| Semer un fond de carte local | --dart-define=PMTILES_INGEST=<chemin>.pmtiles
(build/test) |
Ingère un fichier .pmtiles dans le blockstore local au
démarrage (voie de test/dev, pas un réglage grand public). |
Vérifier que ça tourne
Une fois connecté à un serveur, l’app reflète son état : les annonces et profils qu’il indexe apparaissent au fur et à mesure de la synchronisation. La liste des serveurs suivis reste dans Paramètres, avec l’option de couper le suivi à tout moment (les données déjà reçues restent en local).