Files
circuit-management-releases/CHANGELOG.md
T

21 KiB
Raw Blame History

1.31.30 (04/10/2026)

Am?liorations

  • Cr?ateur de scénario simplifié
    • Saisie manuelle multiligne conservée, avec création directe de l'aperçu puis enregistrement
    • Texte conservé aprés génération et aperéu invalidé lors des modifications
    • Capteurs IR et moteurs regroupés par circuit ou par piste dans un panneau repliable
    • Insertion des équipements en toutes lettres dans le texte par un clic
    • Ctrl + Entrée ou Cmd + Entrée pour créer l'aperçu

1.31.29 (02/10/2026)

Sécurité

  • Configuration des sauvegardes réservée au serveur
    • Suppression de l’URI MongoDB, du chemin, de la rétention et du mode debug dans les requêtes du navigateur
    • Lancement des sauvegardes avec une requête vide et une configuration contrôlée par le backend

1.31.28 (02/10/2026)

Améliorations

  • Sécurisation des opérations de maintenance
    • Demande de confirmation avant la sauvegarde et la correction des broches Arduino
    • Blocage des doubles lancements pendant une opération en cours
    • Suivi de la sauvegarde jusqu’à sa fin réelle avec affichage du fichier créé ou de l’erreur rencontrée
    • Bilan détaillé de la correction : cartes et broches vérifiées, modifications, équipements et références introuvables
    • Rafraîchissement des Arduino sans rechargement complet de l’application

1.31.27 (02/10/2026)

Améliorations

  • Navigation native avec Angular Router
    • Attribution d’une URL dédiée à chaque écran pour permettre les liens directs
    • Prise en charge des boutons précédent et suivant du navigateur
    • Remplacement du sélecteur manuel d’écrans par un router-outlet
    • Conservation du chargement différé, de la nouvelle tentative et du préchargement existants
    • Redirection des URL inconnues vers l’écran de course
    • Réduction de main.js de 392 Ko à 299 Ko

1.31.26 (02/10/2026)

Corrections

  • Nettoyage complet des ressources d’écran
    • Arrêt automatique des abonnements persistants de l’ancien écran de course
    • Libération systématique des deux chronomètres lors de la fermeture de l’écran
    • Annulation des requêtes du dashboard et de toutes ses temporisations de confettis à la destruction
    • Audit des écrans différés, des événements socket et des timers restants

1.31.25 (02/10/2026)

Améliorations

  • Fiabilisation des chargements différés
    • Centralisation et mise en cache des imports dynamiques
    • Déduplication des chargements simultanés et nouvelle tentative automatique après un échec
    • Affichage d’une erreur avec action « Réessayer » lorsqu’un écran ne peut pas être chargé
    • Préchargement des écrans en arrière-plan au survol de la navigation

1.31.24 (02/10/2026)

Améliorations

  • Chargement différé de l’aide et des informations
    • Chargement du manuel, du mode d’emploi et du changelog uniquement à leur première ouverture
    • Suppression de la requête du changelog et du parseur Markdown au démarrage
    • Réduction de main.js de 491 Ko à 388 Ko et du bundle initial de 1,65 Mo à 1,56 Mo

1.31.23 (01/10/2026)

Améliorations

  • Allègement du module principal
    • Suppression des dépendances PrimeNG inutilisées au démarrage
    • Isolation des anciens composants de course encore conservés pour compatibilité
    • Suppression de l’écran de configuration agrégé remplacé par la navigation actuelle
    • Réduction de main.js de 595 Ko à 491 Ko et du bundle initial de 1,87 Mo à 1,65 Mo

1.31.22 (01/10/2026)

Améliorations

  • Chargement différé de tous les écrans de configuration
    • Création de points d’entrée distincts pour les circuits, Arduino, capteurs, moteurs, LED, voitures et pilotes
    • Mutualisation des dépendances UI entre les écrans différés
    • Réduction de main.js de 799 Ko à 595 Ko et du bundle initial de 2,06 Mo à 1,87 Mo

1.31.21 (01/10/2026)

Corrections

  • Nettoyage automatique des abonnements
    • Arrêt des abonnements aux modèles et aux formulaires à la fermeture des composants
    • Prévention des traitements dupliqués après plusieurs changements de section
    • Protection des imports différés lorsque l’écran de configuration est fermé pendant leur chargement
  • Stabilité du changelog
    • Suppression de l’erreur Angular ExpressionChangedAfterItHasBeenCheckedError au chargement de la page

1.31.20 (01/10/2026)

Améliorations

  • Chargement différé de l’éditeur de scénarios
    • Isolation de l’éditeur et de sa vue tabulaire dans un module fonctionnel différé
    • Création d’un chunk dédié de 76 Ko chargé uniquement à l’ouverture de l’éditeur
    • Affichage immédiat du dashboard et de l’éditeur dès la fin de leur chargement différé
    • Réduction de main.js de 975 Ko à 797 Ko et du bundle initial de 2,13 Mo à 2,06 Mo

1.31.19 (01/10/2026)

Améliorations

  • Chargement différé des graphiques
    • Chargement du tableau de bord et de la calibration infrarouge uniquement à leur ouverture
    • Extraction de Chart.js dans un chunk partagé différé
    • Réduction de main.js de 2,24 Mo à 975 Ko et du bundle initial de 2,37 Mo à 2,13 Mo

1.31.18 (01/10/2026)

Améliorations

  • Réduction du bundle CSS initial
    • Remplacement de la feuille PrimeFlex complète par les 134 règles réellement utilisées
    • Réduction du CSS initial de 427 Ko à 89 Ko
    • Réduction du bundle initial total de 2,71 Mo à 2,37 Mo

1.31.17 (01/10/2026)

Améliorations

  • Suppression des avertissements de budgets CSS
    • Extraction des styles de huit pages volumineuses vers un module global dédié
    • Préfixage des sélecteurs par composant pour conserver leur isolation visuelle
    • Conservation du budget strict de 4 Ko par feuille de composant

1.31.16 (01/10/2026)

Améliorations

  • Finalisation de l’internationalisation TypeScript
    • Traduction des sauvegardes, scans, corrections de broches et erreurs du tableau de bord
    • Traduction du résumé du générateur de scénarios et des notifications Socket
    • Suppression complète de la baseline historique, désormais vide

1.31.15 (01/10/2026)

Améliorations

  • Internationalisation du plan de circuit
    • Traduction des confirmations de placement et de dissociation des équipements
    • Traduction du titre, du circuit associé par défaut et des erreurs d’enregistrement
    • Réduction de 2 entrées supplémentaires de la baseline TypeScript

1.31.14 (01/10/2026)

Améliorations

  • Internationalisation des commandes LED
    • Traduction des avertissements liés aux Arduino déconnectés
    • Traduction des erreurs de commande avec le nom de la LED concernée
    • Réduction de 4 entrées supplémentaires de la baseline TypeScript

1.31.13 (01/10/2026)

Améliorations

  • Internationalisation du réglage des moteurs
    • Traduction des confirmations de rotation et de mise à jour
    • Traduction des erreurs de rotation, de course, de position et de sens
    • Réduction de 5 entrées supplémentaires de la baseline TypeScript

1.31.12 (01/10/2026)

Améliorations

  • Internationalisation de l’ouverture manuelle
    • Traduction des états de connexion et de rotation des aiguillages
    • Traduction des erreurs de commande, de moteur et de validation du nombre de pas
    • Réduction de 6 entrées supplémentaires de la baseline TypeScript

1.31.11 (01/10/2026)

Améliorations

  • Internationalisation du lancement de course
    • Traduction des annonces automatiques de passage et d’action
    • Traduction des erreurs audio, des états du départ et du test de synthèse vocale
    • Réduction de 11 entrées de la baseline TypeScript

1.31.10 (01/10/2026)

Améliorations

  • Contrôle de l’internationalisation
    • Extension de l’audit aux notifications, erreurs affichées et annonces définies dans les fichiers TypeScript
    • Ajout d’une baseline explicite des textes historiques pour empêcher toute nouvelle régression
    • Détection des entrées de baseline devenues obsolètes après traduction
    • Ajout de tests unitaires exécutés automatiquement par npm run i18n:check

1.31.9 (30/09/2026)

Améliorations

  • Internationalisation de l’interface
    • Remplacement des textes statiques des écrans par des clés de traduction
    • Centralisation des libellés, aides, infobulles, états vides et attributs d’accessibilité dans le catalogue français
    • Ajout d’un contrôle automatisé des textes codés en dur et des clés de traduction manquantes

1.31.8 (30/09/2026)

Améliorations

  • Organisation des styles
    • Extraction des règles de l’éditeur de topologie dans un module global dédié
    • Réduction de la feuille racine aux styles communs et aux imports thématiques
    • Conservation des styles de topologie hors du composant Circuit pour respecter son budget CSS

1.31.7 (30/09/2026)

Améliorations

  • Suivi de course en temps réel
    • Typage des événements Socket.IO d’action, de capteur, de déclencheur, d’audio et de chronomètre
    • Typage des historiques affichés et des références peuplées
    • Sécurisation de la résolution des pilotes, voitures et circuits
    • Typage explicite des minuteries du chronomètre et du compte à rebours

1.31.6 (30/09/2026)

Corrections

  • Lancement des scénarios
    • Suppression du double pilotage des sélecteurs de pilotes et voitures par ngModel et formulaire réactif
    • Le formulaire réactif devient l’unique source des participants envoyés au préflight et au lancement
    • Suppression des états de sélection redondants

1.31.5 (30/09/2026)

Améliorations

  • Organisation des styles
    • Extraction des styles globaux des pages de scénarios dans un module dédié
    • Conservation de ces règles hors des composants pour ne pas aggraver leurs budgets CSS
    • Remplacement du sélecteur global ::ng-deep obsolète appliqué aux cartes PrimeNG

1.31.4 (30/09/2026)

Corrections

  • Calibration des aiguillages
    • Fin de l’indicateur de rotation synchronisée avec la réponse réelle du backend
    • Affichage d’un retour explicite après une rotation réussie ou échouée
    • Restauration des valeurs précédentes lorsqu’une mise à jour ne peut pas être enregistrée
    • Validation des nombres de pas et amélioration de l’accessibilité des commandes de rotation

1.31.3 (30/09/2026)

Corrections

  • Contrats des scénarios
    • Alignement des actions LED et chronomètre avec les paramètres réellement acceptés par le backend
    • Typage des actions par catégorie pour empêcher les combinaisons de paramètres invalides
    • Prise en charge explicite des circuits peuplés, des chronos et de l’historique d’exécution
    • Suppression du champ cible inutile lors de la sérialisation des actions chronomètre

1.31.2 (29/09/2026)

Corrections

  • Navigation et fenêtres modales
    • Correction de la priorité d’affichage du MegaMenu
    • Le menu reste au-dessus du contenu des pages sans recouvrir les masques et fenêtres modales PrimeNG

1.31.1 (29/09/2026)

Améliorations

  • Harmonisation de l’interface
    • Uniformisation de toutes les pages actives avec la charte visuelle des écrans Circuit et Distance entre capteurs
    • Ajout d’en-têtes, de résumés, d’états vides et de mises en page responsives cohérentes
    • Modernisation des formulaires, tableaux, cartes, badges et actions principales
  • Configuration électronique
    • Refonte des écrans Arduino, capteurs infrarouges, calibration IR, aiguillages, calibration moteur et LED
    • Clarification de la sélection des broches et des états du matériel
    • Correction du débordement de la commande de rotation horaire
  • Courses et participants
    • Harmonisation des écrans Voitures, Pilotes, Scénarios, lancement de course et commande manuelle
    • Présentation plus compacte des moteurs et commandes contextuelles plus lisibles
  • Supervision et aide
    • Refonte du Dashboard, du Mode d’emploi et de la fenêtre Version
    • Amélioration de la lisibilité des indicateurs, graphiques, informations système et notes de version

1.31.0 (29/09/2026)

Nouveautés

  • Configuration visuelle des circuits
    • Ajout d’un éditeur de disposition pour positionner les circuits sur une grille
    • Déplacement des capteurs IR et des aiguillages par glisser-déposer entre les circuits et les pistes
    • Ordonnancement des capteurs avant et après les aiguillages
    • Configuration des connexions d’entrée et de sortie entre circuits
    • Prise en charge des circuits en boucle et affichage de la topologie configurée
  • Scénarios de duel
    • Ajout d’un mode « premier arrivé » entre deux pistes
    • Ouverture immédiate de l’aiguillage du premier pilote puis ouverture différée de l’autre aiguillage
    • Réarmement automatique du duel pour les scénarios exécutés en boucle infinie
    • Ajout d’un assistant de création de duel avec sélection des capteurs et aiguillages par piste
    • Affichage des groupes de duel et du capteur adverse attendu dans la configuration des scénarios
    • Suppression groupée des deux déclencheurs appartenant au même duel
  • Éditeur en langage humain
    • Reconnaissance des règles symétriques introduites par « mais si »
    • Tolérance des articles, de la casse et de formulations légèrement incorrectes
    • Mise en évidence des mots-clés, pistes, capteurs et aiguillages pendant la saisie
  • Conditions de scénario
    • Ajout de conditions basées sur le nombre de passages d’un autre capteur
    • Configuration manuelle des opérateurs « au moins » et « moins de »

Backend

  • Modèles de données
    • Ajout des positions de capteurs et de leur zone relative à l’aiguillage
    • Ajout des connexions, du mode boucle et de la topologie des circuits
    • Ajout des conditions et métadonnées de coordination aux déclencheurs de scénario
  • Moteur de scénario
    • Comptage des passages IR par capteur
    • Coordination atomique des déclencheurs d’un duel et validation de leur réciprocité
    • Nettoyage des états de duel au lancement et à l’arrêt d’un scénario
  • Tests
    • Ajout de tests sur les conditions de passage et le cycle « premier arrivé puis autre pilote »

1.29.3 (25/09/2026)

Nouveautés

  • Scénarios en cours
    • Affichage de la vitesse moyenne estimée de chaque pilote entre deux capteurs infrarouges
    • Calcul à partir de la distance configurée et du temps mesuré entre les passages
    • Affichage du tronçon, de la distance et de la durée utilisés pour l’estimation

1.29.2 (24/09/2026)

Corrections

  • Scénarios
    • Libération des abonnements aux scénarios, pilotes et voitures à la fermeture de l'écran de lancement
    • Centralisation du verrou d'exécution des scénarios dans le service backend
    • Libération des ressources et du verrou lorsqu'un lancement de scénario échoue
    • Refus d'arrêter une course lorsqu'un autre identifiant de scénario est demandé
    • Validation et confirmation par le backend du signal de départ Socket.IO
    • Démarrage du signal « Go » et du chronomètre uniquement après confirmation du serveur
    • Annulation du départ lorsque la connexion temps réel est indisponible
    • Affichage dans la fenêtre de lancement des erreurs de connexion Arduino retournées par le backend
  • Connexion temps réel
    • Centralisation de l'adresse Socket.IO dans la configuration d'environnement
    • Réutilisation de la connexion Socket.IO partagée pendant la calibration infrarouge
    • Compatibilité de la calibration avec une installation distante ou derrière un proxy
    • Restriction des connexions Socket.IO aux origines autorisées par le serveur
  • Stabilité du serveur
    • Arrêt contrôlé du backend après une erreur fatale
    • Fermeture des connexions HTTP, Socket.IO, MongoDB et des cartes Arduino avant l'arrêt
    • Conservation du serveur en fonctionnement lorsqu'une carte Arduino signale un timeout après sa fermeture
    • Conservation du serveur en fonctionnement lorsque MongoDB est temporairement indisponible
    • Journalisation et diagnostic de santé des erreurs de connexion MongoDB sans exposition des informations sensibles
    • Fermeture propre des ressources lors de l'arrêt du lanceur ou du système
    • Conservation du serveur en fonctionnement lorsqu'un port série Arduino est absent
    • Interception précoce des erreurs firmata-io pendant l'ouverture d'un port série
    • Annulation propre du lancement d'un scénario lorsque son matériel requis est indisponible
  • Sauvegardes MongoDB
    • Masquage des identifiants et mots de passe MongoDB dans les journaux de sauvegarde
  • Validation des données
    • Application des validateurs Mongoose lors des mises à jour des configurations
  • API
    • Uniformisation des erreurs HTTP au format JSON
    • Gestion explicite des identifiants invalides, erreurs de validation et doublons
    • Masquage des détails internes lors des erreurs serveur
  • Tests
    • Rétablissement de la suite de tests Angular avec la configuration applicative réelle
    • Isolation des tests des connexions HTTP et Socket.IO externes
  • Formulaires
    • Suppression du double binding déprécié dans la sélection des circuits d'un scénario de course
    • Nettoyage du composant de configuration des scénarios de course
    • Nettoyage du composant de configuration des LED

1.29.1 (24/09/2026)

Corrections

  • Restauration MongoDB
    • Correction de l'extraction des sauvegardes ZIP lorsque leur chemin contient des espaces
  • Gestion des LED
    • Vérification de la connexion de l'Arduino avant d'allumer ou d'éteindre une LED
    • Désactivation des commandes lorsque l'Arduino associé est déconnecté
    • Conservation de l'état courant de la LED en cas d'échec de la commande matérielle

1.29.0 (23/09/2026)

Nouveautés

  • Packages
    • Mise à jours des packages npm

1.28.2 (22/09/2026)

Nouveautés

  • Gestion arduino
    • Gestion des arduinos via un gestionaire unique et centralisé

1.28.0 (21/09/2026)

Nouveautés

  • Calibration infrarouge
    • Ajout d'un overlay pendant la connexion à l'arduino et l'attente des valeurs
  • IR distances
    • Ajout du diagramme des distances entre infrarouge

1.27.11 (20/09/2026)

Nouveautés

  • Scenario
    • Ajout de récapitulatif compréhensibles de la course
    • Ajout de synthèse vocale

1.27.10 (18/09/2026)

Mise à jour

  • Scenario
    • Changement du sens de rodation des moteurs

1.27.5 - 1.27.9 (17/09/2026)

Nouveautés

  • Scenario
    • Mise à jour du lancement des scénarios

1.27.4 (16/09/2026)

Nouveautés

  • Installation et Mise à jour
    • Changement de façon d'installation et mise à jour du logiciel

1.27.1 (13/09/2026)

Nouveautés

  • Travail sur les scénarii

1.27.0 (11/09/2026)

Nouveautés

  • Correction de la connexion Arduino
  • Correction du temps d'attente de l'ouverture manuelle des moteurs
  • Correction de la visualisation des led infrarouges

1.26.0 (09/09/2026)

Nouveautés

  • Correction de la connexion Arduino
  • Correction de l'initialisation du menu
  • Correction de l'intialisation du dashboard
  • Correction de labels flotants de champs

1.25.0 (17/09/2025)

Nouveautés

  • Statuts Arduino
    • Affichage global (pastille de couleur en fonction de la moyenne des connexions).
    • Détail des statuts individuels de chaque Arduino dans le menu principal.

0.0.1 → 1.24.0

Gestion des composants

  • Arduino
    • Ajout, modification et suppression.
    • Vérification de la cohérence des pins (détection des conflits d’occupation).
  • LEDs
    • Création et gestion des LEDs connectées.
  • Capteurs infrarouge
    • Ajout, suppression et édition.
    • Calibration et seuils de détection configurables.
  • Moteurs (aiguillages)
    • Ajout, suppression et édition.
    • Calibration complète.
    • Commande manuelle : ouverture/fermeture directe.
  • Voitures et pilotes
    • Ajout, suppression et édition.
  • Circuits
    • Définition des circuits (nom, numéro, type primaire/secondaire).
  • Scénarios de course
    • Création, modification et suppression.
    • Définition des actions avec déclencheurs basés sur capteurs infrarouge, compteurs de passages et moteurs associés.

Fonctionnalités avancées

  • Mode d’emploi intégré
    • Accès à un guide interactif dans l’application.
  • Visualisation de la version
    • Affichage clair de la version courante de l’application.
  • Sauvegarde de la base de données
    • Export et restauration de l’état complet.
  • Dashboard statistiques
    • Vue globale de l’activité, performances et état des capteurs/moteurs.