# 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 1. Connectez-vous à votre Gitea 2. Cliquez sur **+ New Repository** 3. Nom suggéré : `voix-du-peuple` 4. Laissez-le **vide** (pas de README, pas de .gitignore) 5. 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` --- ## Étape 2 — Ajouter Gitea comme remote depuis Replit Dans le shell Replit (onglet **Shell**) : ```bash # 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 : ```bash 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 : ```bash 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 : ```bash git remote set-url gitea https://VOTRE_TOKEN@git.mondomaine.fr/vous/voix-du-peuple.git ``` --- ## Étape 4 — Pousser le code ```bash # 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 : ```bash # Depuis le shell Replit git push gitea main ``` Si vous avez également modifié des fichiers directement sur Gitea : ```bash git pull gitea main --rebase git push gitea main ``` --- ## Étape 6 — Cloner depuis Gitea sur votre serveur de production Sur votre serveur RockyLinux / Debian : ```bash 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 ```bash # 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 | ```bash # 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 ```