- Assurez-vous que Docker Desktop est lancé.
- Depuis la racine du projet, exécutez :
docker compose up --build- Ouvrez l'application sur
http://localhost:3000. - L'API backend est disponible sur
http://localhost:3001.
Pour arrêter l'application :
docker compose downCe projet est aussi déployé sur Fly :
https://devops-wordle.fly.dev/
Le backend est une API Node.js + Express qui gère les sessions de jeu Wordle en mémoire.
Il démarre de nouvelles parties, valide les propositions, calcule le feedback des lettres (correct, present, absent) et renvoie l'état du jeu au frontend.
Les mots sont chargés depuis backend/words.json et les routes de jeu sont exposées via /api/game/*.
Le frontend est une application Next.js (TypeScript + React + Tailwind CSS).
Il gère l'interface du jeu (grille, clavier, modal), l'état local via un hook personnalisé, et les appels à l'API backend pour les actions de jeu.
En production, il est servi sur le port 3000.
Ce dépôt contient deux Dockerfiles de service :
backend/Dockerfilepour le service APIfrontend/Dockerfilepour le service Next.js
Pour le développement local, docker-compose.yml exécute ces services dans deux conteneurs.
Pour le déploiement Fly, le Dockerfile à la racine construit les deux parties et exécute backend + frontend dans une seule image :
- backend sur
3001 - frontend sur
3000(point d'entrée public)
Fly est configuré avec fly.toml.
Le nom de l'application est devops-wordle, et Fly redirige le trafic HTTP vers le port interne 3000.
Le déploiement peut être lancé manuellement avec :
flyctl deploy --remote-only --config fly.tomlLe déploiement automatique est configuré dans :
.github/workflows/fly-deploy.yml
À chaque push sur main (ou déclenchement manuel), GitHub Actions :
- récupère le dépôt,
- installe
flyctl, - lance le déploiement Fly.