Update several documentation files (.toml, .md) to reflect new features such as a QR code flyer page, share/PDF export buttons, and dependency updates, including version increments to v1.1. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 923ae0e3-a363-4db8-b04a-e8baca2a1330 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 88b9da52-be77-4c86-854b-f097a8c7ae86 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8af7d2ec-2cc3-4ece-8af3-9f071488d072/923ae0e3-a363-4db8-b04a-e8baca2a1330/Z3YUti7 Replit-Helium-Checkpoint-Created: true
4.5 KiB
Récupérer le projet sur Gitea
Ce tutoriel explique comment pousser le code de La Voix du Peuple depuis Replit vers votre instance Gitea, et comment vous synchroniser ensuite à votre rythme.
État du dépôt : branche
main, 10 commits. Remote actif :gitsafe-backup.
Prérequis
- Une instance Gitea accessible (ex.
https://git.mondomaine.fr) - Un compte avec les droits de création de dépôt
- Git installé localement (si vous travaillez aussi depuis votre poste)
Étape 1 — Créer le dépôt sur Gitea
- Connectez-vous à votre Gitea
- Cliquez sur + New Repository
- Nom suggéré :
voix-du-peuple - Laissez-le vide (pas de README, pas de .gitignore)
- Notez l'URL du dépôt — elle ressemble à :
- SSH :
git@git.mondomaine.fr:vous/voix-du-peuple.git - HTTPS :
https://git.mondomaine.fr/vous/voix-du-peuple.git
- SSH :
Étape 2 — Ajouter Gitea comme remote depuis Replit
Dans le shell Replit (onglet Shell) :
# Vérifier les remotes actuels
git remote -v
# Ajouter votre Gitea comme remote (choisissez SSH ou HTTPS)
git remote add gitea git@git.mondomaine.fr:vous/voix-du-peuple.git
# ou en HTTPS :
git remote add gitea https://git.mondomaine.fr/vous/voix-du-peuple.git
# Vérifier
git remote -v
Étape 3 — Configurer l'authentification
Option A — SSH (recommandé)
Générez une clé SSH dans le shell Replit si vous n'en avez pas :
ssh-keygen -t ed25519 -C "replit-voix-du-peuple"
cat ~/.ssh/id_ed25519.pub
Copiez la clé publique affichée et ajoutez-la dans Gitea : Paramètres → Clés SSH → Ajouter une clé
Testez la connexion :
ssh -T git@git.mondomaine.fr
Option B — HTTPS avec token
Dans Gitea : Paramètres → Applications → Générer un token
Utilisez l'URL avec token :
git remote set-url gitea https://VOTRE_TOKEN@git.mondomaine.fr/vous/voix-du-peuple.git
Étape 4 — Pousser le code
# Premier push (établit le tracking)
git push -u gitea main
# Pour les push suivants
git push gitea main
Étape 5 — Récupérer les mises à jour depuis Replit
Chaque fois que vous voulez synchroniser votre Gitea avec l'état actuel du projet Replit :
# Depuis le shell Replit
git push gitea main
Si vous avez également modifié des fichiers directement sur Gitea :
git pull gitea main --rebase
git push gitea main
Étape 6 — Cloner depuis Gitea sur votre serveur de production
Sur votre serveur RockyLinux / Debian :
git clone git@git.mondomaine.fr:vous/voix-du-peuple.git
cd voix-du-peuple
# Copier et adapter les variables d'environnement
cp .env.example .env
nano .env # Renseignez DATABASE_URL, MISTRAL_API_KEY, SESSION_SECRET
# Installer les dépendances Python
pip install -r artifacts/flask-api/requirements.txt
# Installer les dépendances Node
pnpm install
# Construire le frontend
pnpm --filter @workspace/voix-du-peuple run build --config vite.config.selfhost.ts
Résumé des commandes utiles
# Voir l'état du dépôt
git status
git log --oneline -10
# Synchroniser vers Gitea
git push gitea main
# Récupérer depuis Gitea
git pull gitea main
# Voir les remotes configurés
git remote -v
Structure des branches
| Branche | Usage |
|---|---|
main |
Code de production, stable — seule branche à pousser vers Gitea |
replit-agent |
Branche de travail interne de l'agent Replit — ne pas pousser |
# Pousser uniquement main
git push gitea main
Contenu du dépôt (structure principale)
artifacts/
flask-api/ ← Backend Python Flask
app.py ← Routes API
ai_agent.py ← Intégration Mistral / OpenAI
database.py ← Accès PostgreSQL
requirements.txt ← Dépendances Python
voix-du-peuple/ ← Frontend React + Vite
src/
pages/
home.tsx ← Page principale (synthèse, partage, PDF)
about.tsx ← À propos
transparence.tsx ← Fonctionnement & données
flyer.tsx ← Flyer QR code imprimable
App.tsx ← Routing et navbar
index.css ← Styles globaux + @media print
deploy/
nginx.conf ← Config Nginx production
voix-du-peuple-api.service ← Unité systemd Gunicorn
docs/
DAT.md ← Architecture technique
DEX.md ← Exploitation
WIKI.md ← Page wiki
GITEA_TUTO.md ← Ce fichier