Files
mesreleves-php/CHANGELOG.md
T
2026-06-04 21:44:35 +02:00

4.5 KiB

Changelog

Toutes les modifications notables de MesRelevés sont documentées dans ce fichier.
Format : Keep a Changelog — versionnage Semver.


[1.0.1] — 2026-06-04

Ajouté

  • Page Carte — carte interactive (Leaflet + OpenStreetMap) affichant les lieux géolocalisés ayant des relevés ; marqueurs proportionnels au nombre de sources, popups avec détail des sources et lien vers la recherche ; compatible mode sombre
  • Mode sombre — détection automatique de la préférence système ; sélecteur clair / sombre / automatique dans la barre de navigation (mémorisé dans localStorage, sans flash au chargement) ; couverture complète des vues et composants
  • 2FA par e-mail — code PIN à 6 chiffres envoyé à la connexion dès qu'un serveur SMTP est configuré ; code valable 10 minutes, renvoi possible
  • Configuration SMTP depuis l'interface — formulaire dans Administration → Paramètres du site avec test de connexion en temps réel ; activation du 2FA automatique à l'enregistrement
  • Import / export CSV utilisateurs — import en masse avec détection automatique du séparateur (;/,), validation par ligne, génération de mot de passe aléatoire ; export filtré au format CSV UTF-8 BOM (compatible Excel)
  • Filtre actif / inactif sur la liste des utilisateurs
  • Titre du site configurable depuis les paramètres (sans éditer .env)
  • Version affichée dans Administration → Paramètres du site avec indicateur de mise à jour disponible
  • Option de désactivation des mises à jour automatiques dans les paramètres
  • Sélecteur d'utilisateur avec recherche — fenêtre modale remplaçant les <select> pour l'ajout de membres aux sections et sources (adapté à plusieurs centaines d'utilisateurs)
  • public/servercheck.php — outil de diagnostic serveur autonome (PHP, extensions, répertoires, test BDD) pour les environnements de test

Modifié

  • Assistant d'installation — auto-création du .env minimal (clé temporaire, drivers fichier) à la première requête si aucun .env n'existe, évitant l'erreur 500 sur un serveur vierge
  • .htaccess — ajout de FallbackResource /index.php en fallback pour les hébergements sans mod_rewrite
  • Logo dans la navigation — contraint par max-height inline pour s'adapter à la hauteur de la barre sans débordement
  • Panneau "Paramètres généraux" remonté en première position dans la page de paramètres
  • README — procédure d'installation mutualisée (PHP + MySQL) mise en avant ; procédure Docker corrigée (stack réelle : PHP-FPM + Nginx + PostgreSQL, sans Redis)

Corrigé

  • Champs de formulaire illisibles en mode sombre (texte clair sur fond clair) — règle CSS globale @layer base couvrant tous les <input>, <select>, <textarea>
  • Composant lieu-picker entièrement sans style en mode sombre
  • Erreur 500 à l'ouverture de /setup sur un serveur sans .env (MissingAppKeyException)
  • Menu Administration débordant hors de la zone visible en haut de l'écran

[1.0.0] — 2026-05-29

Ajouté

  • Scaffold Laravel 12 + PostgreSQL + authentification Breeze
  • Modèle de données complet : lieux (hiérarchie récursive), sections, dépôts, types de sources, sources, relevés (JSONB), utilisateurs et rôles
  • CRUD Lieux avec arbre hiérarchique et calcul automatique de nom_long
  • CRUD Sections, Dépôts, Types de sources (admin)
  • CRUD Sources avec assignation de membres et workflow de statut (à_faire → en_cours → à_valider → terminé)
  • Formulaire de saisie dynamique des relevés piloté par source_type_fields
  • Calendriers grégorien, julien et républicain avec conversion automatique
  • Recherche plein texte sur les relevés avec filtres (type, lieu, plage d'années)
  • Export GEDCOM 5.5.1 par source ou par sélection de recherche
  • Notifications in-app et par e-mail lors des transitions de statut
  • Interface d'administration : tableau de bord, gestion utilisateurs (actifs/inactifs), sections, types de lieux
  • Comptes actifs / inactifs avec statistiques de section dans le tableau de bord
  • Logo du site, favicon et contrôle des inscriptions publiques
  • Assistant d'installation web en 5 étapes (/setup)
  • Système de versioning et de mise à jour automatique (app:update, app:rollback)
  • Compatibilité MySQL / MariaDB en plus de PostgreSQL
  • Déploiement Docker (PHP-FPM + Nginx + PostgreSQL) via docker-compose.prod.yml