Add a detailed README file with project explanation and screenshots
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
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
# 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 :
|
||||
|
||||
1. **Filtrée** par une IA selon le droit international des droits humains (DUDH, PIDCP, CEDH, Charte UE, CERD, Statut de Rome)
|
||||
2. **Intégrée** à une synthèse collective structurée par thèmes
|
||||
3. **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`](docs/INSTALL_ROCKY.md)
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```env
|
||||
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
|
||||
bash scripts/set-domain.sh https://nouveaudomaine.fr
|
||||
systemctl reload nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Synchroniser avec ce dépôt (depuis Replit)
|
||||
|
||||
```bash
|
||||
bash scripts/push-gitea.sh
|
||||
```
|
||||
|
||||
Prérequis : secret `GITEA_TOKEN` configuré dans Replit → Secrets.
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
| Document | Contenu |
|
||||
|----------|---------|
|
||||
| [`docs/DAT.md`](docs/DAT.md) | Architecture technique complète |
|
||||
| [`docs/DEX.md`](docs/DEX.md) | Guide d'exploitation et maintenance |
|
||||
| [`docs/WIKI.md`](docs/WIKI.md) | Page wiki — présentation générale |
|
||||
| [`docs/INSTALL_ROCKY.md`](docs/INSTALL_ROCKY.md) | Installation sur RockyLinux 9 |
|
||||
| [`docs/GITEA_TUTO.md`](docs/GITEA_TUTO.md) | Synchronisation Replit → Gitea |
|
||||
|
||||
---
|
||||
|
||||
## Licence
|
||||
|
||||
Projet personnel — tous droits réservés. Contactez l'auteur pour toute utilisation ou réutilisation.
|
||||
Reference in New Issue
Block a user