Journal des mises à jour

Toutes les mises à jour du site et du mod serveur, les plus récentes en premier

Tu trouveras ici l'historique complet du site CloudRidge et du mod serveur, du plus récent au plus ancien, pour retrouver quand une fonctionnalité est arrivée ou quand un bug a été corrigé.

Par version Effacer

Filtré : 65 sur 127

v1.9.86 Site 2026-10-31

换页不再白屏一下、注册页的「手机号注册」能点了

  • 点站内链接时,旧页面不再先淡成一片白底 —— 之前新页面要等网络往返才到,中间那一下就是白屏。现在旧页面保持原样,换页后新页面照旧淡入、内容依次上滑。
  • 注册页的「手机号注册」原来点了像是没反应:它只是把单选按钮选中,页面上的提示文案与「发验证码」的去向都没变。现在切一下就整页重渲染,提示、去向、表单都跟着变。
  • 如果站点没有配置短信服务,注册页不会再把你留在「手机号注册」这个空壳上,而是自动退回邮箱注册。
v1.9.85 Site 2026-10-31

Un seul « Se connecter » dans l’en-tête, et un hero 3D bien cadré

  • L’entrée QQ disparaît de l’en-tête : deux boutons se côtoyaient, il n’en reste qu’un, « Se connecter ». QQ n’apparaît plus que sur les pages de connexion et d’inscription.
  • La caméra 3D se règle désormais sur la hauteur du modèle : la scène ne déborde plus d’une fenêtre haute et ne rétrécit plus dans une fenêtre basse.
  • Les couleurs des blocs sont ramenées à la palette du cerisier : planches cramoisies, verrue du Nether et coraux deviennent bois de cerisier, pétales et feuilles — fini le bruit coloré. Aucun bloc n’a bougé.
v1.9.84 Site 2026-10-31

L’accueil est désormais une scène 3D que l’on peut faire tourner

  • Tout l’accueil est maintenant une scène 3D de jardin : glissez pour tourner, molette pour zoomer, cliquez sur un bloc pour le casser — il réapparaît au bout de dix secondes.
  • Les mobiles et les navigateurs sans WebGL2 ne chargent pas la 3D de force : ils ont droit à une image fixe prise sous le même angle et un bouton Voir en 3D dans le coin.
  • Le changement de page est plus fluide : la page actuelle s’efface, la nouvelle apparaît et ses blocs remontent l’un après l’autre. Avec la réduction des animations, les liens se comportent comme avant.
  • La vignette bleue voyante de QQ a disparu : place à la plus petite icône officielle de Tencent (16×16), au même niveau que les autres.
v1.9.83 Site 2026-10-31

Un seul bouton QQ sur tout le site

  • La connexion, l’inscription, l’en-tête et l’espace compte partagent désormais le même bouton QQ : l’icône officielle de Tencent dans notre propre pastille bordée. Tencent autorise la forme « petite icône + texte », et l’icône reste l’originale.
  • Dans « Compte et sécurité » apparaît une ligne QQ : lier, relier, délier. Les comptes sans mot de passe ne peuvent pas délier — un compte créé uniquement via QQ n’a pas de mot de passe et n’y aurait plus accès.
  • Typographie et matière : des titres plus serrés et plus forts, des sections plus aérées, et une lueur douce qui suit le pointeur sur les cartes.
  • Animations : le haut de page monte ligne par ligne, les chiffres défilent, une barre de lecture apparaît en haut et les cartes de l’accueil flottent légèrement. Si votre système demande de réduire les animations, tout s’arrête ; les appareils sans survol n’ont pas de lueur.
v1.9.82 Site 2026-10-31

La connexion QQ utilise désormais le bouton officiel de Tencent — page de connexion, page d’inscription et barre de navigation

  • Les pages de connexion et d’inscription affichaient un pingouin dessiné à la main avec la mention « connexion QQ en un clic ». Le cahier des charges front-end de Tencent impose le visuel officiel « QQ登录 » et interdit de le modifier ; les deux pages utilisent donc maintenant l’image originale 230×48 de Tencent, à sa taille native — ni étirée, ni redimensionnée.
  • La barre de navigation en reçoit un aussi : le bouton officiel 76×24 « QQ登录 » sur grand écran, et sous 375 px l’icône officielle 24×24, pour que l’en-tête n’ait jamais besoin d’un défilement horizontal.
  • Deux détails corrigés au passage : le bouton officiel ne se grise jamais — si la case des conditions n’est pas cochée, un clic fait défiler jusqu’à la case et la met en évidence en rouge au lieu de désactiver le bouton (un bouton grisé ressemble précisément à un bouton mal placé). Et la phrase « ce site utilise e-mail + mot de passe » était devenue fausse : dans les dix langues elle ne garde plus que la partie sur l’inscription.
v1.9.81 Site 2026-10-18

Sur mobile, le texte du Guide du serveur passait sous sa propre table des matières — corrigé

  • Sur ordinateur, la colonne latérale du guide est une colonne étroite épinglée en haut à gauche. Une fois la mise en page ramenée à une seule colonne, elle devient pleine largeur et plus haute qu’un écran tout en restant épinglée en haut : l’article défilait dessous, le texte semblait se chevaucher, des blocs blancs flottaient sur les mots et le contenu paraissait absent. Sur écran étroit (900 px et moins), elle défile désormais avec la page ; sur ordinateur elle reste épinglée. Ce défaut existait avant cette série de changements ; il n’avait simplement jamais été remarqué sur téléphone.
v1.9.80 Site 2026-10-18

Petits outils réparés : la barre à onglets répond enfin, les dégradés sont plus libres et la calculatrice vous donne une liste à remplir puis à lancer

  • Les dix outils tenaient tous sur une seule page, et toucher la capsule en haut ne faisait que sauter vers une ancre : une impression de rien du tout. Maintenant la barre à onglets est réelle et un seul outil est visible à la fois ; une adresse avec #t-xxx ouvre toujours directement un outil, et sur téléphone la barre défile horizontalement. Le texte en dégradé passe de deux couleurs figées à 2~6 arrêts : un clic sur la barre en ajoute un, un glissement le déplace, on sélectionne un arrêt puis « Supprimer cette couleur » le retire, et les couleurs sont interpolées caractère par caractère selon la position, donc les codes § / MiniMessage / tellraw / MOTD changent ensemble, et un MOTD trop long déclenche un avertissement
  • La calculatrice de configuration serveur passe de trois paliers de budget à neuf champs. Nombre de mods, distance de vue, distance de simulation, présence de redstone, TPS cible et version sont tous modifiables. La sortie ne se limite plus à quelques chiffres : la mémoire explique pourquoi elle grimpe, et vous obtenez en plus une commande de lancement copiable avec Aikar’s flags, des conseils ligne par ligne pour server.properties et spigot.yml, et une liste de mods et plugins classée par style de jeu. Les trois valeurs qui changent le plus — mémoire par joueur, coefficient de mods et coefficient de redstone — sont passées dans « Outils » du panneau, et un rafraîchissement les applique
  • Le bilan de lag attribue maintenant le coût poste par poste et le compare aux données en direct du site. Quatre champs supplémentaires : entités permanentes, chargeurs de chunks, fils de redstone et fermes automatiques. La sortie découpe le MSPT en sept postes avec part et millisecondes, et ne désigne un coupable que si ce poste prend vraiment le plus gros (plus de 45%) ; sinon elle dit honnêtement que le plus gros reste modeste au total. Chaque poste vient avec une correction applicable, et le calcul récupère aussi les données en direct du site pour indiquer combien votre échelle devrait théoriquement coûter et combien de marge il reste ici ; sans données, une estimation locale suffit et rien ne plante
v1.9.79 Site 2026-10-18

Le verre liquide refait à la manière d’Apple : il réfracte, il brille et tient sur du blanc

  • ① À la version précédente, le verre n’était en gros qu’une couche blanche, invisible dès qu’il se posait sur une carte blanche. Cette fois la matière est refaite d’après iOS 26 : un filet clair en haut, un filet sombre en bas, un anneau d’un pixel à l’extérieur, une lueur douce à l’intérieur, plus une ombre très légère ; sur ordinateur il réfracte toujours pour de vrai (l’arrière-plan se courbe légèrement, la plaque monte d’un pixel au survol et redescend à l’appui). Les boutons principaux et ceux d’action dangereuse étaient entièrement exclus du verre, ils y entrent désormais : le dégradé de marque reste sur le bouton lui-même, le contraste du texte blanc ne bouge pas, et la couche de verre n’apporte que reflet et contour, sans réfraction par-dessus. La même matière couvre les champs de saisie, les listes déroulantes, les étiquettes, les badges jeu, outil et joueur et la navigation du haut.
  • ② Sur mobile, plus de réfraction (c’est l’étape la plus coûteuse) : le rendu se replie automatiquement sur un flou plus un contour lumineux. On y voit toujours du verre, mais cela ne coûte presque rien au GPU. Au passage, un vrai bug est corrigé : la branche mobile sortait tout de suite et n’exécutait même pas ce repli, si bien qu’il n’y avait aucun verre sur mobile. Sur ordinateur, deux choses aussi : les plaques de même taille ne génèrent qu’une seule texture de déplacement (les 7 plaques de l’accueil n’en utilisent que 4) et celles qui sortent de l’écran ne sont plus calculées ; en outre, aucune nouvelle plaque n’est créée au-delà de 300 000 pixels pour une plaque ou de 80 par page — mieux vaut une plaque de moins qu’un défilement qui saccade.
  • ③ Dans l’administration, sous Apparence, c’est toujours le même interrupteur, désormais actif par défaut ; les navigateurs sans backdrop-filter (Safari, Firefox) retombent sur un fond mat au lieu de paraître cassés. Cette fois ni la palette ni la mise en page n’ont bougé, le thème reste Bleu Cloudridge ; le fond blanc façon Apple de la version précédente a été annulé sur tout le site (administration, forum, galerie et carte retrouvent leur aspect d’avant) et seules deux vraies corrections restent : la boîte de confirmation des actions dangereuses de l’administration n’avait aucun style (les 43 confirmations de suppression s’affichaient comme une boîte nue, sans voile), et les titres de la galerie sur écran étroit n’apparaissaient qu’au survol de la souris.
v1.9.78 Site 2026-10-17

Tout le site passe au style Apple : fond blanc, filets d’un pixel, boutons en pilule, et une série de chiffres faux corrigée

  • L’apparence du site a été refaite de bout en bout à la manière d’Apple : fond blanc, texte presque noir, un filet d’un pixel à la place des ombres, boutons et pastilles de filtre unifiés en pilules de 44 de haut, et la barre supérieure qui passe du translucide à l’opaque une fois défilée. Le verre dépoli disparaît entièrement — les couches floutées des cartes de données, de la chronologie et des cartes d’état ne sont plus là, il ne reste qu’une couche très légèrement translucide sur la barre supérieure. Les titres en chinois ne reçoivent plus d’interlettrage négatif : les caractères chinois occupent déjà toute leur chasse, les serrer les entasse et fait croire à du gras ; seuls les chiffres ont besoin d’être resserrés. L’administration a été réorganisée au passage, et un vrai bug est corrigé : les boîtes de confirmation des actions dangereuses n’avaient aucun style dans l’administration — elles s’affichaient comme une boîte nue, sans voile et sans positionnement, et cela touchait les 51 endroits du site où l’on confirme une suppression ; c’est désormais une carte centrée, avec voile et titre en rouge. L’ensemble tient au thème Apple (à choisir dans Admin → Apparence), et revenir à Bleu Cloudridge annule tout, sans toucher au code.
  • Côté mobile, on a visé cette fois pile ce qui se maniait mal : les quatre grands chiffres de la page de données prenaient chacun une ligne entière, ils tiennent maintenant en 2×2 sur un écran ; le champ de recherche de joueur et le bouton Rechercher étaient superposés (le bouton recouvrait presque 70 pixels du texte indicatif), ils sont maintenant côte à côte sur une ligne ; dans le classement, la ligne grise du haut et celle du bas se cumulaient en une barre épaisse, c’est maintenant un seul filet d’un pixel ; la double bordure de carte dans la carte sur la chronologie, les divers cadres en pointillés et la grosse barre de défilement gris foncé de Windows sont tous rangés d’un coup ; dans la colonne de la page guide, l’intitulé et la valeur de l’état du serveur étaient collés (affiché Version1.21.1), ils sont maintenant alignés à gauche et à droite avec un filet de séparation.
  • Dix problèmes de données remontés par l’audit sont corrigés. Les deux plus importants : le temps de jeu cumulé de l’accueil affichait des secondes en heures (il annonçait 35,7 M h, la vraie valeur est 9907 heures, un écart de 3600 fois) ; et quatre personnes de la liste des bannissements apparaissaient comme levées alors qu’elles étaient toujours actives — quand le battement signalait déjà présent, seul le statut était discrètement repassé à actif, sans écrire d’historique et sans restaurer la marque de bannissement du joueur. Le reste : le nombre de mods installés s’affichait 0 / 12 / 160 à trois endroits de la page d’état (la vraie valeur est 160), et le système d’exploitation apparaissait en tiret, les deux pour la même raison : la requête sous-jacente renvoie une liste blanche où ces deux champs manquent ; une suite d’UUID occupait le classement à la place des noms, elle s’affiche maintenant comme Joueur inconnu · 87274f ; le plafond de disponibilité était figé à 99,2 pour cent (calculé sur un intervalle fixe de 30 secondes, alors que le battement arrive toutes les 31 secondes mesurées) ; et le K/D donnait des chiffres astronomiques sans aucun décès, il affiche désormais un tiret. Deux autres relèvent de la politique de classement (deux façons de fusionner, par rôle et par compte, et un compte fantôme qui n’a que des éliminations) et n’ont pas été forcées — les écarts et leur coût sont écrits en commentaire dans le code, pour que le propriétaire tranche.
v1.9.77 Site 2026-10-11

Falsifier sa vraie IP : cette voie est désormais bouchée de nginx jusqu’à la couche applicative

  • ① Mesurer avant de modifier : une sonde en production a donné deux faits — le nginx de BaoTa utilise le protocole PROXY, donc l’adresse réelle du client est déjà dans REMOTE_ADDR (mesurée à 222.212.76.94, pas 127.0.0.1) ; et les X-Real-IP / X-Forwarded-For / CF-Connecting-IP ajoutés par le client, nginx les transmet à PHP tels quels : les trois en-têtes falsifiés arrivent intacts, nginx n’en écrase aucun. ② Durcir les deux bouts : nginx injecte un secret que seul son propre proxy connaît (même en falsifiant cet en-tête, le client se le fait écraser par nginx), et la couche applicative ajoute une seconde barrière — si REMOTE_ADDR est une adresse publique, elle est retenue directement et plus aucun en-tête de proxy n’est consulté — donc même si trust_proxy était activé par erreur un jour, l’IP de la limitation de débit, des blocages et de l’audit ne deviendrait jamais une valeur choisie par le visiteur.
  • Trois choses faites au passage : le commentaire trompeur de site/config/config.php (« mettre à true derrière un CDN / reverse proxy ») est remplacé par la conclusion mesurée et un avertissement — le suivre ici ne ferait que promouvoir un en-tête falsifiable au rang de valeur d’autorité ; ce changement a désormais des tests automatisés (trust_proxy activé + REMOTE_ADDR publique + en-têtes falsifiés ⇒ l’adresse réelle est quand même renvoyée), et la suite passe de 81 à 83 vérifications, toutes au vert ; la sonde temporaire de diagnostic en production a été supprimée comme convenu, et y accéder renvoie maintenant 404.
v1.9.76 Site 2026-10-11

Défilement plus fluide sur mobile, quelques failles de sécurité colmatées et un chat qui ne perd plus le milieu

  • Quatre points de fluidité sur mobile : le verre dépoli de l’en-tête pendant le défilement, celui de toutes les cartes sur écran étroit, la couche de composition que l’animation d’entrée gardait en vie pour chaque élément, et la barre de progression de lecture qui provoquait un reflow à chaque pixel défilé — tout est remplacé par des procédés équivalents mais moins coûteux (l’en-tête en cours de défilement est de toute façon opaque, ce flou était du pur gaspillage ; et quand l’animation démarre vraiment, le navigateur promeut la couche lui-même). Mesuré sur un viewport mobile de 390 de large avec un bridage CPU de 20× : la pire frame passe de 364 millisecondes à 57 millisecondes. L’écart sur le nombre global de frames reste dans le bruit de cette machine, aucune conclusion stable n’en sort — c’est pourquoi chaque point ci-dessus n’a été touché que lorsqu’il tenait debout par le mécanisme.
  • Trois points de sécurité (élevés/moyens, corrigés directement) : ① le _admlogin.php de débogage local doit désormais renvoyer 404 en production (il pouvait faire d’un visiteur un administrateur), et ?to= ne peut plus sortir du site ; ② le ping / dns de la page de test de débit confiait un nom de domaine pour sonder un port, ce qu’un DNS rebinding pouvait détourner vers le réseau interne — désormais seule l’IP déjà validée est contactée ; ③ falsifier X-Real-IP / CF-Connecting-IP permettait de contourner la limitation par IP ; ces en-têtes ne sont maintenant acceptés que si la requête vient réellement du loopback. Pour fermer ③ complètement, il faut injecter X-CDR-Proxy-Secret dans nginx et renseigner security.proxy_secret dans site/config/config.php — cela touche la configuration du serveur, donc j’attends ton feu vert.
  • Trois vrais bugs dans l’historique du chat : ① dès qu’une journée dépassait 200 messages, tout le tronçon du milieu restait invisible sur la page (la journée la plus chargée compte 2796 messages, l’ancien chemin ne remontait que jusqu’à 500, donc les 2296 du milieu, personne ne les voyait) ; ② le tri ne regardait que la clé primaire id, si bien que les jours à cheval sur la limite repoussaient hors de la fenêtre les messages d’après minuit (mesuré : 53 messages plus récents sautés définitivement) ; ③ en cas d’échec d’envoi, l’interface faisait comme si le message était parti. Désormais la récupération se fait par date, un bouton « charger plus tôt » permet de remonter, et un échec est annoncé clairement avec possibilité de réessayer.
  • Au passage : les pages vues par les visiteurs ne sont plus systématiquement interdites de cache (retour et avance un peu plus rapides), l’état connecté restant jamais mis en cache. Les 218 fichiers PHP du site passent le contrôle de syntaxe sans erreur et les 59 scripts d’autotest ont tous été exécutés — les 15 suites liées à ce changement donnent un résultat exactement identique à avant (pas un échec local de plus).
v1.9.75 Site 2026-10-10

Mod côté serveur allégé : les coûts qui grimpent avec le nombre de joueurs sortent du thread principal

  • Le plus gros bloc du rapport du mod, c’est la carte : trois cartes de 256×256, environ 197 000 points. Ces points étaient assemblés en JSON à l’intérieur même du tick du serveur, et le serveur ne reprenait qu’une fois l’assemblage terminé — un passage toutes les demi-heures, ce qui colle exactement à ces pics où « ça se fige une seconde ». Désormais ce tick ne fait que transmettre les données et l’assemblage passe sur un thread d’arrière-plan : les données étaient déjà prêtes, et construire du JSON n’a jamais eu besoin d’occuper le thread principal.
  • Au passage, plusieurs coûts qui augmentent avec le nombre de joueurs connectés ont été réduits : les chiffres de la liste TAB (temps de jeu, nombre de joueurs, etc.) étaient recalculés pour chaque ligne de chaque joueur alors qu’ils ne changent que toutes les 30 secondes ; la recherche d’un joueur par nom retombait sur un balayage ligne par ligne de toute la table (10 joueurs, c’est 100 recherches) ; la liste des succès parcourait plus de mille recettes toutes les 10 minutes ; et toutes les 30 secondes, juste pour compter les entités, tous les mondes étaient parcourus en entier pendant que les fichiers de configuration et la liste de bannissement étaient lus sur le thread principal. Tout cela est maintenant mis en cache, indexé, calculé une seule fois et lu en arrière-plan — pas un octet de ce qui est envoyé au site n’a changé, et les pages s’affichent exactement comme avant.
v1.9.74 Site 2026-10-05

Administration et confidentialité du profil améliorées

  • Le compteur de validations en attente de la barre latérale ne comptait que le forum et la galerie, alors que le panneau d’administration en comptait cinq ; tout vient désormais d’une seule fonction et chaque entrée de menu porte son propre nombre. Les actions destructrices (supprimer un groupe, supprimer une entrée de navigation, purger le journal du chat, vider le cache) s’exécutaient sans rien demander ; elles demandent maintenant confirmation. Les listes de skins, de fonds d’avatar et de journal du chat étaient limitées à 200 et 60 lignes et se paginent désormais.
  • L’option permettant aux autres de voir votre profil ne touchait que la page équipe, votre profil restant visible de tous ; elle s’applique vraiment maintenant, sauf pour vous-même. Le changement de mot de passe et la déconnexion des autres appareils sont aussi journalisés.
v1.9.73 Site 2026-10-05

Les boutons rouges de confirmation et de suppression réapparaissent

  • Le bouton de confirmation du retrait d un message apparaissait vide : avec le verre liquide activé, la règle du verre supprime le fond du bouton mais garde le texte blanc, donc un bouton rouge devenait blanc sur blanc. Les boutons rouges pleins restent désormais hors du verre, exactement comme le bouton principal bleu.
  • Le même défaut touchait tous les boutons rouges du site (retirer, supprimer, délier, etc.) : ils sont corrigés ensemble.
v1.9.72 Site 2026-10-05

La pagination ne remonte plus en haut

  • Cliquer sur « page suivante » plus bas renvoyait tout en haut. Désormais la pagination aligne la liste située au-dessus, et ne fait rien du tout si cette liste est déjà visible. Précédent et suivant reviennent à la position de défilement.
  • Quelques petites choses au passage : la carte de seed entre dans le menu Serveurs, les ancres ne passent plus sous l en-tête fixe, les cartes de la galerie affichent leur auteur et les joueurs en ligne de l accueil mènent à leur profil.
v1.9.71 Site 2026-10-05

Permissions du panneau resserrées et petits correctifs

  • Réglages, rotation des clés, sauvegardes et outils système sont désormais réservés au propriétaire — les gestionnaires de serveur gardent le contenu, les signalements et la liste blanche.
  • Plusieurs détails du changement de page sans rechargement ont été corrigés : le mode sombre tient, les formulaires ne partent plus en double, le compte à rebours avance normalement et le tri ne recharge plus la page.
v1.9.70 Site 2026-10-05

Changer de page sans tout recharger

  • La pagination, les filtres, la recherche et le tri ne remplacent plus que le contenu — la barre d adresse change toujours et le bouton Retour fonctionne normalement.
  • Enregistrer, valider et supprimer ouvrent toujours une nouvelle page comme avant.
v1.9.69 Site 2026-10-05

La liste déroulante de recherche était masquée par les cartes

  • Les éléments animés portent will-change, et will-change crée un contexte d empilement : le z-index de la liste ne comptait que dans sa propre carte et perdait contre les cartes de statistiques situées plus loin dans le DOM
  • Toute la carte de recherche est remontée, la liste flotte maintenant au-dessus
v1.9.68 Site 2026-10-04

Correction du profil qui refusait de défiler sur mobile

  • La visionneuse 3D du skin imposait touch-action:none et appelait preventDefault sans condition sur touchstart/touchmove : un doigt posé dessus bloquait toute la page. Le geste vertical est désormais rendu au navigateur, seul l horizontal fait tourner le modèle
  • Le glissement du fond sur l en-tête est lui aussi réservé à la souris
v1.9.67 Site 2026-10-04

Guide du serveur réécrit : deux fois plus de contenu, et les commandes indiquent enfin celles réservées aux joueurs

  • Les quatre pages — débuter, règles, FAQ et à propos — ont été réécrites, chacune expliquant pourquoi une étape compte et quoi faire en cas d échec
  • La page des commandes s ouvre désormais sur une section « Commandes du joueur » rédigée à la main, groupée en premiers pas, déplacements, discussion et état ; le tableau complet de 435 lignes reste en dessous
v1.9.66 Site 2026-10-04

L indication de defilement ne colle plus au tableau

  • L indication au-dessus du tableau touchait sa bordure superieure et semblait se superposer ; elle est desormais espacee
  • L en-tete devient totalement opaque au defilement : avant, il etait translucide et laissait voir le texte
v1.9.65 Site 2026-10-04

Une faille corrigée dans les SVG importés

  • Auparavant, un SVG spécialement conçu comme avatar ou bannière pouvait révéler l adresse IP et le navigateur de toutes les personnes qui le consultaient. Ces références externes sont désormais supprimées, sans changer l apparence de l image.
  • Ajout également de HSTS et de quelques règles de sécurité du contenu très prudentes.
v1.9.64 Site 2026-10-04

Le badge de validation ne reste plus allumé + le statut masque les IP internes

  • Le badge « validation » de l’admin comptait cinq files, alors que le panneau « gestion du serveur » n’en traite que deux : le badge restait donc allumé sans rien à valider. Les deux utilisent maintenant le même critère, et le panneau gagne une ligne « autres en attente » : galerie / skins / forum, chacune renvoyant à sa page d’admin existante.
  • La ligne « carte web » de la page d’état affichait 127.0.0.1:8100 (une adresse interne, utilisée seulement pour le test). Elle affiche désormais l’adresse publique de la carte.
v1.9.63 Site 2026-10-04

Les vidéos sont visibles dans l’admin

  • Les bannières dotées d’une vidéo d’arrière-plan affichent désormais cette vidéo directement sur la fiche de validation — appuyez sur lecture, seul le début est chargé par défaut (pas de données gaspillées), avec une étiquette « contient une vidéo ».
  • Avant, la fiche ne montrait que l’image de couverture choisie séparément par le joueur, parfois sans aucun rapport avec la vidéo. Fini de valider à l’aveugle.
  • Correction aussi du « 1970-01-01 » affiché comme date d’envoi : mon outil d’envoi d’assets écrivait un mauvais format. Données et outil corrigés.
v1.9.62 Site 2026-10-04

Erreur 500 corrigée + deux ajustements visuels

  • Erreur 500 corrigée : dans la version précédente, j’avais placé les arguments du journal d’audit d’après-connexion aux mauvaises positions, si bien que chaque connexion réussie provoquait une erreur interne. La connexion redirige maintenant normalement.
  • La ligne « J’ai lu et j’accepte les Conditions d’utilisation et la Politique de confidentialité » est descendue en bas du formulaire (après le bouton Se connecter), comme sur la plupart des pages de connexion. Sans cocher, impossible de se connecter.
  • Le voile d’assombrissement de l’en-tête de profil est désormais un dégradé progressif : la ligne horizontale trop visible a disparu et la transition se fait naturellement.
v1.9.61 Site 2026-10-04

Il faut accepter les conditions pour se connecter

  • La page de connexion affiche désormais une case à cocher : « J’ai lu et j’accepte les Conditions d’utilisation et la Politique de confidentialité » — impossible de se connecter sans la cocher. Les deux entrées sont concernées (QQ en un clic et e-mail + mot de passe), et le serveur le vérifie aussi, car désactiver un bouton n’arrête personne.
  • Nous avons rédigé deux vraies pages, Conditions d’utilisation et Politique de confidentialité, qui détaillent point par point ce que le site conserve : le pseudo et l’openid fournis par QQ, votre e-mail et le hachage du mot de passe, les personnages liés, les statistiques de jeu, vos images et l’IP ainsi que l’heure de connexion.
  • Elles précisent aussi avec qui nous partageons — seulement trois tiers : QQ Connect (connexion), mc-heads.net (avatar de skin si vous n’en avez pas téléversé) et 126 Mail (codes de vérification). Aucune régie publicitaire, aucune revente de données.
  • La durée de conservation, la procédure de suppression ou d’export et le cas des mineurs y sont traités. Les deux pages sont aussi liées dans le pied de page.
v1.9.60 Site 2026-10-04

Le texte de l'en-tête reste lisible sur les images claires

  • Une fois la vidéo mise à la place de la photo, le texte blanc de l'en-tête se retrouvait sur un ciel et des nuages clairs avec un pire cas de 1,16:1, donc pratiquement illisible. La cause était l'ordre de peinture : la vidéo est un vrai élément enfant alors que le dégradé d'assombrissement vivait sur body.cdr-body::before (contenu généré), et le contenu généré est toujours peint avant les vrais enfants, donc la vidéo recouvrait entièrement le dégradé qui ne servait à rien
  • Le correctif fait de l'assombrissement le fond propre de l'en-tête : un seul dégradé vertical (62 pour cent en haut, disparu à 350px) qui ne couvre que la bande de l'en-tête et ne touche pas un pixel du sujet, du sol ou de l'eau ; aucune nouvelle couche fixe n'a été ajoutée, la hauteur de page reste à 6816px
  • Sur l'image la plus claire, le contraste de l'en-tête passe de 1,16 à 2,63 jusqu'à 4,85 à 6,91 pour 1 (la norme du texte blanc est 4,5 pour 1). Une régression visible uniquement en ligne a aussi été corrigée : sous le verre liquide, le bouton Retour a une surface translucide et était assombri lui aussi (5,19 pour 1 tombé à 2,14 pour 1) ; son libellé devient blanc à son tour, pire cas 6,04 pour 1
  • Seules les pages ayant une bannière sont concernées ; les autres restent identiques octet pour octet. Molette, boutons et lecture vidéo ont tous été revalidés
v1.9.59 Site 2026-10-04

Fonds animés : la vraie cause de la molette et du clic est trouvée

  • La cause est une collision de noms de classe : .pub-bg-video était à la fois la classe de l'élément vidéo et la classe d'activation posée sur <html>. Toute la règle de la couche vidéo fixe plein écran est donc tombée sur l'élément racine — la racine est devenue position: fixed, la hauteur de page s'est effondrée à un écran, et la molette n'avait plus rien à faire défiler
  • Plus sournois encore, pointer-events: none s'hérite : tout l'arbre du document a cessé de recevoir la souris, seul <html> la captait, et le bouton Retour était inatteignable
  • Le correctif : renommer la classe d'état en pub-bg-on et restreindre la règle de l'élément à video.pub-bg-video, pour que les deux ne puissent plus jamais se confondre
  • Le fond revient à la première version (4,50 Mo → 4,41 Mo) sans assombrissement gravé dans les images, donc les couleurs redeviennent normales ; trois bancs d'essai locaux ont aussi été corrigés — ils mesuraient <html> en croyant mesurer la couche vidéo
v1.9.58 Site 2026-10-04

Fonds animés : un écran de hauteur offert en moins, le glisser plus visible

  • Nouvelle vidéo (15,98 Mo → 4,50 Mo), l'assombrissement est directement intégré aux images ; la vignette mobile est exactement la même image
  • Suppression d'une couche de masque invisible qui ajoutait pourtant plus d'un écran de hauteur
  • Le curseur devient une main qui saisit au-dessus de l'en-tête ; le critère est assoupli pour les portables à écran tactile
  • Le problème de molette est toujours à l'étude ; cette version corrige les trois points ci-dessus
v1.9.57 Site 2026-10-04

Votre profil peut avoir un fond animé

  • Importez un clip muet de 5 secondes à 1 minute : il tourne en boucle sur ordinateur, tandis que le téléphone garde l’image fixe sans rien télécharger de plus
  • Seule la case « bannière » accepte une vidéo, et elle passe par la même validation que les images ; la limite est de 6 Mo — au-delà, le refus est explicite, jamais silencieux
  • L’image fixe vue sur téléphone est votre bannière : choisissez-en une qui s’accorde avec le clip
  • La fonction est désactivée par défaut — activez-la dans les réglages admin pour voir apparaître la zone d’envoi
v1.9.56 Site 2026-10-03

Corrigé : « j'ai choisi une image, enregistré, et rien ne s'est passé »

  • Un joueur a envoyé un avatar et une bannière — vidéo à l'appui — mais rien n'apparaissait en modération. L'image n'est jamais arrivée au serveur : $_FILES était vide du début à la fin
  • La cause : le HEIC des iPhone. Le navigateur ne sait pas le décoder, la fenêtre de recadrage l'a pris pour une annulation, et annuler efface le fichier du formulaire. Sans fichier, le serveur ne pouvait que supposer « pas de changement d'image » et répondait un message de succès vert
  • Les images indécodables ne sont plus jetées : l'original est envoyé tel quel (simplement non recadré), et on vous explique pourquoi
  • Un filet de sécurité côté serveur a aussi été ajouté : si le navigateur annonce une image mais qu'aucun fichier n'arrive, une erreur est renvoyée au lieu de faire semblant de réussir. Une vraie annulation est désormais annoncée clairement
v1.9.55 Site 2026-10-03

La correction des noms « joueur inconnu » passe dans l'administration

  • Le script en ligne de commande .tools/_backfill-names.php est devenu un bouton dans Admin -> Outils système
  • Il lit les usercache.json des sauvegardes historiques, rend leur vrai nom aux lignes encore nommées d'après un UUID, et déplace avec elles l'historique des sessions / succès / skins
  • La page montre d'abord quelles lignes changent et vers quoi ; un instantané de la base est pris avant toute écriture
  • Seules les lignes dont le nom entier est un UUID sont touchées ; si le vrai nom est pris, les deux lignes sont fusionnées, et les joueurs normaux ne sont jamais renommés
v1.9.54 Site 2026-10-03

Classements : le top 10 de neuf catégories sur un écran

  • C'est le « classement détaillé » que tu demandais. Le menu de tri de la liste des joueurs n'affiche qu'une dimension à la fois : comparer « qui a le plus miné » et « qui est mort le plus souvent » obligeait à basculer sans arrêt. /ranking réunit le top 10 de neuf catégories sur un seul écran
  • Une carte par catégorie, avec le rang, l'avatar, le nom et la valeur de cette catégorie —
  • les chiffres sont identiques, caractère pour caractère, à ceux de la liste des joueurs, les deux lisent le même code de formatage. Clique sur un nom pour ouvrir la page du joueur
  • Le lien « Tout voir » en haut de chaque carte ouvre la liste complète déjà triée sur cette colonne (?sort=). L'entrée est le bouton « Classements » sous le titre de la liste des joueurs. Une catégorie sans données ne produit pas de carte vide, et les bots restent exclus comme avant
v1.9.53 Site 2026-10-03

Le fond de profil se déplace maintenant à la souris

  • Sur les profils avec bannière, vous pouvez maintenir le clic et faire glisser la photo de fond — comme on pousse un tirage paysager, l’en-tête, l’avatar et le pseudo restant fermement posés dessus
  • Seule la zone du haut (l’en-tête) réagit. Les cartes, tableaux et boutons en dessous fonctionnent normalement et la sélection de texte reste possible ; appuyer sur un bouton ne déclenche jamais de glissement
  • Au relâchement, tout revient à sa place ; en butée, le mouvement s’arrête (une petite marge est conservée tout autour) pour que la photo ne quitte jamais l’écran et ne découvre pas le fond
  • Souris et pavé tactile uniquement. Les écrans tactiles et les personnes ayant activé « réduire les animations » sont exclus et retrouvent le comportement précédent
v1.9.52 Site 2026-10-03

Les « joueurs inconnus » se répareront tout seuls

  • Quelques lignes affichent « Joueur inconnu · 87274f » — cette chaîne est en réalité l’UUID du joueur. Le cache de noms du serveur ne conserve qu’un mois environ : après une longue pause, le mod ne peut plus résoudre le nom et transmet l’UUID
  • Le problème : une telle ligne ne pouvait jamais se corriger. Quand le joueur revenait et que le serveur retrouvait son nom, le renommage violait la contrainte d’unicité (une ligne au vrai nom existait déjà), l’erreur était avalée et la ligne gardait son UUID
  • Les deux chemins fonctionnent désormais : si le vrai nom est libre, on renomme la ligne et on transfère sessions, succès et skin ; s’il est pris, on fusionne — temps additionné, progression en union, première/dernière visite élargies
  • Rien à faire de votre côté : cela se répare à sa prochaine connexion. Le journal de synchronisation note « adopted=N », visible dans Outils système de l’administration
v1.9.51 Site 2026-10-03

Votre avatar s'affiche partout ; historique de connexion paginé ; boutons clairs corrigés

  • L'avatar que vous avez téléversé n'apparaissait que sur votre profil : tous les autres avatars du site passaient par un autre chemin qui ignorait votre envoi. Les listes de joueurs, les commentaires et la navigation l'utilisent désormais. Les joueurs qui n'ont rien envoyé restent identiques
  • L'historique récent affichait 30 lignes d'un coup. Il est maintenant paginé à 10, avec le même composant que le reste du site (masqué s'il n'y a qu'une page)
  • Le bouton « tout déplier » paraissait gris et désactivé : un problème de spécificité — la teinte bleue du bouton clair perdait face à la couche blanche de base, et son propre fond était effacé. Corrigé
  • L'espace vide sous la colonne de gauche d'un profil : la colonne s'étire maintenant à la hauteur de celle de droite, la carte de classement comblant le reste. Plus de vide, que les badges soient dépliés ou non. Les notes du radar sont repliées par défaut
v1.9.50 Site 2026-10-03

Le verre liquide réécrit d'après la référence : cette fois, c'est vraiment du verre

  • La version précédente n'était qu'« une carte de dégradé + un déplacement », et aucun réglage ne la rendait juste. La comparaison ligne à ligne avec la référence a montré trois éléments manquants, tous ajoutés ici
  • La réfraction suit maintenant l'optique réelle : épaisseur du verre, largeur du biseau, indice de réfraction (1,0-3,0) et surface arrondie entrent dans le calcul, ce qui donne à rebord cet effet de loupe du « verre épais »
  • Une couche spéculaire a été ajoutée — un reflet le long du bord orienté dans une direction. C'est le trait le plus reconnaissable du verre liquide et la version précédente n'en avait aucun
  • La saturation est rétablie après le déplacement (la réfraction grise les couleurs) et un léger anticrénelage est appliqué. Le flou reste à 0,3 px : au-delà, les pixels voisins cessent de différer et la réfraction disparaît
v1.9.49 Site 2026-10-03

Vous pouvez désormais recadrer votre avatar : faites glisser, ce que vous voyez dans le cadre est le résultat

  • Avant, vous envoyiez l'image entière et le site la réduisait depuis le centre — si votre visage était décentré, c'était tant pis. Maintenant, choisir une image ouvre un cadre de recadrage : faites glisser pour repositionner, molette ou curseur pour zoomer, et ce qui est dans le cadre devient votre avatar final
  • L'export fait 512×512 (le même plafond que le serveur) en WebP. Les petites images ne sont jamais agrandies — cela ne ferait que les rendre plus floues, elles sont donc recadrées à leur taille. Le cadre se réduit automatiquement sur petit écran, donc cela fonctionne aussi sur téléphone
  • Deux types d'images sont volontairement laissés tels quels : les GIF animés (le recadrage n'en garderait qu'une image et tuerait l'animation) et les SVG — ils suivent l'ancien chemin. Si une étape échoue (navigateur non pris en charge, mémoire insuffisante), le fichier d'origine est envoyé : vous ne resterez jamais bloqué sur « j'ai choisi un fichier et rien ne se passe »
  • Les bannières ne sont pas recadrées — elles sont larges par nature et les mettre au carré n'aurait aucun sens. Le cadre n'apparaît que lors de l'envoi d'un avatar dans Moi → Mon profil.
v1.9.48 Site 2026-10-03

Le verre dépoli descend d'un cran sur écran étroit : les saccades mobiles devraient s'atténuer

  • La saccade sur la page de profil mobile ne venait pas d'une animation mal écrite, mais du fait que le flou lui-même coûtait trop cher : chaque carte portait blur(32px) saturate(180%), et sept ou huit surfaces de verre sont visibles en même temps sur cette page — chaque image défilée devait donc rééchantillonner tous les pixels situés derrière
  • La différence entre 32px et 14px est presque invisible à l'œil — les cartes reposent déjà sur du blanc à .70–.78 et le flou ne fait qu'adoucir la photo derrière ; en revanche le coût d'échantillonnage croît à peu près comme le carré du rayon. La saturation passe aussi de 180% à 150% ; rien sur cette page n'avait besoin de couleurs plus vives
  • Seuls les écrans étroits descendent d'un cran : le bureau est inchangé, pas un pixel n'a bougé. C'est un changement purement technique, à peine visible — mais le défilement sur téléphone sera bien plus fluide
  • C'est un changement purement technique, à peine visible — si le défilement reste saccadé sur votre téléphone, dites-moi sur quel écran et je continuerai à chercher.
v1.9.47 Site 2026-10-03

La page d'état mobile est bien plus courte ; la liste des bannissements ne répète plus « QQ non lié » à chaque ligne

  • Sur téléphone, chaque ligne de service se repliait sur deux ou trois lignes. La cause était concrète : cette ligne était une grille à trois colonnes dont les largeurs minimales totalisaient 504 px, alors qu'un écran de téléphone ne fait que 492 px — à peine trop étroit, donc chaque ligne était forcée de se replier. Les écrans étroits passent maintenant à deux colonnes avec la note sur sa propre ligne, ce qui raccourcit la page de plus de 500 px
  • Les marges des panneaux, la barre de disponibilité et les cartes de nœuds ont aussi été resserrées d'un cran sur écran étroit. Ces changements ne vivent que dans un bloc de style à l'intérieur de la page d'état — pas un pixel ne bouge ailleurs
  • Dans la liste des bannissements, chaque ligne portait la même mention « QQ non lié » sous le nom du joueur, donnant l'impression d'un tableau cassé. En réalité, l'interrupteur « masquer QQ sur la page de bannissement » de l'administration était calculé puis jamais utilisé — le réglage était mort depuis toujours
  • Les trois emplacements respectent désormais cet interrupteur : la ligne de liste, le badge QQ et l'infobulle de l'avatar, et le détail déplié. Les motifs de bannissement restent codés en dur en chinois (les dix langues affichent du chinois) ; je traiterai cela séparément
v1.9.46 Site 2026-10-03

Les images de fond bougent, et elles s ecartent doucement de votre souris

  • Les bannieres GIF animees sont desormais prises en charge. Ce n etait pas un manque de prise en charge, mais une mise a plat : chaque envoi etait reencode en WebP, et le decodage d un GIF ne donne que sa premiere image —— une animation arrivait donc figee
  • La correction : un GIF multi-images est stocke tel quel, sans reencodage, et l animation survit. En contrepartie, les bannieres animees ne sont pas redimensionnees en 1920x1080 —— reencoder tuerait l animation, c est un choix assume
  • Le fond suit maintenant votre souris : quand le pointeur bouge, la couche de fond derive jusqu a 10 pixels dans l autre sens, ce qui donne a la photo une impression de profondeur
  • Chaque image ne change qu une variable CSS, donc la photo n est jamais redessinee ; des que le pointeur s arrete, la boucle cesse et une page immobile coute exactement comme avant. Souris et pavetactile uniquement, et totalement desactive si les animations sont reduites
v1.9.45 Site 2026-10-03

La croix sur le bouton Retour : quatre passes, et la cause etait dans un commentaire

  • La croix a disparu. C'etait une tache claire que le navigateur laisse au bord superieur centre quand il echantillonne l'arriere-plan d'une petite boite —— ce bouton ne fait que 58x35, la tache y occupe donc une part visible ; sur une grande carte la meme tache est diluee et invisible
  • Le correctif : ce petit bouton ne porte plus d'echantillonnage d'arriere-plan, et sa teinte passe de 8 % a 14 % pour garder la transparence. Le cout est nul : avec et sans refraction, ce bouton differe de 0 sur 1 766 688 pixels (ecart maximal par canal : 1)
  • La couche vraiment retorse etait la suivante : les regles etaient bonnes mais sans effet. En citant mot pour mot le CSS de reference dans un commentaire, j'ai ecrit /* 6% */ —— les commentaires CSS ne s'imbriquent pas, ce */ a ferme le commentaire exterieur trop tot, le } suivant a ferme la regle trop tot, et l'analyseur a avale toutes les regles suivantes
  • Ce mauvais commentaire etait la depuis 1.9.42 : pendant trois versions, le verre des boutons a perdu sa lueur interieure et son ombre exterieure —— les voila revenues. La lecon est devenue un test : ne jamais mettre dans un commentaire ce qui le termine trop tot (le meme piege m'a deja eu deux fois en PHP)
v1.9.44 Site 2026-10-03

Cette ligne clignotante au mouvement de la souris : huit versions plus tard, la cause était une élévation de 2px au survol

  • La cause n'était ni le reflet, ni la surface du verre dépoli, mais une règle de survol globale : chaque fois que le pointeur traversait une carte, celle-ci était soulevée de 2px. Les cartes portent un fond dépoli, donc dès qu'elles bougent le navigateur doit rééchantillonner l'image derrière elles — et cet échantillonnage est découpé en tuiles ; les jointures des tuiles, c'est la ligne
  • Cinq fausses pistes en chemin (déplacer le reflet du fond vers un pseudo-élément, le passer en transform, en faire un vrai enfant, le sortir du verre, le supprimer entièrement). Chacune semblait « devoir » marcher, aucune ne touchait la cause
  • Le correctif : les surfaces de verre ne bougent plus au survol — elles répondent par une bordure et une ombre. Deux barres dépolies pleine largeur (la barre de navigation et la ligne de nom épinglée) ont aussi perdu leur flou ; l'échantillonnage sur grande surface est le plus coûteux
  • Deux choses visibles sont sorties du même lot : le reflet qui suivait la souris est entièrement supprimé (trop remuant), et le verre des boutons a été réécrit en trois couches comme la référence (réfraction et teinte séparées)
v1.9.43 Site 2026-10-03

Le bouton de connexion à l'administration a disparu : un bug de spécificité que j'ai introduit

  • Le verre des boutons ajouté en v1.9.42 comportait une erreur de spécificité : la couche de base, teinte blanche à 8 %, comptait « cinq classes plus deux éléments », alors que le dégradé bleu nuit du bouton principal n'en comptait que « trois classes » —— la couche de base l'emportait donc toujours et le dégradé ne s'affichait jamais. Pire, background: none dans le même bloc effaçait le dégradé propre du bouton principal. Un fond bleu nuit avec texte blanc est devenu blanc sur blanc, et le bouton a totalement disparu
  • Correctif : les boutons de marque pleins (le bouton principal) ne participent plus du tout au verre. C'est un bouton bleu nuit à texte blanc ; ce traitement de verre ne convient qu'aux boutons clairs. Le bouton principal retrouve son style plein d'origine
  • Le même bug étouffait aussi discrètement l'éclaircissement au survol (il comptait « quatre classes » et perdait face à cinq) —— la promesse de la version précédente, « survoler change quelque chose », n'a donc jamais pris effet. Maintenant si
  • Autre effet de bord : background: none effaçait aussi les boutons en chargement, que les couches de verre excluent —— le bouton devenait entièrement transparent pendant ces quelques secondes. Ils récupèrent désormais leur fond
v1.9.41 Site 2026-10-02

Le halo qui suivait la souris est supprimé

  • Ce qui a été retiré : la lueur bleu froid qui suivait le curseur sur les cartes. Tout est parti — les variables, l'interrupteur, la couche, le script, pas un fragment ne reste
  • Pourquoi : vous avez signalé le même problème quatre fois — « une zone clignote dès que la souris bouge » / « une ligne horizontale ». Je l'ai réécrit de quatre façons (peint dans le fond de la carte, déplacé dans un pseudo-élément, transformé en véritable élément enfant, déplacé vers une couche autonome sur toute la page) et aucune n'a corrigé le problème. Votre dernier mot a été « supprime le halo qui suit la souris, ça bouge trop » — il est donc supprimé
  • Un effet secondaire : une fois retiré, déplacer le pointeur ne provoque plus aucun repaint. C'était aussi la dernière pièce du puzzle de la ligne clignotante — tant que quelque chose change image par image à l'intérieur d'un élément en verre dépoli, le navigateur doit recalculer sans cesse l'image située derrière, et il la recalcule par tuiles : les jointures entre tuiles sont la ligne que vous voyiez
  • Rien d'autre n'a changé : la transparence du verre, le premier écran avec la seule photo, la ligne du nom épinglée et les boutons en verre liquide sont identiques. Les visiteurs sans souris et les visiteurs tactiles ne voyaient de toute façon pas ce halo : pour eux, cette mise à jour ne change rien
v1.9.36 Site 2026-10-02

Le halo ne saute plus d'un élément à l'autre, et le verre liquide des boutons est renforcé

  • Le halo ne « saute » plus : passer le pointeur d'une carte à une autre faisait téléporter le halo —— l'ancien disparaissait, le nouveau apparaissait d'un coup. Désormais l'ancien s'efface sur place pendant que le nouveau apparaît sous le pointeur, le centre glissant en douceur ; l'ensemble dure environ 180ms
  • Pourquoi pas une transition CSS : transition remplace une déclaration entière et il n'existe pas de moyen d'en ajouter une à une seule propriété ; il faudrait un sélecteur qui écrase aussi les animations d'entrée et de survol des cartes, ce qui transformerait l'apparition au défilement en coupure franche. Le script fait donc glisser une seule valeur numérique (l'intensité du halo) image par image, et s'arrête dès qu'elle se stabilise
  • Le verre liquide des boutons est renforcé : le déplacement de réfraction passe de 14 à 50, la bande de biseau est élargie, et les éléments qui font vraiment « verre » ont été ajoutés —— un reflet spéculaire sur le bord supérieur, des franges de dispersion chaude et froide sur les bords gauche et droit, et un éclat intérieur. Le flou est resserré de 1,5px à 0,8px (le flou efface précisément le détail dont le déplacement a besoin)
  • La réserve honnête reste : seuls Chrome et Edge le rendent, et la réfraction n'est visible que s'il y a quelque chose à réfracter —— sur une carte blanche elle est quasi nulle, alors que sur une photo de bannière contrastée elle se voit. L'interrupteur se trouve dans l'administration, « Réglages système → Effets d'apparence », et il est désactivé par défaut
v1.9.35 Site 2026-10-02

Le premier écran n'est plus que la photo, le contenu monte au défilement, et les boutons ont droit au verre liquide

  • Le premier écran devient une héros : sur une page de joueur avec bannière, à l'arrivée on ne voit que l'en-tête de page et la photo de fond qui remplit la fenêtre — la zone de contenu n'est pas affichée du tout. Un cran de molette vers le bas fait apparaître le bloc de contenu en fondu et le fait monter (toujours à 28 % de transparence) ; en revenant tout en haut il se range de nouveau, autant de fois qu'on veut
  • Pourquoi ce sont les blocs eux-mêmes qui bougent, pas un conteneur : tout ancêtre dont l'opacité est inférieure à 1 crée une nouvelle racine de backdrop, et chaque surface backdrop-filter à l'intérieur échantillonne alors un fond vide — le verre dépoli casse complètement. Un fondu bloc par bloc n'a pas cet ancêtre. Les deux seuls position: fixed du corps (la couche de fond et la ligne de nom épinglée) sont hors de cet ensemble, donc les déplacer est sans risque
  • Réfraction « verre liquide » sur les boutons (un nouveau réglage dans Admin → Réglages système → Effets d'apparence, désactivé par défaut) : le bord d'un bouton courbe légèrement le motif situé derrière, comme le ferait un morceau de verre épais. Cela utilise une carte de déplacement SVG et backdrop-filter ; la carte est dessinée une seule fois en canvas à l'ouverture de la page, et il n'y a aucun script par image
  • Seuls Chrome et Edge l'affichent : Safari et Firefox ne prennent pas en charge cette fonctionnalité CSS et échouent en silence (aucune erreur, aucun rendu) ; ils retombent donc sur le verre dépoli actuel. Et une réfraction a besoin de quelque chose à réfracter — sur une surface plane comme une carte blanche l'effet est pratiquement nul ; il ne se voit que sur une zone contrastée, comme la photo de bannière
v1.9.34 Site 2026-10-02

Les cartes laissent un peu plus passer la photo, le halo de la souris est plus petit, et la ligne fixée glisse en place

  • Ce qui change : sur une page de joueur avec bannière, les grandes cartes laissent désormais passer environ 28 % de la photo au lieu de 5-10 % (on la voit vraiment), et les cases de statistiques ainsi que la carte radar ont été éclaircies en conséquence
  • Pourquoi les cases de statistiques semblaient de deux couleurs : le halo qui suit la souris était une tache bleu froid de 320px de rayon à alpha .22. Quand elle couvrait la moitié gauche de la carte, la case 1 mesurait rgb(189,193,197) et la case 4, hors de la tache, rgb(245,246,247) —— 56 niveaux d'écart sur une même ligne. La tache fait maintenant 200px à alpha .10, et les cases ne s'allument plus toutes seules (c'est toujours la carte la plus externe qui s'allume) ; la même ligne mesure 3 niveaux d'écart
  • L'autre moitié du « scintillement » : passer la souris d'un espace vide de la carte sur une case faisait basculer la cible du script entre la carte entière et cette seule case, et le halo sautait d'une grande nappe à un petit point. Retirer les cases du halo supprime ce saut
  • Le fixage a maintenant un glissement : la ligne du nom descend de 10px et apparaît en fondu sous la navigation en 180ms. Avec « réduire les animations », cette animation et le ressort des boutons sont désactivés (le halo de la souris reste)
v1.9.33 Site 2026-10-02

La ligne du nom se fixe désormais sous la navigation quand on fait défiler

  • Ce qui change : sur une page de joueur ayant une bannière, faire défiler vers le bas fixe la ligne « avatar + nom + niveau + badges » juste sous la navigation du site, tandis que les cartes glissent en dessous. La signature ne fait pas partie de cette ligne et défile comme avant ; le bouton Retour se fixe avec le nom
  • Pourquoi `position: sticky` ne pouvait pas le faire : le parent de cette ligne est .cdr-container, dont la hauteur ne dépasse pas celle de l'en-tête de page ; la plage de déplacement de sticky y est donc enfermée —— au-delà de l'en-tête, la ligne s'en va avec le reste. La ligne est donc en position: fixed, et un script insère un placeholder de même hauteur là où elle se trouvait (fixed la retire du flux ; sans le placeholder, toute la page saute de 86px au moment où elle se fixe)
  • Le fixage impose aussi d'inverser la couleur du texte : cette ligne porte normalement du texte blanc sur la photo de bannière, mais une fois fixée elle repose sur du verre clair, et du blanc sur du blanc est invisible (une version mesurée montrait l'avatar et le badge « en ligne » très bien, la cellule du nom entièrement vide). L'état fixé bascule donc le nom, le niveau et les badges vers l'encre utilisée sur les surfaces de verre
  • Seules les pages de joueurs ayant téléversé une bannière sont concernées —— les pages sans bannière (par exemple /players/zlc) n'ont pas été touchées d'un seul octet
v1.9.32 Site 2026-10-02

Le reflet du pointeur n'éclaire plus que la seule surface qu'il doit

  • La cause était l'héritage des propriétés personnalisées. Le script pose .is-lit sur la carte sous le pointeur, et --glass-spot descend alors toute la chaîne d'héritage jusque dans chaque .stat-mini de cette carte —— un seul interrupteur devenait sept ou huit surfaces éclairées. C'est exactement ce que vous avez vu : « ma souris est ailleurs, pourquoi tout s'est allumé ? » La preuve : la barre d'état de la sonde a gagné un compteur spot= qui ne compte pas les éléments portant .is-lit mais combien de valeurs --glass-spot calculées ne sont pas transparentes —— avant correction, poser le pointeur sur la zone vide du titre d'une carte affichait lit=1 spot=8/27
  • La correction : chaque surface de verre réinitialise désormais --glass-spot à transparent pour elle-même, ce qui coupe la chaîne d'héritage à cet endroit ; seule la surface réellement survolée reçoit .is-lit du script. Après correction : spot=1/27
  • Un second piège corrigé au passage : cette réinitialisation a la même spécificité que la règle .is-lit et se trouve plus bas, donc par « le dernier gagne », un simple body.cdr-body .is-lit serait entièrement écrasé et le reflet disparaîtrait (mesuré lit=1 spot=0/27). La règle .is-lit doit donc énumérer les quatre sélecteurs et remonter sa spécificité. Oubliez cette étape et le bug passe de « s'allume trop » à « ne s'allume plus du tout »
  • Les coordonnées sont aussi écrites de façon synchrone à l'entrée dans un nouvel élément au lieu d'attendre seulement requestAnimationFrame : sinon la première image n'a pas de coordonnées et la lueur apparaît au centre de la carte avant de sauter vers le pointeur. Un .is-lit correspond désormais à une seule surface éclairée —— là où est le pointeur, là est la lumière
v1.9.31 Site 2026-10-02

Le verre liquide gagne deux effets tactiles : reflet suivant le pointeur et bouton à ressort

  • Reflet suivant le pointeur : lorsque le pointeur se déplace sur une surface de verre, une petite nappe de lumière bleu-blanc froid le suit —— seule la carte sous le pointeur s'éclaire, le reste ne bouge pas. C'est une couche radial-gradient peinte dans le fond de la carte, qui lit --glass-mx / --glass-my écrits en direct par le script. Aucun nœud ajouté, aucun contexte d'empilement touché, aucune gêne pour le flou de la carte. Le thème clair n'utilise pas du blanc mais un bleu-blanc froid : sur une carte blanche (rgb 229~245), la lumière blanche ne peut monter que de 6 niveaux, ce que l'œil ne perçoit pas
  • Bande photo d'en-tête plus haute : le padding bas de .page-head passe de 30px à 160px (environ 317px au total), ce qui pousse toute la rangée de cartes blanches vers le bas : l'avatar, le nom et le badge de niveau reposent maintenant directement sur l'image de bannière —— c'est le « montrer davantage le fond » demandé. De la hauteur uniquement, aucun contenu ajouté, et 72px sur petit écran. Le contenu n'a volontairement pas été décalé en bloc : cela gâcherait la partie la plus sombre du masque du haut et rendrait illisibles les lignes passées en blanc
  • Boutons à ressort : l'appui compresse à .955 et le relâchement revient avec cubic-bezier(.34, 1.56, .64, 1) —— le second point de contrôle a y = 1.56 > 1, la courbe dépasse donc sa cible avant de se stabiliser ; ce dépassement est le « ressort ». CSS pur, sans JavaScript ni moteur physique
  • Le repli prefers-reduced-motion ne réduit plus que le mouvement autonome : le ressort du bouton (qui rebondit tout seul après le relâchement) devient une simple transition courte, avec toujours un retour à l'appui, tandis que le reflet du pointeur est conservé —— suivre le pointeur est une manipulation directe : c'est le pointeur qui bouge, pas la page. Votre propre référence de verre liquide dit exactement cela : retirer le déplacement, garder le flou et le reflet. C'est aussi le seul moyen pour cette machine de voir le reflet : les effets d'animation de Windows y sont désactivés (MinAnimate = 0 / DragFullWindows = 0 / VisualFXSetting = 2), ce que les navigateurs rapportent fidèlement comme reduce —— conditionner le reflet à cela le cacherait définitivement
  • Tout ce qui précède ne s'applique qu'aux profils ayant téléversé une bannière (le bloc reste dans $pubBgCss !== '') ; toutes les autres pages —— y compris les profils sans bannière —— n'ont pas changé d'un octet, et quatre assertions de la suite de tests le garantissent
  • Une note honnête : ce sont deux effets de « ressenti » et ils ne se voient pas sur une capture statique —— il faut réellement faire glisser le pointeur sur une carte et réellement appuyer sur un bouton. Il vaut aussi la peine de réactiver les animations de Windows (Paramètres → Accessibilité → Effets visuels → Effets d'animation), sinon votre navigateur annonce à tous les sites que l'utilisateur demande moins de mouvement
v1.9.30 Site 2026-10-02

Verre liquide refait : la couleur des cartes ne change plus au défilement

  • La cause n'était pas le moteur de rendu. Les pages de profil plaçaient l'image de bannière sur body avec background-attachment: fixed. Cette déclaration signifie « l'image reste fixée au viewport », et ce n'est pas une couche composite à part —— le navigateur doit la rééchantillonner à chaque image pour le backdrop-filter de chaque carte ; quand la fenêtre d'échantillonnage et la position de défilement divergent, la couleur saute. En parallèle, les cartes bougent pendant que l'image reste immobile : chaque carte translucide balaie donc toute la photo. Les deux ensemble produisaient « tantôt sombre, tantôt clair, tantôt normal »
  • Correction du scintillement au défilement : le fond quitte body pour une couche dédiée position: fixed (body::before, z-index: -1, pointer-events: none, will-change: transform). Une couche dédiée peut être promue en couche composite : la source d'échantillonnage devient une seule bitmap déjà composée pour tout le défilement
  • Correction de l'écart à l'arrêt : les cartes définissent désormais leur propre couleur. Cela repose sur une extrapolation linéaire issue des mesures —— dérive ≈ (1−alpha)×53, donc rester sous 4 niveaux exige alpha ≥ .925. Les grandes cartes passent de 72 % → 95 % en haut et 60 % → 90 % en bas ; les pastilles de 80 %/70 % → 97 %/94 % ; la carte radar de 76 %/66 % → 96 %/92 %. La photo transparaît encore à 5~10 %, c'est de là que vient la teinte du verre
  • Le verre est maintenant un matériau multicouche : couche de bruit + dégradé vertical + reflet rasant sur les bords + chanfrein de réfraction intérieur, chaque paramètre exposé en variable (--glass-blur --glass-sat --glass-highlight --glass-displacement --glass-noise). Une précision honnête : la vraie réfraction SVG feDisplacementMap n'est pas réalisable —— Chromium et Safari n'acceptent que des fonctions de filtre dans backdrop-filter, jamais url(#svgfilter) ; un chanfrein intérieur en approche donc l'effet au lieu de faire semblant
  • Résultat : au même endroit, l'écart au défilement n'est plus que de 3~6 niveaux (18 dans la version précédente, 100 à l'origine), la luminosité globale se situe entre 229 et 245, et le thème sombre ne varie que de 1~3 niveaux. Le halo text-shadow des surfaces vitrées a aussi été retiré —— sur une carte stable il n'aide plus et ne fait que manger les fûts des textes de 12 px
  • Correction également de « les libellés du radar sont difficiles à lire » : aucune transparence n'a été touchée. Les sous-libellés « moyenne du serveur » passent simplement de .76rem à .84rem comme la ligne principale, du gris atténué à la couleur de texte, avec un peu de graisse. La vraie cause : les CJK de 12 px et 13 px empruntent des voies d'anticrénelage différentes sous Windows. Tout ceci ne concerne que les profils avec bannière ; les pages sans bannière n'ont pas changé d'un octet
v1.9.29 Site 2026-10-02

La luminosité des cartes ne varie plus pendant le défilement

  • La cause n'était pas un bug de rendu. Les pages de profil utilisent background-attachment: fixed pour la bannière : l'image reste fixée au viewport pendant que les cartes défilent —— chaque carte translucide balaie donc toute la photo : ciel sombre, elle s'assombrit ; bâtiments clairs, elle se délaie. La même carte mesurait de rgb(99,107,125) à rgb(201,197,200) selon la position, soit 100 niveaux d'écart
  • Le correctif consiste à densifier le verre lui-même, car alpha est le seul levier qui préserve à la fois la transparence et la stabilité : les grandes cartes passent de 56 % → 72 % en haut et de 34 % → 60 % en bas ; les pastilles de statistiques de 76 %/60 % → 80 %/70 % ; la carte radar de 70 %/52 % → 76 %/66 %. L'ordre de densité (grandes cartes les plus claires, pastilles les plus denses) est inchangé
  • Résultat : au même endroit, l'écart au défilement n'est plus que de 14 niveaux au lieu de 47, et la luminosité globale se situe entre 163 et 206 —— une surface givrée claire et non plus un gris trouble. Le thème sombre a été densifié en conséquence (le palier 82 %/72 %), où la dérive restante n'est que de 4 à 8 niveaux
  • Seuls les profils ayant téléversé une bannière sont concernés. Les pages sans bannière (comme /players/zlc) n'émettent pas du tout cette feuille de style : pas un seul octet n'a changé pour elles
v1.9.28 Site 2026-10-02

« 86 heures de jeu par jour » est corrigé

  • L'ancienne formule était « temps de jeu cumulé ÷ jours ayant des sessions enregistrées » —— le numérateur couvre dix ans, le dénominateur seulement les 11 jours depuis le 2026-09-12. Diviser deux époques différentes donnait « 86 heures par jour ». Le numérateur n'a jamais été faux ; c'est le dénominateur qui en oubliait la majeure partie
  • Le dénominateur est désormais votre nombre de jours actifs cumulés : messages de chat, succès débloqués et sessions de jeu sont fusionnés par jour —— 423 jours pour ce compte. 941 heures ÷ 423 jours = 2 heures par jour, l'ordre de grandeur est enfin correct
  • Deux autres corrections au passage : le nombre de connexions utilise maintenant le total cumulé (1 655, alors que 929 anciens joueurs affichaient 0), et la plus longue session ne peut plus afficher la paire impossible « 21 minutes en moyenne, 0 heure au maximum »
  • Trois succès ont aussi été débloqués : 7 / 30 / 100 jours actifs étaient impossibles à obtenir à cause de ce même dénominateur —— les sessions enregistrées ne couvraient que 16 jours au total, les seuils étaient hors d'atteinte
  • Audit de sécurité, première partie : plusieurs failles réellement exploitables ont été fermées —— des échappements CSS pouvaient cacher une URL externe dans un SVG téléversé (un avatar permettait de divulguer l'IP des visiteurs), le panneau d'administration pouvait supprimer des fichiers hors de uploads, la connexion souffrait d'une redirection ouverte, un script dans une archive de sauvegarde pouvait s'installer comme webshell, et deux scripts de débogage locaux étaient accessibles en production
  • Audit de sécurité, deuxième partie : durcissement de l'API et de l'administration —— une liste vide ne peut plus effacer d'un coup tous les bannissements du serveur, les rapports ont des limites de lignes, les noms de liste blanche sont validés, une seule ligne de chat défectueuse ne fait plus échouer tout le lot, et les erreurs de base de données n'exposent plus leurs détails aux visiteurs
v1.9.27 Site 2026-10-02

Les petits caractères du radar sont enfin lisibles

  • Les petits textes du panneau « radar de capacités » (noms d'axes, chiffres à droite, lignes « moyenne du serveur » et la note en dessous) reposaient sur un verre à 34 % dont les zones les plus sombres n'offraient que 3,3 : 1 de contraste —— en dessous des 4,5 : 1 nécessaires aux petits caractères. C'est le « je n'arrive pas à lire » que vous avez signalé, et c'était mon oubli dans la version précédente
  • Deux corrections : la couleur du texte secondaire a été assombrie d'un cran, et le panneau du radar a reçu son propre fond —— presque toutes ses lignes sont en petits caractères, il ne devait donc pas partager la même transparence que les grandes cartes
  • Les grandes cartes n'ont pas bougé : la carte de skin, la carte des succès et le pied de page restent à 34 %, l'image transparaît toujours autant, et les petites cases de statistiques gardent leur fond plus dense
  • Le thème sombre a reçu le même traitement. Et cela ne se produit toujours que sur les pages dont le propriétaire a téléversé une bannière —— les pages sans bannière n'ont pas bougé d'un pixel
v1.9.26 Site 2026-10-02

Un cran plus translucide, et le texte tient toujours

  • Profils : le haut passe de 62 % à 56 % et le bas de 40 % à 34 %. L'image derrière se voit vraiment désormais —— les traits verticaux des lampes, l'horizon et les silhouettes de blocs transparaissent, au lieu d'une plaque de verre dépoli
  • « Voir l'image » et « lire le texte » s'opposent, alors ils sont traités séparément : les petites cases de statistiques (les zones de petits caractères comme « temps de jeu » et « connexions ») gardent un fond plus dense qui leur est propre (76 % → 60 %), tandis que les grandes cartes restent très claires. Le petit est plus dense, le grand plus transparent —— l'inverse de la hiérarchie habituelle d'Apple, et c'est voulu
  • Le texte a gagné un halo très discret dans le même sens (text-shadow) —— invisible quand le fond est clair, il n'apparaît que lorsqu'il est sombre : la typographie porte ainsi son propre fond local. C'est ce qui permet de descendre à 34 %
  • Le thème sombre a reçu le verre foncé et le halo sombre correspondants. Et cela ne se produit toujours que sur les pages dont le propriétaire a téléversé une bannière —— les pages sans bannière n'ont pas bougé d'un pixel
v1.9.25 Site 2026-10-01

Un verre plus translucide, et plus proche d'Apple

  • Profils : fini le « 68 % de blanc » uniforme —— place à un dégradé vertical, clair en haut et plus translucide en bas (62 % → 40 %), avec un flou gaussien passé de 22 px à 32 px, plus saturate(180%) et brightness(1.12). Le verre façon Apple capte la couleur située derrière et l'éclaircit légèrement ; un simple flou ne donne que du dépoli
  • Le verre a maintenant un bord de réfraction tout autour —— un liseré lumineux de 1 px en haut et un contour intérieur très discret. L'ombre est scindée en deux couches (une ombre de contact serrée et une ombre ambiante large), pour que la plaque paraisse flotter au-dessus de l'image au lieu d'y être collée comme du papier
  • Correction d'un problème apparu une fois le verre plus clair : les libellés secondaires comme « temps de jeu » et « connexions » étaient presque invisibles —— leur gris n'atteint que 2,5:1 sur du blanc translucide. Ils prennent désormais une teinte plus sombre à l'intérieur du verre, tandis que les petites mentions posées directement sur la bannière restent inchangées
  • Le thème sombre a reçu un jeu de valeurs assorti pour le verre foncé. Et tout cela ne se produit toujours que sur les pages dont le propriétaire a téléversé une bannière —— les pages sans bannière n'ont pas bougé d'un pixel
v1.9.24 Site 2026-10-01

Les profils passent au « verre liquide »

  • Les cartes, le panneau de skin, les six tuiles de statistiques et tout le pied de page sont désormais en verre translucide (68 % de blanc + un flou gaussien de 22 px), laissant transparaître la bannière floutée derrière. Le texte reste sombre, donc lisible par-dessus l'image ; le thème sombre bascule sur du verre foncé
  • L'en-tête de la carte des succès propose maintenant Tout replier / Tout déplier, ce qui replie les 8 catégories d'un coup —— plus besoin de descendre en bas des 98 badges pour cliquer sur ce bouton
  • Le tiroir d'administration en bas à droite a un quatrième onglet, Avatars / Arrière-plans, où approuver ou refuser les envois en attente. Ce sont les mêmes données que « Joueurs et données → Avatars / arrière-plans » : vérifier d'un côté ou de l'autre revient au même
  • Tout cela ne se produit que sur les pages dont le propriétaire a téléversé une bannière —— les pages de personnage sans bannière n'ont pas bougé d'un pixel (j'ai comparé les captures avant/après pixel par pixel)
  • Quand le verre n'est pas disponible (navigateurs anciens), on retombe sur les cartes opaques d'origine. En revanche, la préférence système « réduire la transparence » n'est volontairement pas suivie —— le Windows du propriétaire du site a les effets de transparence désactivés : la respecter l'empêcherait de voir le verre
v1.9.23 Site 2026-10-01

Votre page de profil peut remplir l'écran

  • Arrière-plan —— si vous avez téléversé une bannière, votre page de personnage utilise cette image pour remplir toute la fenêtre du navigateur, avec l'avatar, le pseudo, le niveau et la localisation par-dessus. Les pages sans bannière ne changent pas d'un pixel
  • Localisation —— dans Moi → Personnalisation vous pouvez choisir un pays (et une province si vous choisissez la Chine) ; elle apparaît sur votre profil à côté de « hors ligne / rang #8 ». Sans choix, rien ne s'affiche
  • Les avatars de la liste des joueurs privilégient désormais celui que vous avez téléversé. Avant, l'avatar officiel du skin était toujours récupéré depuis un hôte étranger, ce qui échoue presque toujours ici —— d'où les carrés de lettres colorées
  • Les avatars et arrière-plans téléversés sont vérifiés avant publication. Pendant l'attente, l'ancienne image reste affichée : jamais de page « à moitié neuve ». Le retrait, lui, est immédiat
  • La limite d'envoi est élargie : bannières jusqu'à 3840×2160 (au lieu de 1920×1080), et le SVG est accepté —— il est assaini : scripts, références externes et HTML embarqué sont supprimés
v1.9.22 Site 2026-10-01

De nouvelles fenêtres · et les anciens bannissements restaurés

  • Les 16 fenêtres du site utilisent désormais la boîte de dialogue maison. C'étaient auparavant les boîtes du navigateur, surmontées de « cloudridge.cn indique », ce qui détonnait sur mobile et ignorait totalement le style du site. Titres, textes et boutons sont maintenant les nôtres ; les actions destructrices ont un bouton rouge, Échap annule, Entrée confirme, et le focus revient sur le bouton cliqué
  • Les 8 joueurs et 3 IP encore bannis à la fermeture de l'ancien serveur ont été rétablis : la page publique affiche maintenant 12 joueurs et 7 IP. Noms, IP, dates de bannissement et opérateurs sont recopiés tels quels depuis les archives, rien n'a été inventé. Une réserve : le mod ne fait que lire les fichiers de bannissement du serveur pour les remonter —— ce qui bloque réellement en jeu reste la liste du serveur, et il faut qu'il la recharge pour que cela prenne effet
v1.9.21 Site 2026-10-01

Ce « joueur inconnu » était la même personne

  • La liste des joueurs portait depuis toujours une ligne « 未知玩家 · 000000 » (joueur inconnu), comme une quatrième personne jamais comptée. Explication : le floodgate de l'ancien serveur attribuait aux joueurs Bedrock un UUID dans la plage fictive 00000000-0000-0000-0009-…, et le mod ne pouvait signaler qu'un *nom* —— lequel, à cet instant, était précisément cet UUID. Il s'agissait en réalité de birdzhonghuifei jouant sur Bedrock ; la ligne a été fusionnée avec son propriétaire
  • La règle de fusion : les compteurs (temps de jeu, connexions, morts, blocs minés et posés, distance) s'additionnent, les progrès sont réunis, et la première connexion prend la plus ancienne des deux tandis que la dernière connexion prend la plus récente —— on n'additionne jamais des horodatages. Les neuf badges de cette ligne existaient déjà sur le propriétaire : les doublons ont été supprimés. Le classement compte une ligne de moins et les chiffres de birdzhonghuifei sont plus complets
v1.9.20 Site 2026-10-01

Sauter directement à n'importe quel mois dans le calendrier

  • La fenêtre du calendrier a maintenant deux listes déroulantes « année » et « mois » en haut à gauche : choisissez l'année, choisissez le mois, et vous êtes à deux clics de n'importe quel mois —— plus besoin de cliquer sur ‹ mois par mois. Les boutons précédent/suivant et « Aujourd'hui » sont toujours là, et les listes suivent quand vous naviguez
  • Correction au passage d'un défaut de tri : trier par « première connexion » plaçait les lignes à date inconnue aux rangs 1 à 4, ce qui donnait l'impression que tout le classement était cassé —— « pas de valeur » ne veut pas dire « le plus ancien ». Ces lignes descendent désormais en fin de liste, dans les deux sens
v1.9.19 Site 2026-10-01

229 messages de chat récupérés en plus

  • Le journal du plugin TrChat ne commence que le 2023-09-01, ce qui laissait des trous dans la fin 2024. Trois bases CoreProtect d'anciens serveurs, jamais importées, contenaient 34,417 messages de 2024-07 à 2024-12 ; après déduplication, cela fait 229 messages nets répartis sur 37 jours, le plus ancien du 2024-07-11
  • La déduplication se fait sur « ce joueur a déjà dit la même chose à ±5 secondes près » —— le même message est enregistré une fois par TrChat et une fois par CoreProtect, leurs horodatages diffèrent souvent d'une seconde et franchissent parfois la minute ; une comparaison à la minute laisserait ces quelques dizaines de doublons repasser
  • Ces 37 journées n'étaient pas vides au départ —— TrChat en avait enregistré la majeure partie ; ce qui revient, ce sont les quelques lignes qu'il avait manquées. Parcourir ces journées de juillet à décembre 2024 montre désormais une conversation plus complète
v1.9.18 Site 2026-10-01

Les personnages secondaires se déplient dans leur ligne

  • Les lignes de la liste des joueurs qui possèdent plus d'un personnage commencent maintenant par un chevron : repliées par défaut, et un clic déplie chaque personnage sur sa propre ligne avec son temps de jeu, son nombre de connexions, sa dernière connexion et son statut (la ligne principale est la somme, les sous-lignes les détails). Un second clic replie
  • Rechercher le nom d'un personnage secondaire déplie automatiquement sa ligne —— rechercher Winter affiche ses chiffres juste à côté de ceux de Fruity_oxygen, sans avoir à deviner sous quel nom il se cache. Correction au passage d'un ancien défaut : le tri par nom de joueur laissait l'en-tête avec une colonne de moins que le corps, ce qui décalait tout le tableau
v1.9.17 Site 2026-10-01

Classement par compte · trois ans de discussions retrouvées

  • La liste des joueurs affiche désormais une ligne par compte du site : les personnages rattachés au même compte sont additionnés (Fruity_oxygen et Winter fusionnent en une ligne, ElfinLettuc et Faithe de même), tandis que les joueurs sans compte lié gardent chacun leur ligne. Le badge « N personnages » à côté du nom indique qui a été regroupé avec qui — l'ancien classement séparait un alt de son main et donnait l'impression que l'alt avait joué pour rien
  • Une nouvelle page de compte (/accounts/<id>) : chaque personnage du compte est listé avec son temps de jeu et son nombre de connexions, et les chiffres récapitulatifs au-dessus sont leur somme. La page est entièrement publique, sans connexion. Une donnée erronée a été nettoyée au passage : un personnage pointait vers un identifiant de compte inexistant
  • Trois champs restés bloqués sur des valeurs fictives sont maintenant renseignés : dernière connexion (929 personnages affichaient tous 2026-09-13), première connexion (936 tout aussi faux, 2026-09-13) et nombre de connexions (291 pour tout le site, 928 joueurs affichant « — »). La dernière connexion vient de la date de modification des sauvegardes du serveur ; la première connexion et le nombre de connexions viennent des journaux de toutes les générations de serveur. wwwsum affiche désormais honnêtement 2024-08-22 et 7Strawberry 2024-03-07, et le total des connexions est passé de 291 à 21 766
  • Le panneau de discussion a retrouvé tout l'historique depuis l'ouverture : de la première ligne le 2022-12-16 jusqu'à la reprise par le suivi en direct du mod le 2026-09-25, soit 174 457 messages et entrées/sorties (124 024 messages, 25 424 arrivées, 25 009 départs). Auparavant seuls les quelques jours équipés du mod avaient un historique ; désormais n'importe quel jour cliqué sur la carte affiche la conversation de ce jour-là
  • Le calendrier ne marquait comme cliquables que les 400 derniers jours, si bien que 492 des 729 jours restaurés étaient inaccessibles — restaurés mais invisibles. Tous les jours comportant des enregistrements sont maintenant cliquables. Par ailleurs, le nombre de « joueurs inscrits » différait de 2 entre l'accueil et la liste (791 contre 789) ; les deux utilisent désormais le décompte par compte

Les dates correspondent à la sortie de chaque version. Si tu trouves un nouveau problème, signale-le sur le forum ou contacte directement le propriétaire du serveur.