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.