Le projet ft_transcendence
est une plateforme Web innovante centrée sur le jeu Pong
. Bien plus qu'un simple jeu local, il s'agit d'une application web complète, évolutive, et riche en fonctionnalités, permettant des interactions temps réel entre utilisateurs. Ce projet est conçu comme un exercice d'excellence en développement web, DevOps
, et cybersécurité
.
- Jeu Pong en ligne :
- Mode
1v1
surmême machine
ouen ligne
Tournoi
avec organisationautomatique
desmatchs
.
- Mode
- Application Web Monopage (
SPA
) :- Développée en
JavaScript
:vanilla
. - Compatible avec la dernière version stable de
Google Chrome
.
- Développée en
- Sécurité Basique :
- Connexion
HTTPS
. - Protection contre les injections
SQL
etXSS
. - Stockage des mots de passe
hashés
.
- Connexion
- Conteneurisation avec
Docker
:- Déploiement via une commande simple (
docker-compose up --build
).
- Déploiement via une commande simple (
Le projet peut être enrichi avec de nombreux modules pour atteindre 100 %
de complétion :
- Backend avec
Django
. - Utilisation de
PostgreSQL
comme base de données. - Stockage des scores sur
Ethereum
(blockchain
).
- Authentification
OAuth2.0/42
. - Gestion des
profils
avecavatars
, historique desmatchs
, etstatistiques
. - Système d'
amis
avec affichage dustatut
en ligne.
- Joueurs
distants
etmultijoueurs
. - Chat en
direct
avecinvitations
à jouer. - Matchmaking
automatisé
.
- Mise en place de
WAF/ModSecurity
. - Gestion des
secrets
avecHashiCorp Vault
. - Authentification
2FA
etJWT
. - Conformité
GDPR
.
Monitoring
avecPrometheus/Grafana
.- Gestion des
logs via ELK
(Elasticsearch, Logstash, Kibana)
. - Architecture
backend
enmicroservices
.
- Graphismes avancés avec
ThreeJS
.
- Multi-langue, compatibilité
multi-navigateurs
, support mobile. - Accessibilité pour
malvoyants
.
ft_transcendence/
├── backend/
│ ├── manage.py
│ ├── settings.py
│ ├── urls.py
│ ├── models.py
│ └── views.py
├── frontend/
│ ├── index.html
│ ├── styles.css
│ ├── main.js
│ └── pong.js
├── docker-compose.yml
├── .env
└── README.md
Docker
etDocker Compose
installés.- Navigateur moderne (
Google Chrome
recommandé).
-
1. Clonez le dépôt :
git clone https://github.com/raveriss/ft_transcendence.git cd ft_transcendence
-
2. Configurez les variables d'environnement :
- Créez un fichier
.env
à la racine et renseignez-y vos clésAPI
, mots de passe et paramètres.
- Créez un fichier
-
3. Lancez l'application :
docker-compose up --build
-
4. Accédez à l'application :
- Ouvrez votre navigateur et rendez-vous sur
http://localhost:3000
.
- Ouvrez votre navigateur et rendez-vous sur
1
.Backend Framework
: Développement du backend avecDjango
.2
.User Management
: Authentification, gestion des profils et historique des matchs.3
.Gameplay
: Mode multijoueur, personnalisation des règles, et ajout d'uneIA
.4
.Cybersecurity
: Mise en place de2FA
etJWT
.5
.DevOps
: Monitoring avecPrometheus/Grafana
et gestion des logs avecELK
.
Accessibilité
: Compatibilité multi-langue et support pour les utilisateurs malvoyants.Graphiques 3D
: Utilisation deThreeJS
pour une expérience immersive.Blockchain
: Stockage des scores de tournois surEthereum
.