Files

35 KiB
Raw Permalink Blame History

2.2.14 (05/11/2026)

Améliorations

  • Export PDF en trois pages : schéma de principe, vue complète du Mega 2560 Rev3 sur une image de référence et gros plans photographiques des connecteurs.
  • Affichage des composants et de leurs bornes sur des fonds colorés à côté des broches utilisées ; textes verticaux pour le connecteur inférieur D22-D53.
  • Images intégrées au projet pour permettre la génération du PDF hors ligne, avec attribution des sources.

Corrections

  • Repérage des broches portant les suffixes TX, RX, DATA et CLOCK et recalage des connecteurs sur les images.
  • Prise en compte de l'espacement entre A7 et A8 et des deux rangées distinctes du connecteur D22-D53.
  • Suppression des longues liaisons superposées dans la vue complète et conservation des liaisons locales dans les gros plans.

2.2.13 (05/11/2026)

Corrections

  • Blocage de la broche D13, réservée à la LED intégrée de la carte Arduino, dans la configuration des LED, capteurs IR et moteurs ainsi que lors de l'enregistrement côté serveur.
  • Signalement des composants déjà configurés sur D13, avec accès direct à leur modification et possibilité de retirer cette broche sans pouvoir la resélectionner.
  • Indication de la raison de réservation pour distinguer D13 des broches de communication TX/RX.

2.2.12 (05/11/2026)

Améliorations

  • Schéma de principe des connexions des moteurs, capteurs IR et LED accessible depuis chaque carte Arduino.
  • Carte centrale, composants de chaque côté, broches nommées et fils à angles droits reliant les bornes configurées.
  • Export PDF vectoriel sur une seule page, avec orientation automatique et texte net au zoom et à l'impression.

Corrections

  • Signalement des broches partagées et absence de liaison supposée pour les broches introuvables.
  • Espacement des symboles, adaptation des blocs aux noms sur plusieurs lignes et séparation du pied de carte des dernières broches.
  • Actualisation du schéma et de l'index des connexions lors des changements de configuration.

2.2.11 (03/11/2026)

Corrections

  • Actualisation des broches disponibles apr?s modification des moteurs, capteurs IR et LED.
  • Suppression des ?critures concurrentes de l'occupation des broches depuis le navigateur ; synchronisation assur?e par le serveur apr?s chaque enregistrement ou suppression.
  • Rafra?chissement des Arduino apr?s modification d'une LED.

2.2.10 (30/10/2026)

Améliorations

  • Broches Arduino TX/RX réservées à la communication : sélection interdite pour les LED, les capteurs IR et les moteurs.
  • Alerte pour les composants déjà configurés sur une broche TX/RX, avec accès direct à leur fenêtre de modification.
  • Remplacement des broches des moteurs entrée par entrée, avec commandes de retrait compactes, disposition adaptative et mise en évidence des broches réservées.

Corrections

  • Une broche retirée pendant la modification reste sélectionnable lorsqu'elle appartient au composant, sauf s'il s'agit d'une broche TX/RX.
  • Réinitialisation des broches sélectionnées lors d'un changement d'Arduino et correction du débordement des affectations dans la fenêtre des moteurs.

2.2.9 (29/10/2026)

Améliorations

  • Préparation du mode Surprise pour générer de nouvelles règles cohérentes à chaque lancement côté serveur, en respectant les pistes et le matériel disponible.
  • Statuts des scénarios affichés en français et compatibilité des anciens scénarios enregistrés comme brouillons avec le lancement et le contrôle avant départ.

Corrections

  • Calcul des moyennes tour par tour uniquement à partir des courses ayant enregistré le tour concerné.
  • Utilisation des compteurs et temps enregistrés dans les indicateurs du dashboard ; prise en charge des anciens chronos et des valeurs invalides.
  • Conservation du type de course historique et affichage des chronos par circuit à partir des résultats enregistrés.

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.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.