Update documentation and push code to Gitea repository

Update documentation files (DAT.md, DEX.md, WIKI.md) to version 1.4, incorporating changes related to Gitea synchronization, the `GITEA_TOKEN` secret, and the `scripts/push-gitea.sh` script.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 923ae0e3-a363-4db8-b04a-e8baca2a1330
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: cae3c6dc-0372-4c09-9980-7184f80535a3
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8af7d2ec-2cc3-4ece-8af3-9f071488d072/923ae0e3-a363-4db8-b04a-e8baca2a1330/qCk7LE3
Replit-Helium-Checkpoint-Created: true
This commit is contained in:
pironantoine
2026-04-04 14:09:32 +00:00
parent fc0c9f2e9a
commit 50bc1f5ce9
3 changed files with 30 additions and 6 deletions
+4 -1
View File
@@ -1,6 +1,6 @@
# Document d'Architecture Technique — La Voix du Peuple # Document d'Architecture Technique — La Voix du Peuple
**Version** : 1.3 **Version** : 1.4
**Date** : Avril 2026 **Date** : Avril 2026
**Statut** : En production (Replit), prêt pour auto-hébergement **Statut** : En production (Replit), prêt pour auto-hébergement
@@ -14,6 +14,7 @@
| 1.1 | Avril 2026 | Ajout page Flyer QR, boutons Partager / PDF, `qrcode.react` | | 1.1 | Avril 2026 | Ajout page Flyer QR, boutons Partager / PDF, `qrcode.react` |
| 1.2 | Avril 2026 | Palette pétrol neutre, textes de posture (expression vs. vérité) | | 1.2 | Avril 2026 | Palette pétrol neutre, textes de posture (expression vs. vérité) |
| 1.3 | Avril 2026 | Dark mode pétrol, panneau d'accessibilité (dyslexie, contraste, zoom) | | 1.3 | Avril 2026 | Dark mode pétrol, panneau d'accessibilité (dyslexie, contraste, zoom) |
| 1.4 | Avril 2026 | Synchronisation Gitea sécurisée — `GITEA_TOKEN` + `scripts/push-gitea.sh` |
--- ---
@@ -209,6 +210,7 @@ Deux appels distincts à l'API Mistral (compatible OpenAI SDK) :
| `DATABASE_URL` | ✅ | URL PostgreSQL complète | | `DATABASE_URL` | ✅ | URL PostgreSQL complète |
| `MISTRAL_API_KEY` | ✅ (ou OpenAI) | Clé API Mistral | | `MISTRAL_API_KEY` | ✅ (ou OpenAI) | Clé API Mistral |
| `SESSION_SECRET` | ✅ | Secret Flask (sessions) | | `SESSION_SECRET` | ✅ | Secret Flask (sessions) |
| `GITEA_TOKEN` | ✅ (pour push) | Token d'accès Gitea — utilisé par `scripts/push-gitea.sh` |
| `FILTER_MODEL` | — | Modèle de filtrage (défaut : `mistral-small-latest`) | | `FILTER_MODEL` | — | Modèle de filtrage (défaut : `mistral-small-latest`) |
| `SYNTHESIS_MODEL` | — | Modèle de synthèse (défaut : `mistral-large-latest`) | | `SYNTHESIS_MODEL` | — | Modèle de synthèse (défaut : `mistral-large-latest`) |
| `OPENAI_API_KEY` | — | Alternative à Mistral | | `OPENAI_API_KEY` | — | Alternative à Mistral |
@@ -231,6 +233,7 @@ Internet ──▶ HAProxy (TLS, load balancing)
- `deploy/nginx.conf` — Configuration Nginx avec HAProxy support - `deploy/nginx.conf` — Configuration Nginx avec HAProxy support
- `deploy/voix-du-peuple-api.service` — Unité systemd pour Gunicorn - `deploy/voix-du-peuple-api.service` — Unité systemd pour Gunicorn
- `artifacts/voix-du-peuple/vite.config.selfhost.ts` — Build sans plugins Replit - `artifacts/voix-du-peuple/vite.config.selfhost.ts` — Build sans plugins Replit
- `scripts/push-gitea.sh` — Push sécurisé vers Gitea (compatible Git 2.50+, lit `GITEA_TOKEN`)
--- ---
+22 -4
View File
@@ -1,6 +1,6 @@
# Document d'Exploitation — La Voix du Peuple # Document d'Exploitation — La Voix du Peuple
**Version** : 1.3 **Version** : 1.4
**Date** : Avril 2026 **Date** : Avril 2026
--- ---
@@ -13,6 +13,7 @@
| 1.1 | Avril 2026 | Ajout section flyer QR, export PDF, partage horodaté | | 1.1 | Avril 2026 | Ajout section flyer QR, export PDF, partage horodaté |
| 1.2 | Avril 2026 | Palette pétrol neutre, textes de posture sur l'expression vs. vérité | | 1.2 | Avril 2026 | Palette pétrol neutre, textes de posture sur l'expression vs. vérité |
| 1.3 | Avril 2026 | Dark mode pétrol, panneau d'accessibilité (dyslexie, contraste, zoom) | | 1.3 | Avril 2026 | Dark mode pétrol, panneau d'accessibilité (dyslexie, contraste, zoom) |
| 1.4 | Avril 2026 | Synchronisation Gitea sécurisée — `GITEA_TOKEN` + `scripts/push-gitea.sh` |
--- ---
@@ -89,7 +90,7 @@ SESSION_SECRET=une-longue-chaine-aleatoire-securisee
# Depuis votre serveur, après un git pull # Depuis votre serveur, après un git pull
cd /opt/voix-du-peuple cd /opt/voix-du-peuple
git pull gitea main git pull origin main
# Mettre à jour les dépendances Python si requirements.txt a changé # Mettre à jour les dépendances Python si requirements.txt a changé
pip install -r artifacts/flask-api/requirements.txt pip install -r artifacts/flask-api/requirements.txt
@@ -349,11 +350,28 @@ Toutes les occurrences de `--primary` dans le fichier CSS s'appliquent automatiq
--- ---
## 15. Contacts et ressources ## 15. Synchronisation avec Gitea
Pour pousser le code depuis Replit vers Gitea (après chaque session de travail) :
```bash
bash scripts/push-gitea.sh
```
**Prérequis** : le secret `GITEA_TOKEN` doit être configuré dans Replit → Secrets.
> **Contexte** : Git 2.50+ ignore les tokens embarqués dans les URLs. Le script contourne ce comportement en transmettant les identifiants via l'en-tête HTTP `Authorization: Basic` (encodage Base64). Voir `docs/GITEA_TUTO.md` pour le détail complet.
Pour régénérer un token Gitea : **Paramètres du compte Gitea → Applications → Générer un token**
Permissions requises : `repository` (lecture + écriture).
---
## 16. Contacts et ressources
- Documentation Mistral : https://docs.mistral.ai - Documentation Mistral : https://docs.mistral.ai
- PostgreSQL : https://www.postgresql.org/docs/ - PostgreSQL : https://www.postgresql.org/docs/
- Flask : https://flask.palletsprojects.com - Flask : https://flask.palletsprojects.com
- qrcode.react : https://github.com/zpao/qrcode.react - qrcode.react : https://github.com/zpao/qrcode.react
- Guide de déploiement complet : `DEPLOIEMENT.md`
- Architecture : `docs/DAT.md` - Architecture : `docs/DAT.md`
- Synchronisation Gitea : `docs/GITEA_TUTO.md`
+4 -1
View File
@@ -5,7 +5,7 @@
**Hébergement** : Replit (dev) / Auto-hébergeable (RockyLinux, Debian) **Hébergement** : Replit (dev) / Auto-hébergeable (RockyLinux, Debian)
**Dépôt** : `voix-du-peuple` (Gitea) **Dépôt** : `voix-du-peuple` (Gitea)
**Statut** : Actif — avril 2026 **Statut** : Actif — avril 2026
**Version doc** : 1.3 **Version doc** : 1.4
--- ---
@@ -73,6 +73,8 @@ Page `/flyer` : flyer format A4 avec grand QR code. L'URL encodée est modifiabl
| QR code | `qrcode.react` | | QR code | `qrcode.react` |
| Police | Bahnschrift (titres), Inter (corps) | | Police | Bahnschrift (titres), Inter (corps) |
| Couleur principale | Pétrol foncé `hsl(185 42% 28%)` — sans connotation partisane | | Couleur principale | Pétrol foncé `hsl(185 42% 28%)` — sans connotation partisane |
| Accessibilité | Dark mode · Police dyslexie · Contraste élevé · Texte agrandi (panneau dans la navbar) |
| Dépôt | Gitea — push via `bash scripts/push-gitea.sh` (token `GITEA_TOKEN`) |
--- ---
@@ -82,6 +84,7 @@ Page `/flyer` : flyer format A4 avec grand QR code. L'URL encodée est modifiabl
DATABASE_URL — URL PostgreSQL DATABASE_URL — URL PostgreSQL
MISTRAL_API_KEY — Clé API Mistral MISTRAL_API_KEY — Clé API Mistral
SESSION_SECRET — Secret Flask SESSION_SECRET — Secret Flask
GITEA_TOKEN — Token d'accès Gitea (push sécurisé)
FILTER_MODEL — Modèle de modération (optionnel) FILTER_MODEL — Modèle de modération (optionnel)
SYNTHESIS_MODEL — Modèle de synthèse (optionnel) SYNTHESIS_MODEL — Modèle de synthèse (optionnel)
``` ```