# Modules ft_transcendence | Type de module | Titre du module | Technologie | Description | |----------------|-----------------------------|--------------------------------------|-----------------------------------------------------------------------------| | Mandatory | Base Website | Technologies imposées | Créer un site web avec TypeScript, SPA, backend PHP (optionnel), Docker, sécurité (HTTPS, validation, hash, etc.) | | Major | Backend Framework | Fastify (Node.js) | Créer un backend avec Fastify/Node.js | | Major | Blockchain Score | Avalanche + Solidity | Enregistrer les scores de tournoi sur Avalanche via des smart contracts | | Major | Standard User Management | Technos libres (features imposées) | Auth, profil, avatar, amis, stats, historique... | | Major | Remote Auth | Google Sign-in | Authentification via Google | | Major | Remote Players | Technos libres | Permettre à deux joueurs de jouer à distance | | Major | Multiplayer Game | Technos libres | Mode de jeu à plus de 2 joueurs | | Major | Add Another Game | Technos libres | Ajouter un second jeu avec matchmaking et historique | | Major | Live Chat | Technos libres | MP, block, invite à jouer, profils depuis le chat | | Major | AI Opponent | Technos libres (A* interdit) | IA qui simule un joueur humain (refresh 1s, entrées clavier simulées) | | Major | WAF & Vault | WAF + ModSecurity + Vault | Sécuriser via WAF, ModSecurity, Vault pour les secrets | | Major | 2FA + JWT | 2FA + JWT | Authentification double facteur avec tokens JWT sécurisés | | Major | ELK Stack Logging | Elasticsearch + Logstash + Kibana | Stack ELK pour logs, analyse et visualisation | | Major | Microservices Backend | Technos libres | Refactor backend en microservices | | Major | Advanced 3D | Babylon.js | Pong en 3D avec Babylon.js | | Major | Server-Side Pong | Technos libres | Pong serveur + API | | Major | CLI vs Web Pong | Technos libres | Jouer depuis le CLI contre un joueur Web via API | | Minor | Frontend Toolkit | Tailwind CSS (avec TypeScript) | Utiliser Tailwind CSS avec TypeScript pour le frontend | | Minor | Database | SQLite | Ajouter un backend utilisant SQLite comme base de données | | Minor | Game Customization | Technos libres | Options de jeu : powerups, maps, etc. | | Minor | Stats Dashboards | Technos libres | Dashboards utilisateurs + parties | | Minor | GDPR & Anonymization | Technos libres | Suppression de compte, anonymisation, gestion des données personnelles | | Minor | Monitoring | Prometheus + Grafana | Supervision avec Prometheus et visualisation avec Grafana | | Minor | Support All Devices | Technos libres | Responsive + support tactile, clavier, souris | | Minor | Browser Compatibility | Technos libres | Support d’un navigateur supplémentaire | | Minor | Multilingual | Technos libres | Site multilingue avec au moins 3 langues | | Minor | Visual Impairment | Technos libres | Accessibilité visuelle : contrastes, navigation clavier, etc. | | Minor | SSR | Technos libres | Server Side Rendering pour perf + SEO |