- 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>
- ExportController::sourceCsv() : génère un CSV avec BOM UTF-8 (compatible Excel)
séparateur point-virgule, en-têtes = labels des champs, valeurs formatées
(dates avec calendrier si non grégorien, lieux = nom_long, booléens Oui/Non)
- Route GET export/source/{source}/csv → export.source.csv
- Boutons ↓ CSV et ↓ GEDCOM dans la section relevés de la fiche source
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Dark mode complet : darkMode:'class' Tailwind, sélecteur clair/sombre/auto
dans la navigation (mémorisé dans localStorage, sans flash au chargement) ;
53 vues et 8 composants Breeze mis à jour avec classes dark:
- Composant user-picker : fenêtre modale avec recherche temps réel (nom/email)
remplace les <select> d'ajout de membres dans sections et sources
- Paramètres : option "Désactiver la vérification automatique des mises à jour"
(case à cochage auto-soumise, route POST parametres/updates)
- Panneau "Paramètres généraux" remonté en tête de la page de paramètres
- README recentré sur l'installation manuelle hébergement PHP+MySQL
- VERSION 1.0.1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Utilisateurs actifs/inactifs :
- Migration : colonne is_active (boolean, default true) sur users
- Middleware EnsureUserIsActive : déconnecte les utilisateurs désactivés sur chaque requête
- LoginRequest : bloque la connexion si is_active=false (message explicite)
- Admin : bouton Activer/Désactiver dans la liste et la page d'édition
Protections : impossible de désactiver son propre compte ou le dernier admin actif
- Badge « Inactif » + opacité réduite sur la ligne dans la liste admin
- Sélection de membres (sources) : filtre is_active=true
Sources liées aux sections :
- Migration : colonne section_id nullable FK sur sources
- Source::section() BelongsTo + Section::sources() HasMany
- Formulaire sources/_form : sélecteur de section (sections de l'utilisateur ou toutes pour admin)
- SourceController : passe les sections disponibles aux vues create/edit
Tableau de bord enrichi (DashboardController) :
- Membres et responsables : stats par section (sources par statut, total relevés)
compteurs cliquables → liste filtrée, sources récentes de la section
- Mes sources assignées (tri par urgence) + mes derniers relevés (inchangés)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>