f10de55132
Add instructions to the Gitea tutorial documentation for pushing code. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 923ae0e3-a363-4db8-b04a-e8baca2a1330 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 365208ed-cc99-4698-a1e5-0a1c20a7de3d Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8af7d2ec-2cc3-4ece-8af3-9f071488d072/923ae0e3-a363-4db8-b04a-e8baca2a1330/vOeFCU4 Replit-Helium-Checkpoint-Created: true
194 lines
4.5 KiB
Markdown
194 lines
4.5 KiB
Markdown
# 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
|
|
8
|
|
```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
|
|
```
|