31 KiB
31 KiB
2.2.8 (29/10/2026)
Améliorations
- Filtrage des capteurs IR dans l'éditeur en tableau pour alterner les pistes entre deux déclencheurs successifs.
- Filtrage des moteurs et des LED selon la piste du capteur choisi pour le déclencheur, également appliqué à la création des duels.
- Réinitialisation des sélections devenues incompatibles lors d'un changement de piste et validation avant l'enregistrement.
2.2.7 (29/10/2026)
Améliorations
- Nouvel éditeur de scénarios en tableau : une ligne par déclencheur et des sous-lignes modifiables pour les actions et les conditions, avec ajout et suppression directement dans le tableau.
- Création et modification des duels dans le tableau, avec conservation des liens entre leurs déclencheurs et prise en charge des modes de course existants.
- Enregistrement groupé des modifications et conservation du brouillon en cas d'échec ; les éditeurs actuels restent disponibles.
- Saisie et affichage des durées des LED en secondes dans la configuration des scénarios et les récapitulatifs, avec prise en charge des valeurs décimales (par exemple 0,5 s).
- Conversion automatique en millisecondes pour conserver la compatibilité avec le backend et les scénarios existants.
2.2.6 (27/10/2026)
Améliorations
- Regroupement de la configuration et de la calibration des infrarouges : accès à la calibration depuis chaque capteur.
- Regroupement de la configuration et de la calibration des moteurs : accès aux réglages depuis chaque aiguillage.
- Suppression des entrées de menu de calibration séparées et redirection des anciennes adresses vers les pages de configuration.
- Fenêtre de calibration des moteurs plus lisible : carte sur toute la largeur, commandes verticales et champs adaptés aux petits écrans.
Corrections
- Correction des pages blanches après un rafraîchissement F5 sur une route interne grâce à une base d'URL absolue.
- Arrêt de la lecture infrarouge lors de la destruction du composant de calibration.
2.2.5 (26/10/2026)
Améliorations
- Masquage du bandeau des équipements dans la configuration des circuits lorsqu'aucun capteur ni aiguillage ne reste à placer.
- Le plan des circuits occupe toute la largeur disponible lorsque le bandeau est masqué.
2.2.4 (26/10/2026)
Améliorations
- Numérotation des capteurs IR dans le plan des circuits pour identifier leur ordre de passage, même sur plusieurs lignes.
- Numérotation indépendante par piste et continue entre les zones avant et après l'aiguillage, actualisée lors des déplacements.
2.2.3 (26/10/2026)
Corrections
- Les capteurs IR du plan des circuits reviennent à la ligne lorsque plusieurs capteurs se suivent dans une même zone, sans déborder sur la sortie ou l'aiguillage.
- Les noms longs restent lisibles dans la largeur disponible.
2.2.2 (26/10/2026)
Corrections
- Conservation des RPM, du nombre de pas par révolution et de l'état des moteurs lors des modifications de configuration.
- Conservation de la valeur et des métadonnées des IR lors des modifications ; maintien du contexte d'édition jusqu'à confirmation de sauvegarde.
- Le seuil de calibration affiché n'est modifié qu'après confirmation du serveur ; un échec est signalé et conserve la valeur précédente.
- Conservation de l'état des LED lors des modifications de configuration.
- Tests de non-régression des seuils IR entiers et décimaux, des sauvegardes de calibration et des paramètres matériels.
2.2.1 (26/10/2026)
Corrections
- Conservation du nombre de pas calibré (
nbStepForOpenOrClose) lors de la sauvegarde de la configuration d'un moteur, au lieu de le remplacer par 512. - La valeur par défaut de 512 pas reste appliquée aux moteurs sans calibration définie.
2.2.0 (23/10/2026)
Ajouts
- Mode débug des infrarouges pendant les scénarios
- Activation avant le lancement ou pendant la course
- Graphique en direct par capteur IR utilisé : mesure en cm, seuil et état de détection
- Historique limité aux 300 dernières mesures par capteur et conservé à l'écran après la course
- Abonnement au flux débug uniquement lorsque les graphiques sont affichés, avec reconnexion automatique
- Compatible avec le matériel et le simulateur Firmata ; backend 2.2.0 requis
2.0.0 (06/10/2026)
Version majeure
- Circuit Management V2
- Modes de course automatisés, chronos par circuit, classement et historique permanent
- Mode Fantôme fondé sur les meilleurs temps enregistrés par voiture
- Rôles IR explicites et sélection automatique des circuits, capteurs et aiguillages
- LEDs physiques clignotantes associées aux mouvements des aiguillages
- Commande manuelle extensible au clavier avec protection pendant les courses
- Manuel utilisateur entièrement réécrit selon les exigences retenues
- Suppression des feux tricolores, de la gestion des accidents et des délais de trois secondes
1.31.43 (06/10/2026)
Améliorations
- Raccourcis d’aiguillages extensibles
- Sélection directe des neuf premiers aiguillages avec les touches 1 à 9
- Navigation circulaire dans une liste de taille quelconque avec les flèches haut et bas
- Affichage du raccourci disponible dans le tableau de commande
1.31.42 (06/10/2026)
Ajouts
- Commande manuelle au pavé numérique
- Touches 1 à 4 pour sélectionner un aiguillage
- Touches + et − pour ouvrir ou fermer l’aiguillage sélectionné
- Mise en évidence de la sélection et protection des champs de saisie
1.31.41 (06/10/2026)
Ajouts
- Mode Fantôme
- Référence basée sur le meilleur chrono historique de la même voiture et du même circuit
- Affichage du chrono fantôme et de l’avance ou du retard pendant la course
- Références fictives disponibles en mode simulé
1.31.40 (06/10/2026)
Améliorations
- Annonces de course
- Annonce unique du dernier tour et de l’arrivée de chaque voiture
- Annonce du classement final dans l’ordre d’arrivée
- Mise en file des annonces et désactivation automatique si le scénario contient déjà des actions audio
1.31.39 (06/10/2026)
Améliorations
- Règles de course par mode
- Saisie d’un objectif de tours ou de passages par circuit
- Arrêt automatique lorsque les deux voitures atteignent l’objectif
- Affichage de l’objectif dans la configuration du scénario
1.31.38 (06/10/2026)
Corrections
- Chronos en mode simulé
- Initialisation immédiate des deux voitures dans le suivi de course
- Simulation des entrées et sorties des circuits secondaires I à IV
- Alimentation des chronos actifs, passages, cumuls et classement
- Affichage du tableau des chronos dès le départ de la simulation
1.31.37 (06/10/2026)
Améliorations
- Historique permanent des chronos
- Ajout dans le tableau de bord de la liste demandée par le cahier des charges
- Affichage de la date, du pilote, de la voiture, de la voie et du type de course
- Affichage des tours et chronos des circuits principal et secondaires I à IV
- Affichage du cumul et d’une fenêtre de détail par résultat
- Compatibilité avec les anciens résultats incomplets, affichés avec un tiret
1.31.36 (06/10/2026)
Améliorations
- Affichage des chronos conforme au cahier des charges
- Tableau des circuits secondaires I à IV pour les deux voitures
- Affichage en minutes, secondes et millisecondes (
mm:ss.SSS) - Chronomètre visible pendant le parcours entre l’entrée et la sortie
- Cumul des chronos et nombre de passages par circuit
- Association explicite des capteurs d’entrée/sortie au circuit chronométré
1.31.35 (06/10/2026)
Améliorations
- Suivi et résultat des courses
- Affichage en direct du nombre de tours, du dernier tour et du meilleur tour par pilote
- Classement actualisé pendant la course
- Conservation du classement final à l’écran après l’arrêt
- Suppression de la création anticipée de résultats vides au lancement
1.31.34 (06/10/2026)
Corrections
- Emplacement physique et rôle des capteurs IR
- Autorisation des capteurs d’entrée ou de sortie secondaire sur le circuit principal
- Suppression du filtrage et des alertes qui associaient à tort un rôle à un type de circuit
- Acceptation de plusieurs entrées ou sorties secondaires sur une même piste
- Présélection des capteurs par rôle fonctionnel, indépendamment de leur circuit physique
1.31.33 (06/10/2026)
Corrections
- Alertes de rôles IR hérités
- Prise en compte du type du circuit avant de déduire le rôle d’un ancien capteur
- Priorité donnée aux positions d’entrée et de sortie sur l’ancien indicateur de comptage de tours
- Regroupement des doublons en une seule alerte par circuit, voie et rôle
- Suppression du cumul d’alertes « incompatible » et « doublon » pour le même capteur
1.31.32 (05/10/2026)
Améliorations
- Rôles explicites des capteurs infrarouges
- Identification des capteurs de départ/arrivée principal, d’entrée secondaire et de sortie secondaire
- Filtrage des circuits compatibles lors de la configuration
- Déduction des rôles depuis les anciennes propriétés lorsque cela est possible
- Signalement des rôles manquants, dupliqués ou incompatibles
- Utilisation des rôles pour fiabiliser la présélection des équipements des scénarios
1.31.31 (05/10/2026)
Améliorations
- Modes de course et équipements automatiques
- Ajout des six modes du cahier des charges et d’un mode personnalisé compatible avec les scénarios existants
- Présélection des circuits, capteurs IR et moteurs selon le mode choisi
- Aperçu des associations proposées avec signalement des équipements manquants ou ambigus
- LED de mouvement des aiguillages
- Association optionnelle d’une LED physique à chaque aiguillage
- Allumage pendant les mouvements automatiques, manuels, groupés et de calibration
- Extinction garantie à la fin du mouvement ou lors d’une erreur
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.jsde 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.jsde 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.jsde 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.jsde 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
ExpressionChangedAfterItHasBeenCheckedErrorau chargement de la page
- Suppression de l’erreur Angular
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.jsde 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.jsde 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
ngModelet 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
- Suppression du double pilotage des sélecteurs de pilotes et voitures par
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-deepobsolè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-iopendant 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.