← Retour

🥋 Changelog — Nakama

Historique des évolutions de l'application
Version 1.1 (Bêta 2)
en cours

🏷️ Catégories

  • Nouvelles catégories prédéfinies pour les Poussinets/Poussins : Poussinets -23kgs, Poussinets -27kgs, Poussinets +27kgs (ajout d'un palier -23kgs), et Poussins -28kgs / Poussins +28kgs (remplacent les anciens paliers -30kgs/+30kgs). Poussinettes et Poussines inchangées.
  • Jeux de données de test mis à jour en conséquence : 1100 athlètes désormais (100 par catégorie, sur les 11 catégories prédéfinies).

🖨️ Feuilles de poules imprimées

  • Impression désormais en format paysage (la feuille « Répartition par tapis » reste en portrait).
  • Polices, espacements et hauteurs de lignes agrandis pour remplir correctement la page A4.
  • Format des poules de 2 revu en profondeur : « Poule n° » à côté du titre, ligne méta réduite, colonne « Cla » en tête sans colonne Classement séparée, nouveau barème dédié (Ippon 100 pts / Waza-Ari 10 pts / Yuko ou décision 1 pt / Décision 0 pt).
  • Poules de 3 et plus : les cases correspondant à un combat auquel l'athlète ne participe pas sont maintenant noircies (au lieu d'un simple fond grisé). Motif vérifié exact contre une vraie feuille de référence pour des poules de 3, 4 et 5.
  • Les cases noircies s'impriment désormais correctement même sans l'option « Graphiques d'arrière-plan » cochée dans le navigateur (réglage par défaut le plus courant) — jusqu'ici elles restaient blanches à l'impression réelle malgré un aperçu correct à l'écran.
  • Nouveau : feuille de poule vierge, sans athlètes réels — pratique pour avoir des feuilles de secours toutes prêtes ou une poule improvisée le jour J. Choix du nombre d'athlètes (2 à 6) et, en option, d'une catégorie à préremplir.
  • Bug important : les poules de 5 et 6 athlètes débordaient sur une 2e page après l'agrandissement des polices. Taille adaptée automatiquement selon le nombre d'athlètes — toutes les tailles (2 à 6) tiennent désormais sur une seule page A4.
  • Bug important : l'impression pouvait générer plusieurs pages blanches en trop selon le contenu présent sur l'onglet ouvert au moment d'imprimer (ex : une feuille vierge donnait 7 pages au lieu d'1). Corrigé.
  • Titre par défaut des feuilles imprimées (« Compétition Amicale ») : inclut désormais automatiquement le nom du club s'il est renseigné, ex. « Compétition Amicale Kaizen Saint Sébastien ». Sans effet si un nom d'événement personnalisé est déjà saisi.
  • Nouveau : réimpression d'une poule précise — choix de la catégorie puis du numéro de poule exact, avec les vraies données déjà générées. Pratique en cas de feuille perdue ou abîmée sur le terrain.
  • Éditeur manuel de poules : déplacer un athlète vers une poule qui en compte déjà 6 est désormais bloqué (avec message explicatif).
  • Éditeur manuel de poules : après « Générer les poules », « Régénérer les combats » ou « Réinitialiser la répartition », une sélection d'athlète en cours pouvait rester affichée à tort, même si les données étaient déjà correctes. Corrigé.

⚙️ Configuration

  • Logo du club affiché partout où c'est pertinent : en-tête de l'admin, feuilles de poules imprimées (en haut à gauche), feuille « Répartition par tapis », pesée multi-appareils, page d'inscription en ligne par club.
  • Numéro de version affiché sur la page de connexion, avec un lien direct vers le changelog.
  • Site internet du club : si renseigné, le nom du club dans l'en-tête devient un lien cliquable vers ce site ; sans site renseigné, texte simple comme avant.

🗑️ Suppressions

  • Retrait de la page d'inscription 100 % autonome (hors-ligne) — l'inscription en ligne par club couvre le besoin.

⚖️ Corrections

  • Pesée : le compteur « au total » affichait le nombre total d'athlètes de la compétition même avec un filtre actif, au lieu du nombre correspondant au filtre. Corrigé.
  • Pesée : un lien pointant vers une catégorie renommée ou supprimée affichait la page normale avec le filtre simplement déverrouillé, sans explication. Affiche maintenant une page d'erreur dédiée (« Catégorie introuvable »), cohérente avec la page « Club introuvable » des inscriptions en ligne.
  • Tapis (vue par catégorie) : les colonnes Nom/Prénom/Club des tableaux de poule n'étaient pas alignées entre elles. Largeurs de colonnes désormais fixes et identiques sur toutes les poules.
  • Pesée : le bandeau « Connexion au serveur impossible » restait affiché indéfiniment une fois apparu, même après le retour de la connexion — une coupure réseau de quelques secondes (fréquente sur mobile) donnait l'impression d'un problème persistant. Il se referme maintenant automatiquement dès qu'une requête réussit à nouveau.
  • Admin : le même bandeau, affiché en superposition fixe en haut de l'écran, recouvrait et rendait inaccessible le bouton « Déconnexion ». Il pousse maintenant le contenu vers le bas au lieu de le survoler, avec une vérification automatique toutes les 3 secondes tant qu'il est affiché.
  • Import CSV / texte collé : un athlète dont la catégorie indiquée ne correspondait à aucune catégorie déjà créée se retrouvait sans catégorie, silencieusement. Le comportement reste le même (l'import n'utilise que des catégories déjà existantes), mais un message liste maintenant clairement les catégories introuvables en fin d'import.
  • Bug important : supprimer une catégorie ne touchait jamais aux athlètes qui y étaient rattachés — ils gardaient une référence vers une catégorie qui n'existe plus, les rendant invisibles/cassés partout sans explication. La suppression prévient désormais du nombre d'athlètes concernés et les fait repasser en « sans catégorie » (visibles et corrigibles). Nouveau filtre « — Sans catégorie — » dans l'onglet Athlètes pour les retrouver facilement, y compris ceux déjà touchés avant le correctif.
  • Nouveau : possibilité de modifier un athlète existant (bouton ✏️) — prénom, nom, club, poids, catégorie, grade. Jusqu'ici, la seule façon de corriger un athlète était de le supprimer et de le recréer.
  • Bug important : les boutons de la liste d'athlètes (✕, et maintenant ✏️) ne répondaient jamais au tout premier affichage de l'onglet Athlètes — seulement après avoir touché le filtre ou la recherche une première fois. Corrigé.
  • Édition d'un athlète : le club actuel n'était jamais présélectionné dans le menu déroulant, au risque de le perdre par erreur en enregistrant. Corrigé.
  • Bug critique : si la récupération des catégories échouait au chargement (souci réseau passager, notamment juste après un redéploiement), l'appli pouvait croire à tort que la base était vierge et recréait les catégories prédéfinies avec de nouveaux identifiants — cassant le lien avec les athlètes déjà rattachés. Les catégories ne sont désormais recréées automatiquement que si la base est vraiment vierge (aucune catégorie et aucun athlète).
  • Liste des athlètes : un athlète dont la catégorie pointait vers un identifiant qui n'existe plus s'affichait avec un nom de catégorie vide au lieu du message « sans catégorie » en rouge. Corrigé.
Version 1.0 (Bêta 1)
04/09/2026
Première version bêta complète de l'application de gestion de compétition.

🥋 Athlètes

  • Fiche athlète complète : prénom, nom, club, sexe (déduit automatiquement de la catégorie choisie), poids, catégorie, grade.
  • Import en masse par fichier CSV ou par texte collé.
  • Recherche et filtre par catégorie dans la liste (pensé pour de gros effectifs — testé jusqu'à 1000 athlètes).
  • Club en menu déroulant (clubs déjà connus + option « + Nouveau club »).
  • Catégorie obligatoire à la création.

🏷️ Catégories

  • 10 catégories prédéfinies du club, créées en un clic (et automatiquement au tout premier lancement).
  • Catégories personnalisées possibles en plus.
  • Par catégorie : heure de pesée, heure des combats, nombre de tapis dédiés, et numéro de départ pour la numérotation des poules.
  • Lien de pesée dédié généré automatiquement pour chaque catégorie.

🗂️ Poules / Tableaux

  • Génération automatique des poules qui priorise le rapprochement de poids, avec évitement des clubs en second plan.
  • Alerte visuelle si l'écart de poids dans une poule dépasse 10 %.
  • Éditeur manuel : toucher un athlète pour le sélectionner, toucher une autre poule pour l'y déplacer.
  • Un combattant ne se retrouve jamais sur deux tapis différents : chaque poule entière est assignée à un seul tapis.
  • Impression des feuilles de poules fidèle à une feuille de compétition réelle (barème, ordre des combats, tapis et numéro de poule pré-remplis).
  • Format spécial pour les poules de 2 athlètes (catégorie Poussinets) : barème par points, bloc « Classement final » séparé.

🥋 Tapis

  • Vue de consultation « qui est sur quel tapis », organisée par catégorie puis par tapis — pas de saisie de score dans l'appli.
  • Feuille imprimable récapitulative « Répartition par tapis », filtrable par catégorie ou toutes en une fois.

📋 Résultats

  • Tableau éditable par poule : Victoires et Classement saisis à la main, Points calculés automatiquement à partir du barème.
  • Pré-remplissage automatique à partir des combats déjà notés en direct, si disponibles.
  • Les points ne sont attribués à un club que lorsque la poule est entièrement terminée.

🏆 Classement

  • Nouvel onglet séparé de « Clubs », avec podium visuel (top 4) du classement général.
  • Classements détaillés : général, masculin/féminin, par catégorie.
  • Barème de points basé uniquement sur le classement en poule (1er / 2e / 3e / 4e et plus), configurable.

🏛️ Clubs & inscriptions en ligne

  • Onglet Clubs recentré sur la gestion des clubs participants et l'export des données.
  • Lien d'inscription hébergé généré automatiquement pour chaque club, nom déjà intégré — inscriptions directes dans l'onglet Athlètes.
  • Un club peut corriger ses propres inscriptions.
  • Synchronisation automatique des clubs détectés chez les athlètes (import, ancienne saisie...).
  • Suppression d'un club : prévient du nombre d'athlètes rattachés et les supprime avec lui si confirmé.
  • Page d'inscription autonome, 100 % hors-ligne, en secours.

⚖️ Pesée

  • Page dédiée multi-appareils, connectée en direct : plusieurs bénévoles peuvent peser en même temps sans se marcher dessus.
  • Cocher « Présent », ajuster le poids réel, ajouter un athlète de dernière minute.
  • Lien dédié par catégorie qui verrouille le filtre et le formulaire d'ajout.

📜 Historique

  • Archivage d'un instantané complet en fin de saison, consultable et comparable d'une édition à l'autre.

⚙️ Configuration

  • Nouvel onglet Configuration : nom et logo du club (image redimensionnée automatiquement à 300×300px max avant enregistrement). Prévu pour accueillir d'autres réglages généraux par la suite.

🏠 Accueil & navigation

  • Nouvel onglet Accueil (par défaut à l'ouverture) : cartes cliquables avec icône vers chaque section.

🔒 Sécurité

  • Authentification de l'admin (identifiant/mot de passe, session), protection de l'accès direct au contenu de l'admin.
  • Les pages publiques restent sans compte, mais ne peuvent qu'ajouter/modifier des athlètes.
  • Écritures atomiques côté serveur : deux appareils utilisés en même temps ne s'écrasent jamais mutuellement.

🧪 Outils de test

  • Section dédiée (hors navigation principale), qui peut être masquée via une case à cocher.
  • Import en un clic d'un jeu de données de test (1000 athlètes fictifs).
  • Réinitialisation complète de la base de données (avec confirmation, action irréversible).

🛠️ Divers

  • Export SQLite complet et exports CSV (athlètes, combats, classement clubs).
  • Page de diagnostic serveur pour vérifier PHP/SQLite/droits d'écriture.
  • Documentation technique complète dans le code.
  • Page de crédits, avec lien de retour.
  • Mise en page corrigée pour ne plus déborder horizontalement sur mobile.
  • Renommage de l'application : « Kaizen Judo » (nom du club, source de confusion) devient Nakama. Migration automatique et transparente du fichier de base de données au premier chargement, sans perte de données.
  • Page de changelog (celle-ci), accessible depuis un lien en pied de page.

Corrections de bugs notables

  • Chargement parfois bloqué sur « Chargement… » au premier affichage d'un onglet.
  • Athlètes/clubs disparaissant du classement dès qu'une seule valeur était saisie manuellement dans une poule.
  • Erreur 500 sur les pages d'inscription en ligne (extension PHP mbstring).
  • Regroupement automatique de catégories par poids (fonctionnalité retirée, remplacée par des catégories fixes).
Le détail complet et le suivi des bugs restants sont dans KNOWISSUES.md, sur le serveur.