# CLAUDE.md ## Ce qu'est ce dépôt **Folio** est un moteur de blog PHP. Ce répertoire est la **copie locale du dépôt Git** (`https://git.abonnel.fr/cedricAbonnel/folio`), branche DEV. Il contient uniquement le code du moteur — pas de données, pas de credentials. ## Architecture | Répertoire local | Site distant | Rôle | |-----------------|-------------|------| | `~/Projects/folio/` | — | Copie du dépôt Folio (branche DEV). On code ici. | | `~/Projects/varlog/` | varlog.a5l.fr | Sync bidirectionnelle des articles varlog. Sert de site de test pour le moteur. | | `~/Projects/fr.abonnel.www/` | www.abonnel.fr | Sync bidirectionnelle des articles abonnel.fr. A aussi servi au déploiement initial. | **abonnel.fr** utilise Folio mais se met à jour seul via son UpdateChecker interne (vérifie `version.txt` sur Gitea). Aucune action manuelle nécessaire côté serveur. ## Articles (`data/`) Les articles ne sont pas versionnés dans ce dépôt. Ils ont leur propre git local dans chaque workspace site (`~/Projects/varlog/data/`, `~/Projects/fr.abonnel.www/data/`), synchronisé de façon bidirectionnelle avec le serveur distant. ## Modifier le moteur Pour toute correction ou fonctionnalité : **créer un ticket et une PR**. 1. Coder ici dans `~/Projects/folio/` (branche feature) 2. **Tester sur varlog.a5l.fr** : ```bash ~/Projects/varlog/scripts/sync.sh # puis tester sur http://varlog.acegrp.lan ``` 3. Une fois validé, ouvrir une PR sur Gitea. Le commit doit inclure : - `public/version.txt` (bump semver) - `CHANGELOG.md` (entrée `### Ajouté / Corrigé / Modifié`) 4. Merger la PR → abonnel.fr se met à jour automatiquement. ## Données articles (`DATA_PATH`) Les articles sont stockés dans un répertoire **hors du dépôt Folio**, configurable via `DATA_PATH` dans `.env`. | Environnement | Chemin local | Chemin serveur | |--------------|-------------|----------------| | varlog | `~/Projects/varlog-data/` | `/srv/data/folio` | | abonnel.fr | `~/Projects/fr.abonnel.www-data/` | `/srv/data/folio` | Les scripts de sync (`pull-data.sh`, `push-data.sh`, `sync.sh`) utilisent `DATA_DIR` (overridable via env) pointant vers ces chemins locaux. ## Asymétrie de déploiement moteur | Site | Mécanisme | Raison | |------|-----------|--------| | varlog (test) | rsync depuis `~/Projects/folio/` | Itération rapide, pas de contrainte de stabilité | | abonnel.fr (prod) | `git pull origin main` sur le serveur | Contrôle via PR/merge, UpdateChecker autonome | Pour initialiser git sur un serveur abonnel.fr déployé via rsync : `scripts/git-init-remote.sh` ## Ne pas mettre ici - `.env` (credentials → dans chaque workspace site) - `data/` (articles → dans chaque workspace site) - `vendor/` (non versionné)