Rejoignez MILITANT, un réseau social respectueux de votre vie privée. Modération collective, consensus, pas de hiérarchies.
Translation pending
SocialDart · KotlinGitHub @Militant12OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Application Android du réseau social Militant — Fediverse, messages chiffrés, appels WebRTC. FOSS & décentralisé.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Militant est un réseau social décentralisé conçu pour les mouvements militants et les organisations politiques. Cette application mobile permet de se connecter à n'importe quelle instance Militant auto-hébergée.
Version actuelle : 1.1.0+139.
Fiabilité des appels et notifications : corrections de réception des appels entrants et des notifications, avec OneSignal rétabli comme choix par défaut dans l’édition Google Play.
Mentions : les profils mentionnés affichent désormais leur avatar et le lien ouvre bien leur profil.
Deux binaires distincts : le binaire F-Droid est compilé sans SDK OneSignal ; l’APK/AAB Google Play conserve OneSignal. Le script de compilation choisit automatiquement le manifeste de dépendances correspondant.
Gestion des Notifications par E-mail & Contrôle des Interactions (Build 136) :
Notifications Push Dégooglisées (ntfy) & Double Diffusion :
push.revlibertaire.com).POST_NOTIFICATIONS) dès l'initialisation et au changement de préférences.Variantes F-Droid (Libre) & Google Play Store :
FDROID_BUILD=true) : 100% libre et dégooglisée, services Firebase désactivés, paramètres épurés sans options propriétaires.FDROID_BUILD=false) : intégration OneSignal (Google FCM) pour distribution Play Store.applicationId distinct (.fdroid).scripts/ (build_fdroid.sh et build_playstore.sh).Fediverse & Profil :
@[email protected]).Notifications & Messagerie :
ChatScreen et GroupChatScreen) lors du clic sur une notification push de message privé ou groupe.Appels vocaux & vidéo (WebRTC) :
Conformité & Performances Android 15 :
Edge-to-Edge) et nettoyage des API système dépréciées.resource shrinking).1.0.9 (code de version 138).1.0.8.@[email protected].Note : Android est supporté.
git clone https://gitlab.com/votre-username/militant-flutter.git
cd militant_flutter
flutter pub get
# Sur émulateur/appareil connecté
flutter run
# Build APK de debug
flutter build apk --debug
# Build APK de release
flutter build apk --release
L'application se connecte par défaut à https://api.militant.revlibertaire.com. Vous pouvez changer d'instance directement depuis l'écran de connexion.
L’onglet Live s’appuie sur LiveKit et offre une expérience de diffusion militante sécurisée.
[!CAUTION] Sécurité : Ne compilez jamais l'application avec vos secrets (
LIVEKIT_API_SECRET). L'application utilise uniquement l'URL du serveur et l'URL de l'API pour récupérer des jetons sécurisés. Le secret doit rester exclusivement sur votre serveurmilitant-api.
[!TIP] Format de l'URL : L'URL du serveur (
LIVEKIT_URL) doit impérativement commencer parwss://(ex:wss://live.votre-instance.org).
Configuration technique (militant-api) : configurez au minimum LIVEKIT_URL, LIVEKIT_API_KEY et LIVEKIT_API_SECRET pour que l’endpoint POST …/v1/lives.php?path=token puisse répondre.
L’application intègre désormais un espace Fediverse permettant de se connecter plus directement à l’écosystème ActivityPub.
Côté API (militant-api), cela suppose l’activation des endpoints Fediverse mobiles, notamment pour :
followers / followingfeed FediverseLes badges militants sont une fonctionnalité exclusive à l'application mobile. Ils permettent d'afficher votre appartenance à un mouvement ou une organisation :
Pour choisir votre badge : Profil → Paramètres → Mon badge militant
militant_flutter/
├── lib/
│ ├── main.dart # Point d'entrée de l'application
│ ├── models/ # Modèles de données
│ │ ├── post.dart
│ │ ├── user.dart
│ │ └── ...
│ ├── screens/ # Écrans de l'application
│ │ ├── home_screen.dart
│ │ ├── login_screen.dart
│ │ ├── profile_screen.dart
│ │ ├── messages_screen.dart
│ │ ├── groups_screen.dart
│ │ ├── events_screen.dart
│ │ ├── badge_selection_screen.dart
│ │ └── ...
│ ├── widgets/ # Composants réutilisables
│ │ ├── post_card.dart
│ │ ├── militant_badge.dart
│ │ ├── linkable_text.dart
│ │ └── ...
│ └── services/ # Services (API, langue)
│ ├── account_switcher_service.dart
│ ├── api_service.dart
│ └── language_service.dart
├── android/ # Configuration Android
├── ios/ # Configuration iOS
├── assets/
│ ├── logo.svg # Logo de l'application
│ ├── badges/ # Badges militants (exclusif mobile)
│ │ ├── militant.svg
│ │ ├── antifa.svg
│ │ ├── anarchist.svg
│ │ ├── cnt-ait.png
│ │ ├── cnt-f.jpg
│ │ ├── cnt-so.png
│ │ ├── fa.png
│ │ ├── ocl.gif
│ │ ├── cga.svg
│ │ ├── ucl.jpg
│ │ ├── fll.jpg
│ │ ├── slm.png
│ │ ├── iwa-ait.png
│ │ ├── iww.svg
│ │ ├── iaf-ifa.png
│ │ ├── cnt-ait-e.jpg
│ │ ├── ulet-ait.png
│ │ └── ...
│ └── offline.html # Page hors ligne
├── docs/ # Documentation technique et publication
├── scripts/
│ ├── test/ # Tests et diagnostics manuels
│ └── release/ # Publication des versions
├── test/ # Tests automatisés Flutter
└── pubspec.yaml # Dépendances Flutter
Les tests et diagnostics manuels sont regroupés dans scripts/test/. Les
scripts de construction restent directement dans scripts/ et les scripts de
publication sont placés dans scripts/release/.
http : Communication avec l'API RESTshared_preferences : Sauvegarde des préférences utilisateurflutter_svg : Affichage des logos et badges SVGimage_picker : Sélection d'images et vidéosvideo_player : Lecture de vidéosaudioplayers : Lecture de fichiers audiofile_picker : Sélection de fichiersurl_launcher : Ouverture de liens externesshare_plus : Partage de contenuintl : Internationalisation et formatage de datesL'application supporte deux modes de compilation distincts selon la cible de distribution :
Cette version est exempte de trackers et de dépendances aux services propriétaires Google :
ntfy via WebSocket persistant sur votre serveur auto-hébergé (push.revlibertaire.com).# Compilation via le script automatisé :
./scripts/build_fdroid.sh
# Ou via la commande Flutter directe :
flutter build apk --release \
--dart-define=DEFAULT_PUSH_PROVIDER=ntfy \
--dart-define=FDROID_BUILD=true
L'APK prêt à distribuer est généré dans dist/militant-fdroid.apk.
Cette version intègre les services Google Play et OneSignal pour une distribution standard sur le Play Store :
.aab) requis par la Google Play Console.# Compilation via le script automatisé (génère .aab et .apk) :
./scripts/build_playstore.sh
# Ou via les commandes Flutter directes :
# Pour la Play Console (App Bundle) :
flutter build appbundle --release \
--dart-define=DEFAULT_PUSH_PROVIDER=onesignal \
--dart-define=FDROID_BUILD=false
# Pour tester en APK local :
flutter build apk --release \
--dart-define=DEFAULT_PUSH_PROVIDER=onesignal \
--dart-define=FDROID_BUILD=false
Les fichiers sont générés dans :
dist/militant-playstore.aab (à téléverser sur la Google Play Console)dist/militant-playstore.apk (pour test direct)Pour tester simultanément la version Play Store et la version F-Droid sans conflit d'installation :
com.militant.militant_fluttercom.militant.militant_flutter.fdroid# Installer la version F-Droid sur votre appareil connecté
adb install dist/militant-fdroid-debug.apk
# Installer la version Play Store sur le même appareil
adb install dist/militant-playstore-debug.apk
Les deux applications apparaîtront séparément sur l'écran d'accueil de votre téléphone.
L'application et l'API sont optimisées pour supporter un grand nombre d'utilisateurs :
dist/militant-playstore.aab.dist/militant-fdroid.apk sur votre serveur web ou repository F-Droid.Les contributions sont les bienvenues ! Pour contribuer :
git checkout -b feature/amelioration)git commit -m 'Ajout fonctionnalité')git push origin feature/amelioration)Merci aux personnes qui font vivre Militant.
Ce projet est sous licence AGPL-3.0. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou problème :