Changelog — Hub GCMLab

Version actuelle : v1.59

v1.59 Actuelle 2026-08-14

Tuile Pompes — statistique des pompes en spare

  • La tuile Pompes affiche désormais le nombre de pompes en spare, sous celles en service et en arrêt
v1.58 2026-08-12

Tuiles Hub — statistiques et rappels discrets

  • Le badge « Disponible » est remplacé par des statistiques détaillées par module : nombre de projets en cours et en attente, pompes en service et à l'arrêt, équipements suivis, inventaires, demandes actives, ententes actives et commandes en attente de réception
  • « Indisponible » reste affiché quand l'utilisateur n'a pas accès au module
  • Tuiles légèrement agrandies pour accueillir les statistiques
  • Les statistiques s'affichent en texte simple, sans encadré ni fond coloré
  • Les rappels (Facturation à faire, Maintenance à faire, Nouvelle note, Nouvelle demande) ne clignotent plus : pastilles discrètes à fond orange pâle avec point indicateur, positionnées en bas à droite de la tuile
v1.57 2026-08-12

Hub — correctifs sécurité externe (audit)

  • Listing de répertoire désactivé sur le serveur local du Hub (plus d'énumération de /static/ et des dossiers sans index)
  • Documentation interactive de l'API (Swagger /docs, /redoc, /openapi.json) désactivée par défaut sur tous les modules — réactivation uniquement via ENABLE_API_DOCS=1
  • Limitation des tentatives de connexion (anti brute-force) : 10 essais max par IP sur 5 minutes, puis refus temporaire 429
v1.56 2026-08-11

Hub — audit et renforcement de la sécurité

  • Validation des hôtes autorisés (ALLOWED_HOSTS / HUB_ALLOWED_HOSTS) pour toutes les redirections et URL publiques : un header Host non autorisé est ignoré et remplacé par l'hôte de confiance (anti open-redirect)
  • En-têtes de sécurité ajoutés sur toutes les réponses : X-Content-Type-Options (nosniff), X-Frame-Options (DENY), Referrer-Policy (same-origin)
  • Limite de taille des corps de requête (25 Mo) pour limiter les attaques par déni de service via le proxy
  • Déconnexion en POST uniquement (anti-CSRF) : un GET /logout est désormais relayé en POST vers le module Projets au lieu de renvoyer une erreur 405
v1.55 2026-08-07

Hub — écran de chargement avant affichage des tuiles

  • Le contenu du Hub (tuiles, en-tête) reste masqué tant que la session n'est pas vérifiée
  • Un écran de chargement discret (spinner « Vérification de la session… ») apparaît en premier, puis l'invite de connexion le cas échéant
  • Le Hub n'est plus visible avant la redirection vers la page de connexion
  • Le serveur nginx n'utilise plus la mise en cache du navigateur pour les pages HTML (no-cache), pour éviter qu'une ancienne version de la page s'affiche
v1.54 2026-08-07

Hub — point retiré entre la version et le crédit

  • Le point « · » entre le numéro de version et « Christophe Clément™ » est retiré
  • Un léger espacement est conservé entre les deux éléments
v1.53 2026-08-07

Tuile Inventaires — description mise à jour

  • Description de la tuile Inventaires : « Suivi des inventaires du/des laboratoires. »
v1.52 2026-08-07

Tuiles du Hub — séparateur sous le titre

  • Un petit séparateur discret (courte ligne) est ajouté entre le titre et la description de chaque tuile, aux couleurs du thème choisi
v1.51 2026-08-07

Tuiles du Hub — titres centrés et agrandis

  • Le titre de chaque tuile est centré horizontalement dans la tuile
  • La taille de la police du titre est légèrement augmentée
v1.50 2026-08-05

Tuiles du Hub — suppression des préfixes GCMLab et LMF

  • Les titres des tuiles n'affichent plus les préfixes « GCMLab : » et « LMF : », seul le nom du module est conservé
v1.49 2026-08-03

Version et changelog réservés aux administrateurs

  • Le numéro de version et le lien « Changelog » n'apparaissent plus que pour les administrateurs
  • La page Changelog redirige les autres utilisateurs vers l'accueil
v1.48 2026-08-03

Tuile Calibrations — libellé

  • La tuile du module Calibrations est renommée « GCMLab: Suivi des équipements »
v1.47 2026-08-03

Audit et renforcement de la sécurité

  • Clé de session partagée GCMLAB_SECRET_KEY obligatoire sur tous les modules : les applications refusent désormais de démarrer avec une clé par défaut
  • Compte de démonstration christophe supprimé (migration automatique : compte effacé si aucune donnée, changement de mot de passe forcé sinon)
  • Contrôle d'accès renforcé : les routes d'administration en écriture (Projets) exigent le rôle Admin
  • XSS corrigé dans le module Suivi des demandes : le Markdown est assaini (DOMPurify) avant affichage
  • Suppression du rendu non échappé (tojson) dans Projets et Pompes
  • Correction du lien « Retour au Hub » depuis Projets : il pointe vers la racine du site au lieu du port 8080
v1.46 2026-08-02

Correction session — session-status (dev)

  • Proxy /projets/api/session-status via le hub : plus de déconnexion intempestive toutes les 5 minutes en développement local
  • La déconnexion automatique après 2 h d'inactivité et la déconnexion manuelle sont maintenant cohérentes entre le hub et les modules
v1.45 2026-07-24

Disposition des tuiles du hub

  • Ligne du haut : trois modules GCMLab (Projets, Données, Inventaires)
  • Ligne du bas : Ententes à gauche, Pompes et Demandes LMF au centre et à droite
v1.44 2026-07-17

Alerte arc-en-ciel — Améliorations

  • Pour l'administrateur : le lien « Améliorations » s'illumine en arc-en-ciel s'il y a des suggestions en attente
  • L'effet disparaît lorsque toutes les suggestions sont traitées
v1.43 2026-07-17

Modération Améliorations — repli par année

  • Correction du repli/dépli des suggestions par année (▲ / ▼)
v1.42 2026-07-17

Améliorations — liste utilisateur et modération admin

  • Mes suggestions : bouton « Retirer de ma liste » une fois la suggestion traitée
  • Modération admin : suggestions regroupées par année, dépliables (▲ / ▼)
v1.41 2026-07-17

Correction page Améliorations

  • Suppression de la boucle de rechargement (login ↔ Améliorations)
  • Message d'erreur clair si l'API feedback Projets est indisponible
v1.40 2026-07-17

Améliorations & bugs (Hub)

  • Lien discret « Améliorations » en haut à gauche une fois connecté
  • Page pour signaler un bug ou proposer une amélioration par module
  • Administrateur : approuver, rejeter ou supprimer ; l'utilisateur voit ✓ Approuvé avec la date
v1.39 2026-07-15

Tuile Ententes & Suivi commandes

  • Tuile hub renommée : « GCMLab : Ententes & Suivi commandes »
v1.38 2026-07-12

Tuile Projets Industriels

  • Tuile hub renommée : « GCMLab : Projets Industriels »
v1.37 2026-07-11

Fond photo pour le thème GCM

  • Sous Thème → GCM : option « Fond photo » avec la photo du bâtiment
  • Disponible uniquement avec le thème GCM ; le choix est mémorisé dans le navigateur
v1.36 2026-07-10

Sélecteur de thème sur le Hub

  • Menu Thème (Bleu LMF, GCM, Forêt, Indigo, Ardoise) à côté de la déconnexion
  • Le choix est mémorisé dans le navigateur
v1.35 2026-07-10

Tuiles Hub selon accès modules

  • Chaque tuile peut être grisée si l'utilisateur n'a pas l'accès au module (réglage dans Projets → Utilisateurs)
  • Message d'erreur dédié lors d'un accès refusé
v1.34 2026-07-10

Espacement du titre GCMLab : Données

  • Tuile hub : « GCMLab : Données » (espace avant les deux-points)
v1.33 2026-07-10

Renommage des tuiles Projets, Pompes et Demandes

  • Tuiles hub : « GCMLab : Projets », « LMF : Suivi des pompes », « LMF : Suivi des demandes »
v1.32 2026-07-10

Renommage des tuiles Inventaires et Ententes

  • Tuiles hub : « GCMLab : Inventaires » et « GCMLab : Ententes »
v1.31 2026-07-05

Hub — grille des modules

  • Une seule tuile « Module à venir » (6 modules au total sur le hub)
v1.30 2026-07-05

Module LMF — Inventaires

  • Nouvelle tuile « LMF — Inventaires » (port dev 8005, chemin /inventaires/)
  • Proxy hub et stack Docker unifiée pour le module Inventaires
v1.29 2026-07-05

Tuile Calibrations — libellés

  • Titre : « GCMLab: Données »
  • Description : « Historique et suivi des données équipements »
v1.28 2026-07-05

Hub — libellés Calibrations

  • Tuile : « GCMLab: Suivi des données des équipements »
  • Phrase de pied de page sur la connexion unique retirée
v1.27 2026-07-02

Tuile Demandes — correction alertes en dev local

  • Hub :8080 utilise /demandes/api/hub-alerts (proxy) au lieu d'une URL 404
  • Les badges Nouvelle note / Nouvelle demande s'affichent correctement une fois connecté
v1.26 2026-07-02

Tuile Demandes — alertes personnalisées

  • Badges « Nouvelle note » et « Nouvelle demande » sur la tuile (comme Pompes / Projets)
  • Visibles uniquement pour le demandeur ou l'assigné concerné
  • Proxy /api/demandes/hub-alerts en développement local (port 8080)
v1.25 2026-06-21

Hub — déconnexion après inactivité

  • Vérification automatique de la session toutes les 5 minutes sur le Hub
  • Déconnexion et message d'expiration après 2 heures sans activité (onglet ouvert inclus)
v1.24 2026-06-21

Tuile Demandes — libellé raccourci

  • Titre de la tuile : « Suivi des demandes LMF »
v1.23 2026-06-21

Barre utilisateur Hub agrandie

  • Nom connecté et bouton Déconnexion plus visibles en haut à droite
v1.22 2026-06-21

Hub dev :8080 — tuiles via chemins

  • En local, les tuiles passent par /demandes/ etc. (redirect du hub) au lieu du port direct
v1.21 2026-06-21

Tuile Demandes — lien direct

  • Les tuiles modules ont un href réel (fonctionne même sans JavaScript)
  • Correction navigation vers /demandes/ depuis le Hub
v1.20 2026-06-21

En-tête Hub — utilisateur à droite

  • Nom d'utilisateur et bouton Déconnexion alignés à droite, au-dessus du logo
v1.19 2026-06-21

Tuile Projets sans accès

  • Badge « Indisponible » (même style que « Disponible ») pour les comptes Hub seulement
v1.18 2026-06-21

Tuile Projets selon les droits

  • La tuile GCMLab Projets est désactivée pour les comptes « Hub seulement »
v1.17 2026-06-21

Connexion unique GCMLab

  • Login obligatoire avant d'accéder au Hub (/login)
  • Session partagée — les autres modules n'ont plus de connexion séparée
  • Gestion des comptes uniquement dans GCMLab Projets
v1.16 2026-06-21

Ports développement local réalignés

  • Projets 8001, Pompes 8002, Calibrations 8003, Suivi des demandes 8004
v1.15 2026-06-21

Module Suivi des demandes — développement local

  • Tuile « Suivi des demandes — Gestion des maintenances » active (port dev 8003)
v1.14 2026-06-21

Alerte facturation — tuile Projets

  • Badge rouge clignotant « Facturation à faire » sur la tuile GCMLab Projets
  • Affiché lorsqu'au moins un projet est au statut A facturer
  • Proxy hub /api/projets/ et repli JavaScript (comme pour les pompes)
v1.13 2026-06-21

Nouvelles tuiles à venir

  • Trois tuiles supplémentaires sur la page d'accueil (même format que les modules actifs)
  • « Suivi des demandes — Gestion des maintenances » et deux emplacements « Module à venir » (badge Bientôt)
v1.12 2026-06-21

Tuile Calibrations — libellé GCM

  • Tuile « GCM — Données de calibration » (au lieu de LMF)
v1.11 2026-06-21

Module Calibrations disponible

  • Tuile « Données de calibration » active (port dev 8002, /calibrations/ en prod)
  • Lien vers le nouveau module LMF Calibrations
v1.10 2026-06-30

Alerte maintenance — Docker

  • Suppression du marqueur __POMPES_MAINTENANCE_ALERT__ à la génération des pages
  • Repli JavaScript si une ancienne page HTML est encore en cache
v1.09 2026-06-30

Page d'accueil — crédit et pied de page

  • Crédit simplifié : Christophe Clément™
  • Suppression de la mention « Intranet GCMLab » sous les tuiles
v1.08 2026-06-30

Stack unifiée — un seul port

  • Tuiles vers /projets/ et /pompes/ en production (ports 80/443)
  • Détection automatique stack unifiée vs développement multi-ports
  • docker-compose.unified.yml : hub + projets + pompes + Caddy
v1.07 2026-06-30

Alerte maintenance — affichage serveur

  • Badge injecté côté serveur à chaque chargement du hub (fiable sans JavaScript)
  • Cache désactivé sur hub.js / hub.css pour éviter les anciennes versions
v1.06 2026-06-30

Alerte maintenance — fiabilité

  • Proxy hub /api/pompes/ vers le module pompes (plus de blocage CORS)
  • Repli automatique sur l'appel direct au port 8001
v1.05 2026-06-30

Alerte maintenance — correction

  • Badge « Maintenance à faire » affiché uniquement si alerte réelle (plus de faux positif)
  • Badge rouge clignotant à droite de « Disponible »
v1.04 2026-06-30

Alerte maintenance pompes

  • Badge rouge clignotant « Maintenance à faire » sur la tuile Pompes si échéance ≤ 15 jours
v1.03 2026-06-25

Module Maintenance pompes

  • Tuile Maintenance pompes active (port 8001)
v1.02 2026-06-25

Crédit auteur

  • Mention « Vibecodé par Christophe Clément » à côté du numéro de version
v1.01 2026-06-25

Version et changelog du hub

  • Fichier hub/version.py et page changelog
  • Numéro de version affiché sur la page d'accueil
  • Convention documentée pour tous les modules (MODULES.md)
v1.00 2026-06-25

Hub GCMLab initial

  • Page d'accueil avec tuiles vers les modules
  • Tuile GCMLab Projets active (port 8000)
  • Tuiles Maintenance pompes et Calibrations (bientôt)
  • Déploiement Docker optionnel (docker-compose.stack.yml)