213a67e612
Add DAT, DEX, GITEA_TUTO, and WIKI markdown files to the docs directory, and update agent_assets_metadata.toml to include these new documents. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 923ae0e3-a363-4db8-b04a-e8baca2a1330 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 4bb1a658-d577-451e-965c-fa15e2c21ca9 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8af7d2ec-2cc3-4ece-8af3-9f071488d072/923ae0e3-a363-4db8-b04a-e8baca2a1330/RusmVRz Replit-Helium-Checkpoint-Created: true
2.7 KiB
2.7 KiB
La Voix du Peuple — Page wiki
Type : Plateforme civique numérique
Stack : Python / Flask · React / Vite · PostgreSQL · Mistral AI
Hébergement : Replit (dev) / Auto-hébergeable (RockyLinux, Debian)
Dépôt : voix-du-peuple (Gitea)
Statut : Actif — avril 2026
Qu'est-ce que c'est ?
Un outil permettant à des citoyens de soumettre des propositions politiques en texte libre. Ces propositions sont :
- filtrées automatiquement par une IA selon les textes internationaux des droits humains (DUDH, PIDCP, CEDH…)
- synthétisées en un résumé structuré par thèmes, destiné à des élus ou décideurs
- affichées en temps réel sur la page principale
L'objectif est de fournir aux représentants politiques un document clair et utilisable issu des préoccupations citoyennes, sans intermédiaire.
Fonctionnement en 5 points
- Un citoyen saisit une proposition sur la page principale
- L'IA (Mistral Small) vérifie que le contenu respecte les droits fondamentaux
- Si la contribution est acceptée, elle s'ajoute à la base et déclenche une re-synthèse
- L'IA (Mistral Large) relit toutes les contributions et produit un résumé thématique
- Le résumé s'affiche en temps réel à droite de l'écran
Pages de l'application
| URL | Contenu |
|---|---|
/ |
Formulaire de soumission + contributions récentes + synthèse |
/about |
Description du projet et fondements juridiques |
/transparence |
Fonctionnement de l'IA, données collectées, limites |
Stack technique
| Couche | Technologie |
|---|---|
| Frontend | React 18 + TypeScript + Vite 7 + Tailwind CSS |
| Backend | Python 3.11 + Flask 3 + Gunicorn |
| Base de données | PostgreSQL |
| IA | Mistral AI (API OpenAI-compatible) |
| Modération | mistral-small-latest |
| Synthèse | mistral-large-latest |
| Police | Bahnschrift (titres), Inter (corps) |
Variables d'environnement clés
DATABASE_URL — URL PostgreSQL
MISTRAL_API_KEY — Clé API Mistral
SESSION_SECRET — Secret Flask
FILTER_MODEL — Modèle de modération (optionnel)
SYNTHESIS_MODEL — Modèle de synthèse (optionnel)
Données collectées
- Texte de la contribution
- Pseudonyme (facultatif, choisi par l'utilisateur)
- Horodatage
- Résultat du filtre IA (accepté / refusé + motif)
Non collecté : adresse IP, compte utilisateur, cookies de suivi.
Liens
- Tutoriel Gitea →
docs/GITEA_TUTO.md - Architecture technique →
docs/DAT.md - Exploitation →
docs/DEX.md - Guide déploiement →
DEPLOIEMENT.md - Fonctionnement technique (in-app) →
/transparence