Add README.md with project overview, features, tech stack, and screenshots. Also updates agent metadata. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 923ae0e3-a363-4db8-b04a-e8baca2a1330 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 93d7a692-969b-4714-971e-b44e7d4b3a92 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8af7d2ec-2cc3-4ece-8af3-9f071488d072/923ae0e3-a363-4db8-b04a-e8baca2a1330/nghZcOj Replit-Helium-Checkpoint-Created: true
La Voix du Peuple
Plateforme civique de démocratie participative assistée par IA
Un espace d'expression citoyenne — pas un sondage, pas une vérité établie.
Présentation
La Voix du Peuple permet à des citoyens de soumettre librement des propositions politiques en texte libre. Chaque contribution est automatiquement :
- Filtrée par une IA selon le droit international des droits humains (DUDH, PIDCP, CEDH, Charte UE, CERD, Statut de Rome)
- Intégrée à une synthèse collective structurée par thèmes
- Mise à disposition des élus et décideurs sous forme lisible
La plateforme ne produit pas un consensus, ni une vérité : elle donne à voir ce que des citoyens ont choisi d'exprimer, tel quel. La démarche est portée par un auteur attaché à l'expertise et au dialogue fondé sur les preuves.
Captures d'écran
Page principale — soumission et synthèse en temps réel
À propos — concept et posture éditoriale
Fonctionnement — parcours d'une contribution
Flyer QR — diffusion physique imprimable
Fonctionnalités
| Fonctionnalité | Description |
|---|---|
| Soumission libre | Formulaire texte avec pseudonyme optionnel |
| Modération IA | Filtre automatique fondé sur le droit international |
| Synthèse thématique | Résumé en temps réel par Mistral Large |
| Export PDF | Synthèse mise en page, générée côté client |
| Partage horodaté | Copie dans le presse-papier ou partage natif mobile |
| Flyer QR imprimable | Flyer A4 avec QR code configuré sur votre domaine |
| Dark mode | Thème sombre pétrol |
| Accessibilité | Police dyslexie · Contraste élevé · Texte agrandi · Navigation clavier |
Stack technique
| Couche | Technologie |
|---|---|
| Frontend | React 18 · TypeScript · Vite 7 · Tailwind CSS · shadcn/ui |
| Backend | Python 3.11 · Flask 3 · Gunicorn |
| Base de données | PostgreSQL 15 |
| IA — modération | Mistral Small (mistral-small-latest) |
| IA — synthèse | Mistral Large (mistral-large-latest) |
| QR code | qrcode.react |
Installation rapide (RockyLinux)
Voir le guide complet → docs/INSTALL_ROCKY.md
# Cloner le dépôt
git clone https://homegit.gyozamancave.fr/billisdead/la-voix-du-peuple.git
cd la-voix-du-peuple
# Configurer l'environnement
cp .env.example .env
vim .env # DATABASE_URL, MISTRAL_API_KEY, SESSION_SECRET
# Définir le domaine et construire le frontend
bash scripts/set-domain.sh https://votredomaine.fr
# Démarrer les services
systemctl start voix-du-peuple-api
systemctl start nginx
Le site écoute sur le port HTTP 8080. Vous gérez le HTTPS en amont.
Variables d'environnement clés
DATABASE_URL=postgresql://user:pass@localhost:5432/voix_du_peuple
MISTRAL_API_KEY=sk-...
SESSION_SECRET=une-longue-chaine-aleatoire
VITE_APP_URL=https://votredomaine.fr
Changer de domaine (QR code)
bash scripts/set-domain.sh https://nouveaudomaine.fr
systemctl reload nginx
Synchroniser avec ce dépôt (depuis Replit)
bash scripts/push-gitea.sh
Prérequis : secret GITEA_TOKEN configuré dans Replit → Secrets.
Documentation
| Document | Contenu |
|---|---|
docs/DAT.md |
Architecture technique complète |
docs/DEX.md |
Guide d'exploitation et maintenance |
docs/WIKI.md |
Page wiki — présentation générale |
docs/INSTALL_ROCKY.md |
Installation sur RockyLinux 9 |
docs/GITEA_TUTO.md |
Synchronisation Replit → Gitea |
Licence
Projet personnel — tous droits réservés. Contactez l'auteur pour toute utilisation ou réutilisation.



