Projet · 2026
Edusemantix
Deviner un mot à partir de sa proximité avec d'autres mots. Chaque proposition reçoit un score, et les joueurs voient la progression de la partie en direct.
Démo publique en ligne · projet personnel
Mon rôle J'ai conçu et développé le jeu et sa progression en temps réel.
Le projet en images.
Mon travail
Ce que j'ai réalisé.
- Application React + serveur Node/Socket.io avec moteur de jeu et scoring sémantique.
- Scripts Python de génération/pré-calcul des vecteurs.
Ce que ce projet montre
- Scoring sémantique sur vecteurs de mots (similarité cosinus) avec pré-calcul Python et stockage binaire pour la performance.
- Temps réel multijoueur via Socket.io (parties simultanées, scores en direct).
Où en est le projet ?
Démo publique en ligne · projet personnel
- L'hébergement peut demander un temps de réveil à la première visite.
- Cette démonstration ne prouve pas un bénéfice pédagogique ni une utilisation en classe.
- La persistance des statistiques dépend de la configuration du serveur.
Choix, résultats et preuves.
Ouvrir le dossier technique
Preuve publique
| Résumé | Deviner un mot à partir de sa proximité avec d'autres mots. Chaque proposition reçoit un score, et les joueurs voient la progression de la partie en direct. |
|---|---|
| Type | Lab / projet perso |
| Période | 2026 |
| Rôle | Conception et développement |
| Statut | Démo publique en ligne · projet personnel |
| Niveau de preuve | Un lien public permet de contrôler au moins l'élément principal. |
| Stack | React 19 / Vite 6, Node.js / Express / Socket.io, ConceptNet Numberbatch, Python (pré-calcul), Firebase Firestore |
| Ce que ça prouve | Jeu multijoueur en temps réel où l'on cherche un mot secret : chaque proposition reçoit un score de proximité sémantique (similarité cosinus sur vecteurs de mots), scores en direct via WebSocket. |
| Preuves | Trois captures de la démo publique du 8 septembre 2026, dans une session anonyme Joueur Preview. Les scores proviennent des propositions réellement jouées pour la capture. |
Les contraintes de départ
- Servir un gros jeu de vecteurs sans pénaliser le temps de réponse : réduction et stockage binaire.
- Persistance optionnelle : le serveur tourne même sans Firestore (mode mémoire).
Les décisions
| Décision | Pourquoi | Écarté |
|---|---|---|
| Vecteurs réduits puis stockés en binaire, un seul process Node servant le build et le WebSocket. | Réduire l'empreinte et simplifier le déploiement sur une cible légère. | Appel à une API d'embeddings à chaque proposition, avec une latence et un coût incompatibles avec le temps réel. |
Les résultats documentés
- Démo publique accessible sur Render, avec propositions et scores en direct.
- Audience et engagement non mesurés ici.














