Commit Graph

5 Commits

Author SHA1 Message Date
yann64 6a73a2f001 Gestion utilisateurs, limites recherche, filtres lieux/sources, fix logo prod
- Admin : CRUD complet utilisateurs (créer, modifier nom/email/mdp/rôle, supprimer)
  avec garde-fous (dernier admin, compte propre)
- Recherche : limite configurable par l'admin (défaut 200), bannière d'avertissement
  quand la limite est atteinte, plus de pagination (résultats en bloc)
- Lieux : liste non chargée sans filtre actif (performance sur grands volumes)
- Sources : idem pour admin/responsables ; membres voient toujours leurs sources
- Logo 404 prod : +FollowSymLinks dans .htaccess, storage:link dans l'assistant
  d'installation, bouton "Recréer le lien" dans Administration → Paramètres

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 03:39:06 +02:00
yann64 5acc6ff5c8 Fix wizard : auto-création du .env minimal quand absent au démarrage
Sans .env, Laravel lève MissingAppKeyException avant que le moindre
middleware ou contrôleur ne s'exécute, rendant /setup inaccessible.

public/index.php génère maintenant un .env depuis .env.example avec
une APP_KEY temporaire (random_bytes 32) et force SESSION_DRIVER=file,
CACHE_STORE=file, QUEUE_CONNECTION=sync pour un boot sans base de données.
Le wizard remplace ce fichier lors de l'installation définitive.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 21:41:51 +02:00
yann64 2e6ac29e95 Ajout de public/servercheck.php (outil de diagnostic serveur)
Fichier autonome (sans dépendance Laravel) vérifiant :
- Version PHP (≥ 8.2)
- Extensions requises et optionnelles
- Directives php.ini (memory_limit, upload_max_filesize…)
- Répertoires accessibles en écriture (storage/, bootstrap/cache/)
- Présence des fichiers clés (.env, vendor, assets compilés)
- Test de connexion BDD (MySQL / PostgreSQL) via formulaire
Interface HTML auto-adaptative (dark mode OS), sans dépendance externe.

À exclure des archives de production (--exclude public/servercheck.php
dans le rsync de build-release).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 21:35:55 +02:00
yann64 6f55663984 Fallback routing sans mod_rewrite via FallbackResource
Utilise mod_rewrite si disponible, sinon FallbackResource (Apache 2.2.16+,
aucun module supplémentaire requis) pour les hébergements mutualisés
qui n'ont pas mod_rewrite activé.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 20:30:36 +02:00
yann64 7609d35287 Initial scaffold : Laravel 12 + PostgreSQL + auth + domaine métier (étapes 1-5)
- Laravel 12 sur PHP 8.5, Breeze (Blade/Tailwind/Alpine.js)
- Docker Compose dev (PostgreSQL 18 + Redis) et prod (stack complète + nginx)
- Migrations et models : lieux, sections, dépôts, source_types/fields, sources, relevés
  - Colonne JSONB data sur releves avec colonnes générées indexées (nom, prenom, date_evenement)
  - Index GIN pour la recherche fulltext
- Enums : UserRole, SourceStatus (avec transitions), CalendarType, FieldType
- RoleMiddleware (alias `role`) + helpers isAdmin/isSectionManager sur User
- CRUD Lieux (arbre hiérarchique, calcul nom_long en cascade)
- CRUD admin : Sections (+ gestion membres), Dépôts, Types de sources (+ champs dynamiques, drag & drop)
- CRUD Sources : visibilité filtrée par rôle, assignation membres, workflow de statut

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 16:16:37 +02:00