Patch Notes
Historique des mises à jour du projet Équipe de nuit.
v1.8.0
2 octobre 2026
▾ Réduire
🗺️ Pokémon — 12 zones à explorer
« Explorer » ouvre une carte : de la Route 1 (Niv. 2–8) jusqu'au Sanctuaire des légendaires (Niv. 65–90), chaque zone a son décor, ses niveaux et ses types de Pokémon
Les nouvelles zones s'ouvrent avec les badges d'arène ; le Sanctuaire s'ouvre une fois la Ligue battue
Jour et nuit (heure réelle) : de 20 h à 7 h, les Pokémon Spectre et Ténèbres sortent et les nocturnes sont bien plus fréquents
Après un combat (victoire, capture ou fuite), un bouton « Combat suivant » relance un combat dans la même zone, sans repasser par la carte (touche Entrée sur ordinateur). Le Centre Pokémon et la carte sont accessibles au même endroit
🏟️ Arènes et Ligue Pokémon
8 Champions d'Arène (Pierre, Ondine, Major Bob, Érika, Koga, Morgane, Auguste, Giovanni) à battre dans l'ordre, avec leurs équipes d'origine · 5 PA par défi
Chaque badge rapporte des PokéDollars et une CT Universelle, et ouvre de nouvelles zones ; les badges s'affichent sur ton tableau de bord
La Ligue : le Conseil 4 puis le Maître, 5 combats d'affilée sans passer par le Centre Pokémon · 10 PA
Devenir Maître de la Ligue rapporte 20 000 ₽, une Nitro Évolution et 10 Hyper Balls
Contre un dresseur : pas de capture, l'XP est majorée de 50 %, et tu peux abandonner à tout moment
📕 Pokédex et quêtes du jour
Pokédex des 493 espèces : vues et capturées, avec des filtres. Les Pokémon que tu possèdes déjà y sont inscrits automatiquement
Paliers de récompenses à 10, 25, 50, 100, 150, 250, 350 et 493 espèces capturées
3 quêtes par jour (gagner des combats, capturer, porter des coups super efficaces, combattre de nuit, battre un dresseur…), renouvelées à minuit
📈 Règles officielles
Expérience : les courbes officielles (rapide, moyenne, lente…) selon l'espèce, et l'XP gagnée dépend du Pokémon vaincu et de son niveau. Ta progression dans le niveau en cours est conservée
Capture : la formule officielle (taux de capture de l'espèce, PV restants, Ball, altération). Les chances s'affichent à côté de chaque Ball dans le menu Objet
🛠️ Corrections
Un badge « Shiny » s'affiche dans le cadre des Pokémon shiny pendant le combat
Corrigé : ton Pokémon pouvait rester invisible en combat ; les stats des deux Pokémon sont maintenant sous l'arène pour ne rien masquer
Sur mobile, le bouton « Retour » n'est plus caché par le bouton « Accueil », et les longues notifications ne dépassent plus en bas de l'écran
v1.7.1
2 octobre 2026
▾ Réduire
✨ Pokémon — Shiny et corrections
Un shiny garde son bonus de +10 % sur toutes ses stats après une montée de niveau ou une évolution (il le perdait auparavant)
Les shiny peuvent aussi apparaître dans le donjon, boss compris
Ton shiny scintille quand il entre en combat ; le menu « Changer » et le choix d'évolution d'Évoli montrent les sprites shiny
Corrigé : un combat pouvait rester bloqué après la première attaque si le navigateur avait gardé une ancienne version du jeu en mémoire
v1.7.0
2 octobre 2026
▾ Réduire
🎨 Pokémon — Nouvel écran de combat
Une arène façon jeux
L'adversaire en haut à droite, ton Pokémon de dos en bas à gauche, chacun sur sa plateforme, avec des cadres nom / niveau / PV
Décor selon le Pokémon rencontré : hautes herbes, bord du lac, grotte, volcan, bois sombre, plaine enneigée, sommet venteux, clairière mystique, centrale abandonnée, donjon
La nuit tombe sur l'arène entre 20 h et 7 h (heure réelle)
Sprites animés de Pokémon Noir et Blanc, en combat, en PvP et sur le tableau de bord
Animations
Entrée en scène, élan à l'attaque, éclats aux couleurs du type, dégâts qui s'affichent, secousse sur un coup critique ou super efficace
Altérations, hausses et baisses de stats et soins affichés au-dessus des Pokémon ; K.O. qui s'efface
Capture : la Ball est lancée, avale le Pokémon et tremble jusqu'à trois fois
Évolution : silhouette lumineuse qui alterne entre les deux formes avant la révélation
Les animations sont désactivées si ton appareil demande de réduire les mouvements
Interface
Boutons de capacités aux couleurs de leur type, placés juste sous l'arène (plus besoin de faire défiler sur mobile)
Cris des Pokémon en option (bouton 🔇 / 🔊, coupés par défaut — non disponibles sur Safari)
v1.6.0
2 octobre 2026
▾ Réduire
⚔️ Pokémon — Combats plus riches
Vitesse, Attaque Spé. et Défense Spé.
Le plus rapide attaque en premier (la paralysie divise la Vitesse par deux) ; Vive-Attaque et les autres capacités prioritaires passent devant
Nouvelle stat Défense Spé. : les attaques spéciales utilisent l'Attaque Spé. contre la Défense Spé., en exploration comme en PvP
Précision propre à chaque capacité (Hypnose 60 %, Lance-Flammes 100 %…) et coups critiques à environ 4 % (davantage pour Tranche, Tranch'Herbe…)
Altérations et capacités de statut
Brûlure, paralysie, poison, poison grave, sommeil et gel — elles persistent après le combat jusqu'au Centre Pokémon
Les capacités de statut sont jouables : Cage Éclair, Toxik, Poudre Dodo, Danse Lames, Soin, Repos…
Hausses et baisses de stats en combat (Atq +2, Déf −1…) affichées sous le nom du Pokémon
Effets secondaires : 10 % de brûlure de Lance-Flammes, peur de Morsure, vol de vie de Giga-Sangsue, contrecoup de Damoclès…
Nouvel objet : Total Soin (600 ₽), et capture facilitée d'un Pokémon endormi, gelé ou paralysé
Adversaires plus malins
L'adversaire choisit l'attaque la plus efficace selon les types, ou une capacité de statut au bon moment
Les boutons de capacités indiquent l'efficacité contre l'adversaire (×2, ×½, ×0)
🐛 Pokémon — Corrections
53 noms de Pokémon corrigés (Élektek, Boustiflor, Feuforêve, Scarhino, Corboss…) et capacités affichées en français
Électrik contre Plante est désormais « pas très efficace »
Les Pokémon sauvages évoluent selon leur niveau (fini les Rattata niveau 90) ; légendaires plus rares (0,5 %) et à partir du niveau 30
Le boss du donjon reçoit aussi son bonus en Attaque Spé. et Défense Spé.
PvP : une capacité choisie correspond toujours à celle lancée
v1.5.0
26 septembre 2026
▾ Réduire
✨ Idle des Douze — Sorts de classe
Tous les sorts offensifs de chaque classe
Chaque classe dispose de 8 à 16 sorts officiels, appris au fil des niveaux, avec leurs grades (niveaux 1, ~66 et ~132).
Coût en PA, lancers par tour et par cible, temps de recharge et coups critiques repris de Dofus
Les sorts de zone touchent jusqu'à 3 monstres, les vols de vie soignent
En combat, le personnage choisit à chaque action le sort le plus efficace selon les résistances de la cible ; on peut désactiver un sort
Rangs de sorts
1 point de sort par niveau ; chaque sort monte du rang 1 au rang 5
Passer au rang suivant coûte autant de points que le rang actuel ; +10 % de dégâts par rang, +5 % de critique au rang 5
Dégâts élémentaires
Chaque ligne de dégâts utilise la caractéristique de son élément (Force pour Terre et Neutre, Intelligence pour Feu, Chance pour Eau, Agilité pour Air)
L'équipement compte entièrement : puissance, dommages fixes et élémentaires, dommages critiques, % dommages aux sorts, d'armes, en mêlée et à distance
Côté défense : résistances fixes et en %, résistances mêlée / distance et résistance aux critiques
L'onglet Personnage détaille, élément par élément, le multiplicateur, les dommages ajoutés et les résistances
🗺️ Idle des Douze — Jusqu'au niveau 200
28 nouvelles zones : Pandala, Otomaï, Frigost, Cania, Sakaï, Grobe, Osavora…
Environ 2 800 équipements officiels, du niveau 1 au niveau 200
Les zones au-delà du niveau 200 s'ouvrent au niveau 200
v1.4.0
25 septembre 2026
▾ Réduire
🥚 Nouveau jeu — Idle des Douze
Un idle dans l'univers de Dofus
Choisis ta classe, envoie ton personnage dans une zone du Monde des Douze : il combat tout seul, même quand tu n'es pas là.
19 classes jouables, chacune avec son premier sort et un bonus passif
30 zones, d'Incarnam à l'Île du Minotoror, avec leurs vrais monstres
Près de 1 700 équipements officiels (niveau 1 à 120) dont les caractéristiques sont tirées au hasard dans leur fourchette, comme les jets de Dofus
5 points de caractéristiques par niveau ; la Sagesse augmente l'XP, la Prospection les chances de drop
Gains hors ligne jusqu'à 12 h
Échanges entre joueurs
Propose jusqu'à 3 équipements et des kamas, et demande en retour jusqu'à 3 équipements et des kamas
Ce que tu proposes est mis de côté pendant l'attente ; tu le récupères automatiquement en cas de refus ou d'annulation
🔒 Pokémon — Sécurité des échanges
Un joueur ne peut plus modifier l'équipe ou la boîte d'un autre dresseur en dehors de l'acceptation d'un échange qui lui est adressé
Un échange accepté, refusé ou annulé ne peut plus changer de statut
v1.3.2
24 avril 2026
▾ Réduire
🧬 Pokémon — Nouvel objet
Nitro Évolution
Un Pokémon niveau 100 ne peut plus gagner d'XP et donc jamais déclencher son évolution de niveau. La Nitro Évolution règle ce problème.
Force immédiatement l'évolution de niveau d'un Pokémon, même au niveau 100
Disponible en boutique (onglet Objets) — 5 000₽, revente 2 500₽. Usage unique.
Le bouton apparaît sur la carte du Pokémon (équipe et boîte) uniquement si une évolution de niveau existe
Tous les attributs sont conservés après évolution : shiny, boss donjon, objet tenu, niveau, XP, capacités
⚔️ PvP — Améliorations de l'interface
Types des Pokémon sur les cartes
Les badges de type (ex. Insecte, Poison) s'affichent désormais sous le niveau sur chaque carte Pokémon en combat PvP
Informations complètes sur les boutons de capacités
Les boutons de capacités en PvP affichaient auparavant uniquement le nom et le coût en MP.
Chaque bouton affiche maintenant le badge de type coloré, la puissance et le coût en MP — identique au combat normal
Les capacités insuffisantes en MP restent grisées
Badge Boss Donjon en PvP
Le badge ⚔️ Boss Donjon · ×N stats s'affiche sur la carte du Pokémon concerné pendant un combat PvP
🖥️ Nouveau — LateNightMonitoring
Outil de monitoring et diagnostique système
LateNightMonitoring est un utilitaire Windows développé par l'équipe pour surveiller en temps réel les performances de la machine.
Surveillance en temps réel des températures, charges CPU/GPU, mémoire et stockage
Disponible en deux versions depuis l'accueil : portable (aucune installation requise) et installateur
Compteur de téléchargements affiché en direct sur la carte
v1.3.1
12 avril 2026
▾ Réduire
📦 Boîte & Équipe
Filtres de statistiques dans la boîte
6 nouveaux filtres de tri : Force ↓↑, Défense ↓↑ et Vitesse ↓↑ — disponibles dans la barre de tri de la boîte
Préréglages d'équipe
Il est désormais possible de sauvegarder et recharger des compositions d'équipe depuis la page boîte.
Deux types de préréglages : PvP (3 Pokémon) et PvE (6 Pokémon)
Jusqu'à 5 préréglages par type, sauvegardés dans le cloud
Le sélecteur PvP permet de choisir exactement 3 Pokémon parmi la boîte et l'équipe actuelle
Chaque préréglage peut être renommé, rechargé ou supprimé individuellement
💿 Nouvel objet — CT Universelle
Enseigner une capacité depuis la liste de niveau
Nouvel objet disponible dans la boutique : la CT Universelle permet à un Pokémon d'apprendre immédiatement n'importe quelle capacité de sa liste d'apprentissage, même si son niveau ne le permet pas encore.
Prix : 10 000₽ — revente : 5 000₽
Accessible depuis les cartes Pokémon de l'équipe et de la boîte
Affiche uniquement les capacités de la movelist non encore apprises
Si les 4 emplacements sont occupés, le sélecteur de remplacement s'ouvre normalement
⚔️ Combat
Indicateur d'espèce jamais capturée
La carte du Pokémon sauvage affiche un contour vert lorsque l'espèce n'est présente ni dans l'équipe ni dans la boîte — disparaît dès qu'un exemplaire est capturé
Correction — Badge Boss Donjon
Le badge ⚔️ Boss Donjon n'apparaissait plus systématiquement sur la carte ennemie — condition d'affichage corrigée
🌿 Génération 4 — Sinnoh
107 nouveaux Pokémon (IDs 387–493)
Tous les Pokémon de Sinnoh sont désormais disponibles à la capture et à l'échange.
3 nouveaux starters au choix lors de la création du dresseur : Tortipouss, Ouisticram et Tiplouf
Pokémon répartis dans les pools de rencontre habituels (commun, semi-rare, rare, légendaire)
~50 nouvelles évolutions de niveau, dont les évolutions inter-génération (Magnézone, Baudosor, Yanmega, Mammochon, Tarinorme, Lockpin…)
5 nouvelles évolutions par échange (Rhinastoc, Hexagel, Magmortar, Fucidex, Noctunoir)
3 nouvelles pierres d'évolution
Pierre Éclat ✨ — fait évoluer Togetic → Togekiss et Rosélia → Roserade (10 000₽)
Pierre Aube 🌅 — fait évoluer Kirlia → Gallame et Stalgamin → Froslass (10 000₽)
Pierre Nuit 🌑 — fait évoluer Cornèbre → Cawotte, Mélodelfe → Magirêve et Téraclope → Noctunoir (10 000₽)
🛒 Boutique — Réorganisation par onglets
5 onglets pour naviguer dans le catalogue
Le catalogue de la boutique était devenu long à parcourir. Il est désormais divisé en onglets thématiques.
🛒 Tout — affiche l'intégralité du catalogue (comportement précédent)
💊 Soins — Potions, Rappels, Éthers
🔴 Balles — Poké Ball, Super Ball, Hyper Ball
🎒 Objets — Multi-XP, CT Universelle
💎 Pierres — toutes les pierres d'évolution (9 au total)
📦 Boîte — Recherche par nom
Champ de recherche en temps réel
Un champ de recherche en haut de la boîte permet de filtrer les Pokémon par nom instantanément
La recherche est insensible à la casse et fonctionne en combinaison avec les filtres de tri existants
Un message s'affiche si aucun Pokémon ne correspond à la recherche
🛠️ Technique
Optimisation du chargement
Chargement des polices rendu non-bloquant : remplacement de l'
@import CSS par des balises <link rel="preconnect"> dans le <head> — le rendu initial n'est plus retardé par les requêtes de policesAjout de préconnexions DNS anticipées pour Firebase, Firestore, PokeAPI et les sprites GitHub
v1.3.0
9 avril 2026
▾ Réduire
⛽ Nouveau — Carte Essence Alsace
Prix de l'essence en temps réel sur une carte interactive
Nouvelle page utilitaire disponible depuis l'accueil : une carte de l'Alsace avec tous les points de vente de carburant et leurs prix mis à jour en direct depuis les données officielles du gouvernement.
Carte Leaflet centrée sur l'Alsace avec ~300 stations-service du Bas-Rhin et du Haut-Rhin
6 carburants disponibles en sélection par onglet : Diesel, SP95, E10, SP98, E85 et GPL
Marqueurs colorés selon le prix relatif : vert (moins cher) → jaune → orange → rouge (plus cher), recalculés à chaque changement de carburant
Popup au clic sur un marqueur : tous les prix disponibles de la station + date de dernière mise à jour
Panneau latéral « Prix les moins chers » : top 10 des stations triées par prix croissant — clic sur une entrée pour zoomer sur la station et ouvrir son popup
Légende avec prix minimum et maximum pour le carburant sélectionné
Données fournies par l'API officielle du gouvernement français (data.economie.gouv.fr) — mise à jour en continu
💬 Améliorations — Chat global
Date et heure sur les messages
Les messages affichent désormais l'heure ET la date : format HH:MM pour les messages du jour, JJ/MM HH:MM pour les messages des jours précédents
Notification visuelle de nouveau message
Lorsqu'un autre joueur envoie un message et que le chat est fermé, une notification s'affiche en bas à droite de l'écran.
Aperçu du message avec le nom de l'auteur (coloré) et les 58 premiers caractères du texte
La notification reste visible jusqu'à ce que le chat soit ouvert ou qu'elle soit fermée manuellement via le bouton ✕
Clic sur la notification → ouverture directe du chat
Pulsation dorée sur le bouton 💬 tant qu'il y a des messages non lus
Les propres messages de l'utilisateur ne déclenchent pas de notification
🔐 Panneau administrateur
Nouveau bouton — Vider le chat
Suppression en lot de tous les messages du chat en un clic, avec confirmation préalable
Le toast de confirmation indique le nombre exact de messages supprimés
Amélioration — Reset des PA
Le toast d'erreur affiche désormais le code Firestore exact (ex. : permission-denied) pour faciliter le diagnostic
Découpage automatique en lots de 400 opérations pour rester dans les limites Firestore, quelle que soit la taille de la base joueurs
v1.2.5
9 avril 2026
▸ Développer
✨ Nouvelles fonctionnalités — Pokémon Gen 3
Génération 3 complète (Pokémon #252–386)
Les 135 Pokémon de Hoenn rejoignent le jeu, avec les mêmes règles de répartition que les générations précédentes.
Noms français officiels pour les 135 nouveaux Pokémon (Arcko, Poussifeu, Gobou… jusqu'à Deoxys)
Pool commun étendu aux 135 Pokémon de Hoenn — formes finales puissantes et starters exclus des rencontres sauvages
Semi-rares Gen 3 : Arcko, Poussifeu, Gobou (starters), Tarsal, Ténéfix, Mysdibule, Chartor, Spinda, Zangoose, Séviper, Barpau, Morphéo, Kecleon, Absol, Relicanth, Draby, Terhal
Rares Gen 3 : Regirock, Regice, Registeel, Latias, Latios, Kyogre, Groudon, Rayquaza, Jirachi, Deoxys
🌟 Starters — 3 générations au choix
9 starters disponibles dès le départ
L'écran de choix du starter présente les 9 starters des trois générations, organisés par groupe avec un label de génération.
Gen 1 : Bulbizarre, Salamèche, Carapuce
Gen 2 : Germignon, Héricendre, Kaiminus
Gen 3 : Arcko, Poussifeu, Gobou
🔧 Système d'évolution — Gen 3
Évolutions par niveau
35 nouvelles chaînes d'évolution par niveau couvrant l'intégralité de la génération 3.
Starters : Arcko → Massko (niv. 16) → Jungko (niv. 36) ; Poussifeu → Galifeu → Braségali ; Gobou → Flobio → Laggron
Pseudo-légendaires : Draby → Drackhaus (niv. 30) → Drattak (niv. 50) ; Terhal → Métang (niv. 20) → Métalosse (niv. 45)
Tarsal → Kirlia (niv. 20) → Gardevoir (niv. 30) ; Kraknoix → Vibraninf (niv. 35) → Libégon (niv. 45)
Et toutes les autres chaînes : Ningale → Ninjask, Obalie → Phogleur → Kaimorse, Balbuto → Kaorine, etc.
Nouvelles évolutions par pierre
💧 Pierre Eau — Lombre → Ludicolo
🌿 Pierre Feuille — Pifeuil → Tengalice
🌙 Pierre Lune — Skitty → Delcatty
Évolutions spéciales (à partir du niveau 40)
Barpau → Milobellus (originalement lié à la beauté en jeu officiel — remplacé par une évolution à partir du niveau 40)
Coquiperl → Serpang (originalement via échange avec objet)
🐛 Corrections de bugs
Combat PvP
Correction d'une erreur bloquante lors de la création d'une salle PvP (champ indéfini dans le document Firestore)
Après le premier tour, les boutons d'action ne s'affichaient plus pour le joueur guest — le flag local n'était pas remis à zéro côté guest
Le joueur qui saisissait le code ne pouvait pas rejoindre une partie déjà créée — corrigé
Rencontres sauvages
Les Pokémon sauvages pouvaient apparaître au-dessus du niveau 100 — niveau désormais plafonné à 100
Les légendaires de Gen 2 (Johto) n'affichaient pas le message d'apparition spécial — ils étaient présents dans le pool commun faute d'exclusion explicite
Échanges
Les échanges ne fonctionnaient plus suite à un durcissement des règles Firestore — les transactions atomiques cross-utilisateur sont à nouveau autorisées pour les champs équipe/boîte/inventaire uniquement
Bug de duplication : le Pokémon proposé était dupliqué côté initiateur car son état local n'était jamais rechargé après acceptation — un second listener Firestore synchronise maintenant les deux joueurs
Panneau administrateur
L'attribution de PA à l'ensemble des joueurs ne fonctionnait plus — les règles Firestore bloquaient les écritures en lot sur les documents des autres utilisateurs
v1.2.4
4 avril 2026
▸ Développer
✨ Nouvelles fonctionnalités — Pokémon Gen 2
Génération 2 complète (Pokémon #152–251)
Les 100 Pokémon de Johto font leur entrée dans le jeu, avec les mêmes règles de répartition que la Gen 1.
Noms français officiels pour les 100 nouveaux Pokémon (Germignon, Héricendre, Kaiminus… jusqu'à Celebi)
Pool commun étendu à 185 Pokémon rencontrables — les formes finales puissantes et les starters restent exclus des rencontres sauvages
Semi-rares Gen 2 : Germignon, Héricendre, Kaiminus (starters), Pichu, Togepi, Migalos, Joliflor, Tarpaud, Mentali, Noctali, Girafarig, Embrylex
Rares Gen 2 : Zarbi, Raikou, Entei, Suicune, Lugia, Ho-Oh, Celebi
🌟 Système d'évolution complet
Évolutions par niveau (Gen 1 + Gen 2)
Les Pokémon évoluent automatiquement en combat dès que la condition de niveau est atteinte, même si elle l'était déjà avant la capture.
Table complète des niveaux d'évolution officiels pour les deux générations (ex. : Salamèche → Reptincel niv. 16, Reptincel → Dracaufeu niv. 36)
Rattrapage automatique : un Salamèche capturé au niveau 50 évolue directement en Dracaufeu dès son prochain gain de niveau
Chaînes d'évolution gérées en une seule montée de niveau (ex. : Chenipan niv. 50 → Chrysacier → Papilusion en un seul combat)
Compatible avec le porteur Multi-XP : les évolutions se déclenchent aussi pour le Pokémon passif qui reçoit de l'XP bonus
Évolutions par pierre — 6 nouvelles pierres en boutique
Six pierres d'évolution sont disponibles à la boutique (10 000 ₽ l'unité, usage unique). Le bouton d'utilisation apparaît directement sur la carte du Pokémon concerné si la pierre correspondante est en inventaire.
🔥 Pierre Feu — Goupix → Feunard, Caninos → Arcanin, Évoli → Pyroli
💧 Pierre Eau — Têtarte → Tartard, Kokiyas → Crustabri, Stari → Staross, Évoli → Aquali
⚡ Pierre Tonnerre — Pikachu → Raichu, Évoli → Voltali
🌙 Pierre Lune — Nidorina → Nidoqueen, Nidorino → Nidoking, Mélofée → Mélodelfe, Rondoudou → Grodoudou
🌿 Pierre Feuille — Ortide → Rafflesia, Nœunouf → Noadkoko
☀️ Pierre Soleil — Ortide → Joliflor, Tournegrin → Héliatronc
Évoli — choix de l'évolution au niveau 36
Lorsqu'Évoli atteint le niveau 36 en combat, un popup s'affiche et propose de choisir entre ses trois formes.
Popup avec les sprites et noms d'Aquali, Voltali et Pyroli — sélection visuelle avant confirmation
Option « Pas maintenant » disponible pour reporter l'évolution au prochain gain de niveau
Évolutions par échange remplacées par montée de niveau
Les Pokémon qui évoluaient normalement via échange (Kadabra, Machopeur, Gravalanch, Spectrum…) proposent désormais leur évolution à partir du niveau 40.
Gen 1 : Kadabra → Alakazam, Machopeur → Mackogneur, Gravalanch → Grolem, Spectrum → Ectoplasma
Gen 2 : Onix → Steelix, Insécateur → Cizayox, Porygon → Porygon2, Hypocéan → Hyporoi
Popup de confirmation avec le sprite de la forme cible — option « Pas maintenant » disponible
🐛 Corrections de bugs
Sprites shiny préservés après évolution
Correction : un Pokémon shiny qui évoluait perdait son sprite chromatique et revenait à la version normale — les sprites shiny sont désormais correctement conservés quelle que soit l'évolution déclenchée
Dracolosse absent des pools
Correction : Dracolosse (ID 149) n'était référencé dans aucun pool de rencontre ni dans les exclusions — il est maintenant correctement exclu des rencontres sauvages en tant que troisième évolution
👤 Profil utilisateur
Accès depuis la page d'accueil
Le profil est désormais accessible depuis la page d'accueil en cliquant directement sur son nom d'utilisateur — disponible sur tout le site, quel que soit le jeu ouvert.
Changement de pseudo (cooldown 30 jours)
Un modal de profil permet de changer son pseudo, avec un cooldown de 30 jours entre chaque modification.
Le pseudo est mis à jour sur l'ensemble du site au moment de la validation
Le cooldown restant est affiché en jours — le champ de saisie est verrouillé pendant la période d'attente
Entre 3 et 24 caractères requis
Changement de mot de passe
Le profil permet également de modifier son mot de passe depuis n'importe quelle page du site.
Le mot de passe actuel est requis avant toute modification
Confirmation du nouveau mot de passe (8 caractères minimum) exigée avant validation
Les champs sont vidés automatiquement après un changement réussi
v1.2.3
3 avril 2026
▸ Développer
✨ Nouvelles fonctionnalités — Pokémon
Noms français officiels
Tous les Pokémon de la Gen 1 affichent désormais leur nom français officiel, conformément aux noms de la série principale.
Table de correspondance complète pour les 151 Pokémon Gen 1 (Bulbizarre, Salamèche, Dracaufeu, Évoli, Mewtwo, Mew…)
Les nouveaux Pokémon capturés ou rencontrés reçoivent directement leur nom français
Migration automatique au chargement : les Pokémon déjà sauvegardés voient leur nom mis à jour sans aucune action de ta part
Joueurs en ligne en temps réel
Un widget sur le dashboard affiche les dresseurs connectés à l'instant, pour faciliter les échanges entre joueurs.
Mise à jour en temps réel via Firestore — la liste se rafraîchit automatiquement toutes les minutes
Chaque carte affiche l'avatar du Pokémon actif, son niveau, et le nom du dresseur
Cliquer sur le nom d'un dresseur le copie dans le presse-papiers pour le coller directement dans un échange
Les joueurs inactifs depuis plus de 2 minutes sont automatiquement retirés de la liste
Sélection du remplaçant après un K.O.
Lorsqu'un Pokémon est mis hors combat, le jeu affiche désormais un menu de sélection au lieu d'envoyer automatiquement le suivant.
Menu de remplacement présentant tous les Pokémon encore valides de l'équipe (PV > 0)
Affichage des PV actuels et maximum pour faciliter le choix
Le changement après K.O. est gratuit — l'adversaire n'attaque pas pendant le remplacement
Si toute l'équipe est K.O., la défaite est déclarée normalement
Système d'échec et de coup critique
Chaque attaque comporte désormais une faible probabilité d'échec ou de coup critique, pour les joueurs comme pour les Pokémon sauvages.
Taux d'échec : 1 % — l'attaque ne cause aucun dégât et le message « L'attaque a raté ! » s'affiche dans le journal
Taux de coup critique : 1 % — les dégâts sont multipliés par 1,5 et le message « ⚡ Coup critique ! » s'affiche
Ces probabilités s'appliquent également aux Pokémon sauvages lors de leurs attaques
⚖️ Équilibrage — Points d'Action
Coût du Centre Pokémon et de la Boutique
Visiter le Centre Pokémon coûte désormais 1 PA (au lieu de 0)
Accéder à la Boutique coûte désormais 1 PA (au lieu de 0)
Un message d'erreur s'affiche si le solde de PA est insuffisant avant d'entrer
🐛 Corrections de bugs
Sprites shiny et badge ✨
Correction : les Pokémon shiny affichaient leur sprite normal sur le dashboard et la page Équipe — les sprites chromatiques sont désormais correctement utilisés
Ajout d'un badge ✨ Shiny visible sur le dashboard (grille d'équipe) et sur la page Équipe pour chaque Pokémon chromatique
Types de capacités incorrects
Correction : plusieurs capacités affichaient le type « Normal » à tort — Light Screen et Jackpot → Psy, Ancient Power → Roche, Léchouille → Spectre, Tornade → Vol
Migration automatique : les capacités déjà apprises et sauvegardées voient leur type corrigé au prochain chargement
🔒 Sécurité — Règles Firestore
Règles complètes pour l'ensemble du site
Les règles Firestore ont été entièrement réécrites pour couvrir toutes les collections utilisées sur le site.
chat — lecture et création ouvertes aux utilisateurs connectés ; suppression réservée à l'auteur ou au modérateur ; modification interditeusers — lecture/écriture pour tout utilisateur connecté (nécessaire pour les transactions ELO aux échecs)games — création par le joueur blanc uniquement ; modification par les deux joueurs ; suppression interditepoker_games — création par l'hôte uniquement ; modification par l'hôte et les joueurs inscritspokemon_trainers — lecture/écriture pour tout utilisateur connecté (échanges entre joueurs)trades — règles granulaires sur les transitions de statut ; seules les parties concernées peuvent créer, accepter ou annuler
v1.2.2
3 avril 2026
▸ Développer
✨ Nouvelles fonctionnalités — Pokémon
Système d'échange entre joueurs
Les dresseurs peuvent désormais proposer et accepter des échanges de Pokémon en temps réel.
Nouvelle section Échanges accessible depuis le dashboard, avec badge de notification en temps réel indiquant les propositions en attente
Flux de création en 4 étapes : choix de son Pokémon → recherche du partenaire par nom → choix du Pokémon souhaité → confirmation
Échanges reçus (accepter / refuser) et envoyés (annuler) visibles avec statut en direct
Exécution via transaction Firestore atomique — aucun risque de perte de Pokémon en cas d'interruption
Le Multi-XP équipé sur un Pokémon échangé est automatiquement retiré et retourné à son propriétaire d'origine
Pokémon Shiny
Chaque Pokémon rencontré en exploration a une chance d'apparaître dans sa forme chromatique.
Taux d'apparition : 1 chance sur 500 à chaque rencontre sauvage
Bonus de stats de +10 % sur tous les attributs (PV, ATK, DEF, VIT, MP)
Sprites shiny récupérés depuis le dépôt officiel PokéAPI
Icône ✨ affichée sur les Pokémon shiny dans la boîte et lors des échanges
Migration automatique : les Pokémon existants reçoivent
isShiny: false sans action requiseObjet Multi-XP
Nouvel objet disponible en boutique permettant de faire progresser un Pokémon passif pendant les combats.
Prix : 3 000 ₽ — à équiper sur un Pokémon de l'équipe active
Le porteur reçoit 50 % de l'XP de chaque combat, même sans combattre, à condition d'être vivant
Un seul Multi-XP actif à la fois — peut être déséquipé et rééquipé librement entre les combats
Si le porteur monte de niveau grâce au Multi-XP, le modal d'apprentissage de capacité s'ouvre normalement
Badge ⭐ Multi-XP affiché sur le Pokémon concerné dans la grille du dashboard
Système de rareté des rencontres
Les rencontres sauvages sont désormais réparties en trois niveaux de rareté.
Communs (89 %) — pool général Gen 1 (hors exclusions)
Semi-rares (9 %) — Bulbizarre, Salamèche, Carapuce, Pikachu, Évoli, Aérodactyl, Ronflex, Arcanine, Magikarpe
Rares (2 %) — Légendaires (Artikodin, Électhor, Sulfura, Minidraco, Draco, Mewtwo, Mew) avec message d'annonce spécial
Les troisièmes évolutions et les deuxièmes évolutions des starters sont exclues des rencontres sauvages — elles s'obtiennent uniquement par montée de niveau
Autres ajouts
Tri de la boîte de stockage : par défaut, niveau croissant / décroissant, type, nom, ou shiny en premier
Vente d'objets en boutique au prix de revente (50 % du prix d'achat)
Relâcher un Pokémon depuis la boîte, avec popup de confirmation (action irréversible)
Panneau admin : bouton pour redonner les PA maximum à tous les joueurs en une action (accès restreint à l'administrateur)
Cap de niveau à 100 — migration automatique des Pokémon existants dépassant ce seuil
🛡️ Sécurité & corrections
Achat et vente d'objets — anti-duplication
Les achats et ventes utilisent désormais des transactions Firestore atomiques : il est impossible de dupliquer des objets en ouvrant plusieurs onglets simultanément
L'état local est resynchronisé depuis Firestore après chaque opération
Échange — vérification des Pokémon
L'ID du Pokémon à chaque position est vérifié dans la transaction avant l'échange — si un Pokémon a été déplacé depuis la création de la proposition, l'échange est annulé avec un message explicite
Correction — vente Multi-XP
Correction d'une condition logique incorrecte qui permettait dans certains cas de vendre un Multi-XP même lorsqu'aucun exemplaire n'était disponible en stock
v1.2.1
2 avril 2026
▸ Développer
🆕 Nouveau projet — Pokémon (Bêta)
pokemon.html
Ajout d'un RPG solo inspiré de Pokémon, avec progression par le grind, capture de Pokémon sauvages et gestion d'équipe.
Démarrage
Choix du starter parmi Bulbizarre, Salamèche et Carapuce — stats et sprites récupérés depuis PokéAPI
Profil dresseur persistant via Firebase Firestore (
pokemon_trainers)Exploration & Combat
Rencontres aléatoires contre des Pokémon sauvages de niveau proche du joueur
Attaque normale, capacités apprises (apprentissage tous les X niveaux via PokéAPI), objets et fuite
Système de mana (MP) : les capacités consomment du MP, régénéré par l'attaque normale
Système de capture : taux basé sur les PV restants du Pokémon sauvage et le type de Ball utilisée
Changement de Pokémon en combat — l'adversaire profite du changement pour attaquer gratuitement
Progression
Gain d'XP et de PokéDollars à chaque victoire, avec chance de drop (Baie Oran, Éther)
Montée de niveau automatique avec apprentissage de nouvelles capacités
Équipe active de 6 Pokémon maximum, boîte de stockage illimitée
Interface
Statistiques (ATK / DEF / VIT) et badges de type colorés visibles pour les deux Pokémon en combat
Capacités affichées en section permanente (puissance, type physique/spéciale, coût MP)
Page équipe : badges de type, chips de stats, barre MP et liste des capacités connues pour chaque Pokémon
Boutique : Pokéballs (normale, Super, Hyper), potions, Rappel, Éther
index.html
Ajout de la carte Pokémon dans la section Jeux, avec badge Bêta
⚡ Système de Points d'Action (PA)
Anti-spam — Pokémon
Un système de Points d'Action limite la cadence des combats pour éviter le spam excessif.
Maximum de 500 PA par dresseur, régénération de 1 PA toutes les 4 minutes
Chaque combat coûte 2 PA — prélevés uniquement au premier coup porté (la fuite reste gratuite)
Affichage des PA sur le dashboard (avec compte à rebours avant le prochain PA) et dans l'écran de combat
Régénération calculée automatiquement à la reconnexion en fonction du temps d'absence
Persistance des PA et de la date de dernière régénération dans Firestore
🐛 Corrections de bugs
Pokémon
Correction : les boutons de capacité restaient désactivés au début d'un combat (rendu effectué avant l'activation des boutons)
Correction : le type du Pokémon actif n'était pas affiché si son profil était sauvegardé avant l'introduction du champ
types — refetch automatique depuis PokéAPI au prochain combat
v1.2
2 avril 2026
▸ Développer
🗂️ Organisation — Page d'accueil
index.html
Les projets sont désormais regroupés par catégorie : Jeux (Échecs, Poker) et Utilitaires (Radio Europe, Météo Alsace)
Structure extensible — de nouvelles catégories pourront être ajoutées simplement
Ajout d'un bouton Discord dans le pied de page, avec lien d'invitation direct vers le serveur de l'équipe
🛡️ Améliorations internes
Authentification
Renforcement de la vérification des comptes utilisateurs sur l'ensemble des modules multijoueurs
Le formulaire de renvoi d'email de confirmation a été repensé pour une meilleure expérience et une saisie plus sécurisée
Les données transitoires liées à la création de compte ne sont plus transmises via l'URL
Parties multijoueurs
Révision du système de génération des codes de partie (Échecs & Poker)
Correction de plusieurs cas d'affichage incorrects sur les interfaces de jeu
Chat global
Ajout d'un délai minimal entre les envois de messages pour éviter les abus
Classement Échecs
Correction d'un problème d'affichage des noms de joueurs dans le classement ELO
v1.1
2 avril 2026
▸ Développer
🔍 Vérification
Radio Europe
Audit complet du code de radio-europe.html
Vérification de la logique de fetch des stations (API Radio Browser), du player audio, de la barre "Now Playing", des contrôles de volume et du bouton stop
Aucun bug détecté — page validée
🆕 Nouveau projet — Poker Texas Hold'em
poker.html
Ajout d'un jeu de poker Texas Hold'em complet en multijoueur temps réel via Firebase Firestore.
Lobby
Création d'une table avec choix du mode (Cash Game ou Tournoi), du stack de départ (1 000 / 2 000 / 5 000 / 10 000 jetons), des blinds (10/20 · 25/50 · 50/100 · 100/200) et du nombre de joueurs (4 à 8)
Rejoindre une table existante via un code à 6 caractères
Salle d'attente avec liste des joueurs connectés et lancement par l'hôte
Table de jeu
Tapis ovale avec positions de sièges adaptées dynamiquement selon le nombre de joueurs (2 à 8)
Affichage du jeton Dealer, des mises individuelles, du stack de chaque joueur
Cartes communes au centre (placeholder → révélation progressive)
Affichage du pot et de la phase de jeu (Pré-flop / Flop / Turn / River / Showdown)
Mécaniques de jeu
Distribution automatique de 2 cartes secrètes par joueur (gérée par l'hôte via Firebase)
Blinds automatiques (petite blind + grosse blind) à chaque nouvelle main
Rotation du dealer à chaque main
Actions disponibles : Fold, Check, Call, Raise (avec slider de mise), All-in
Chaque joueur voit uniquement ses propres cartes — les autres voient des dos de carte
Évaluation automatique des mains : Hauteur → Paire → Double paire → Brelan → Suite → Couleur → Full House → Carré → Quinte Flush
Showdown automatique avec révélation des mains et désignation du gagnant (égalité gérée)
Mode Tournoi : élimination automatique des joueurs à 0 jeton
Interface
Barre "Ma main" en bas avec les 2 cartes personnelles et le nom de la combinaison
Overlay de Showdown avec cartes révélées et bouton "Main suivante" (hôte uniquement)
Notifications contextuelles (tour à jouer, erreurs, victoire)
Même design sombre violet/or que le reste du projet
index.html
Ajout de la carte Poker Texas Hold'em dans la liste des projets
🔒 Firebase
Règles Firestore mises à jour
Ajout des règles pour la collection
poker_gamesLecture autorisée à tout utilisateur connecté
Création autorisée uniquement au futur hôte
Modification autorisée à l'hôte et aux joueurs inscrits dans la partie
Suppression interdite
Les règles existantes (
games, users) restent inchangées