Le 15 avril 2026 à 15:49:33 :
J'ai ressorti une vieille version custom de JVChat que j'ai adapté à la nouvelle version.
L'edtition, la suppression et la citation de message ne marche plus mais on peut poster et il y a le rafraichissement automatique![]()
https://github.com/m7r-227/jvchat/raw/refs/heads/main/jvchat.user.js
Le code a l'air sain d'après Gemini 3.1 Pro Preview... Ca vaut ce que ça vaut
J'ai analysé en détail le code source du script **JVChat**.
**Conclusion immédiate : Le code est sain et ne contient aucune intention malveillante.** Il n'y a pas de tentative de vol d'informations, pas de requêtes vers des serveurs externes, ni de code caché. Il s'agit d'un script légitime créé pour transformer l'interface classique des forums de Jeuxvideo.com en une messagerie instantanée (type Discord/Messenger).
Voici les détails de l'analyse, point par point, y compris les explications des portions de code qui peuvent paraître "étranges", ainsi que quelques bugs techniques repérés.
---
### 1. Sécurité et Fuite de données (Aucune menace)
* **Aucun appel externe :** J'ai inspecté toutes les méthodes faisant appel au réseau (`fetch`). Toutes les requêtes pointent strictement vers `https://www.jeuxvideo.com/forums/...`. Aucune donnée n'est envoyée vers un serveur tiers.
* **Gestion des permissions :** Le script utilise la directive `@grant none`. C'est un excellent point de sécurité. Cela signifie que le script s'exécute dans un bac à sable restreint, sans accès aux fonctions privilégiées de l'extension (comme le contournement des sécurités Cross-Origin).
* **Jetons de sécurité (CSRF) :** Le script récupère bien des informations sensibles du compte (le jeton `ajax_hash` et les sessions de formulaire via la fonction `getPayload`). Cependant, ces informations sont *uniquement* utilisées pour vous permettre de poster, éditer ou supprimer des messages via l'API officielle de JVC. Elles ne sont jamais exfiltrées.
### 2. Explication des codes "étranges" ou complexes
Si vous avez lu le code, certaines parties peuvent sembler cryptiques ou inhabituelles. Voici ce qu'elles font réellement :
* **La fonction `jvCake(str)` :**
Cette fonction utilise une chaîne hexadécimale `0A12B34C56D78E9F` pour décoder quelque chose. Cela ressemble à du code malveillant, mais c'est en fait un classique sur Jeuxvideo.com. JVC "obfusque" (cache) les liens des images Noelshack directement dans les classes CSS des images pour empêcher l'extraction par des robots. Cette fonction fait simplement l'opération inverse pour récupérer le vrai lien de l'image.
* **La fonction `findMosaics()` :**
C'est un gros bloc de mathématiques et de géométrie (avec des `x`, `y`, `width`, des graphes de collision et une fonction de remplissage par diffusion "flood-fill"). Son but est purement esthétique : elle détecte si des images postées par un utilisateur forment une "mosaïque" (des images collées en grille, très courant sur JVC) pour ajouter un bouton permettant de les cacher/afficher d'un clic (pour éviter le flood visuel).
* **La fonction `getPayload(doc)` avec ses expressions régulières (Regex) :**
Le script "scanne" le texte de la page pour trouver `window.jvc.forumsAppPayload`. C'est une grosse variable en Base64 utilisée par JVC pour stocker l'état de la page. Le script la décode pour savoir combien de personnes sont connectées ou pour récupérer les fameux jetons nécessaires pour poster un message.
### 3. Faille théorique mineure (DOM-XSS par réplication)
* Dans la méthode `addMessage(message)`, le script utilise l'interpolation de texte pour injecter les messages dans le HTML : `message.querySelector('.messageUser__msg').innerHTML`.
* **Risque :** Le script fait confiance à 100% au code HTML fourni par Jeuxvideo.com. Si un pirate trouve un moyen de mettre un script malveillant dans un message sur JVC (faille XSS stockée), ce script copiera la faille dans son interface. Le risque est très faible car il dépend d'une faille de sécurité chez JVC directement, mais la bonne pratique voudrait que le développeur utilise des outils de "sanitization" (comme DOMPurify) avant d'injecter du code brut.
### 4. Bugs et erreurs de développement présents dans le code
Le script semble être une version "Bêta" (`version 0.1.0`), j'ai repéré plusieurs erreurs qui feront planter certaines petites fonctionnalités (sans danger, mais qui généreront des erreurs dans la console) :
1. **Plantage potentiel lors de l'édition d'un message :**
Dans la méthode `editMessage`, le bloc `catch` fait appel à `displayError(...)` et `originalContentDiv.classList.remove(...)`. Ces variables/fonctions **n'existent pas** dans le code. Si la modification d'un message échoue (par exemple, problème de connexion), le script plantera à cet endroit.
2. **Du code oublié de tests (Mocking) :**
Dans `parsePage`, il y a beaucoup de code commenté (ex: `// messages = messages.slice(0, Math.floor(Math.random() * 5) + 1);`). Ce sont des restes du développeur qui faisait des tests de stress sur son affichage.
3. **Fautes de frappes HTML :**
Dans `createJVChatInterface`, on trouve `<span id="jvchat-connected-count"s> </span>`. Le "s" après le guillemet est une erreur de frappe.
4. **Minuteur inutile :**
Dans le `start()`, il y a une logique (`loader.style.setProperty('--value', percent)`) pour faire tourner un petit chronomètre de rafraîchissement en CSS. Mais le code qui est censé afficher les secondes restantes à l'utilisateur est commenté (`// const secondsLeft = ...`).
### Résumé
**C'est "safe".** Vous pouvez installer ce script les yeux fermés. L'auteur a simplement essayé de recréer une "Single Page Application" (SPA) performante par-dessus les vieux forums de JVC. Le code est honnête, plutôt bien pensé architecturalement, même s'il nécessite encore un peu de nettoyage pour être parfaitement robuste.
La fonction qui manque le plus dans cette version actuelle de jvchat est le retour à la liste des sujets. Bon et aussi la modification des posts.
Le 15 avril 2026 à 15:49:33 :
J'ai ressorti une vieille version custom de JVChat que j'ai adapté à la nouvelle version.
L'edtition, la suppression et la citation de message ne marche plus mais on peut poster et il y a le rafraichissement automatique![]()
https://github.com/m7r-227/jvchat/raw/refs/heads/main/jvchat.user.js
Ça fonctionne pas chez moi ![]()
Ils ont littéralement cassé le forum c'est quoi cette merde ?
pour debugger le fait que le new script ne rafraichis pu les messages quand une novuelle page est créer
Par contre, le script temporaire est assez merdique 
Je ne jette pas la pierre au Khey qui l'a vite adapté...
Le champs du message ne scroll pas tout seul quand on rédige plusieurs lignes (on tape à l'aveugle), et même il revient en haut si on scroll manuellement et continue de taper... (Pré-édit: il vient finalement d'afficher 8 lignes de rédaction et se met bien en bas de champs...)
Les images ne sont pas cliquables.
Débug ?

Bon, en fait, c'est vraiment de la merde 
putain quelle merde ils ont tout niqué faut tout recoder MERDE PUTAIN
Le 15 avril 2026 à 20:58:00 :
Débug ?
![]()
Ce topic a aussi le bug de la page qui ne s'affiche pas au bon moment ?
Le 15 avril 2026 à 20:52:44 :
pour debugger le fait que le new script ne rafraichis pu les messages quand une novuelle page est créer
Ça marche pas 
Si jvchat est pas réparé le forum est mort 
Bientôt 10 h sans jvchat , je commence a avoir la tete qui tourne , des fourmis dans les bras , mon rythme cardiaque qui s'accélère 
Le 15 avril 2026 à 23:04:09 :
Si jvchat est pas réparé le forum est mort![]()
Sans JVChat, je vais beaucoup moins venir perso.
Impossible de regarder un événement avec les kheys, genre les soirées M6, les matchs de foot, tous les topics où il y avait du monde.
Il ne restera que les newfags sur téléphone avec une coupe brocoli.
Le 15 avril 2026 à 21:01:16 :
putain quelle merde ils ont tout niqué faut tout recoder MERDE PUTAIN
Tu n'es pas supposé avoir ton propre script toi ? 
Un khey pour coder une nouvelle version? C'est urgent, merci. 
j'ai améliorer le script, il ne bloque pu sur une page, on peut citer les messages
https://anotepad.com/notes/62tq4gx3
De mon côté (Brave/Tamper) le bouton JVChat (version rand*max) ne s’affiche plus du tout, et j’ai déjà activé normalement tout ce qu’il fallait dans les paramètres (mod dev, autoriser userscript, etc), quelqu’un a une idée ?
J’en profite pour signaler que si déb0uclaide est activé, le bouton « poster » n’a plus aucun effet, je dois désactiver le script pour pouvoir poster quelque chose... Quelqu’un a ça aussi ? 
Y'a toujours pas de maj pour jvc dezoomer ? 
Ah, ça a l’air bon avec la version postée au dessus...
Manque plus que pouvoir utiliser débouclaide sans que ça bloque le bouton « poster »