Commit Graph

6 Commits

Author SHA1 Message Date
cedricAbonnel f92e9425ed docs : config PHP-FPM recommandée et protection bots DokuWiki
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 10:16:02 +02:00
cedricAbonnel 0b8077e43c fix : orphelins search_index + SESSION_NAME non appliqué
- ArticleManager::getSearchIndex() : rebuild automatique si un UUID
  référencé dans search_index.json n'existe plus sur le disque (article
  supprimé hors CMS via rsync ou suppression manuelle). Même logique que
  getBySlug() qui nettoie déjà le slug_index à la volée.

- bootstrap.php : lire SESSION_NAME depuis $_ENV avant session_start(),
  permettant de personnaliser le nom du cookie de session via le .env.

- oidc/{start,callback,me}.php : inverser l'ordre des require pour charger
  config.php (dotenv) avant bootstrap.php, condition nécessaire pour que
  SESSION_NAME soit disponible au démarrage de la session.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 10:06:11 +02:00
cedricAbonnel 03120457a7 clean : retirer les articles de production de folio, garder data/site/
data/ ne doit pas contenir de données de site (articles, config, cache).
Seuls data/.gitkeep et data/site/ (exemples pour installation fraîche)
sont conservés. Le .gitignore est mis à jour en conséquence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 09:26:33 +02:00
cedricAbonnel 23acc1621f fix #54 : corriger autoloader PSR-4 — app/ → src/
L'autoloader mappait App\ vers app/ (inexistant).
Tous les namespaces App\ échouaient silencieusement sauf
quand les classes étaient chargées via require_once direct.
Première erreur visible : App\Http\Csrf introuvable → 500 sur /login/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 09:20:29 +02:00
cedricAbonnel 2c8e31baff deploy: documenter le workflow d'installation fraîche
- Ajoute .env.example avec toutes les variables requises (DB_DSN, OIDC_*,
  SMTP_*, SESSION_NAME, ADMIN_EMAIL…) — DB_DSN était absent et cassait
  database/migrate.php au premier déploiement.
- Clarifie migrate-init.php : réservé aux serveurs existants antérieurs au
  système de migrations ; pour une installation fraîche, migrate.php suffit
  (applique tout depuis migration_000).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 08:47:29 +02:00
Cedric Abonnel 8a85c15372 fix #29 : envoyer le lien magique par email (envoyer_mail_smtp) 2026-05-13 23:41:58 +02:00