Lien meme de test : https://ichef.bbci.co.uk/ace/standard/976/cpsprodpb/16620/production/_91408619_55df76d5-2245-41c1-8031-07a4da3f313f.jpg
Lien URL serveur : http://localhost/index.html


# Configuration Docker Compose

## Liens utiles
- Lien meme de test : https://ichef.bbci.co.uk/ace/standard/976/cpsprodpb/16620/production/_91408619_55df76d5-2245-41c1-8031-07a4da3f313f.jpg
- Lien URL serveur : http://localhost/index.html

## Quels services doivent communiquer entre eux ?
- Le frontend doit communiquer avec le backend pour récupérer et envoyer les données des mèmes
- Le backend doit communiquer avec MongoDB pour stocker et récupérer les données
- Le frontend n'a pas besoin de communiquer directement avec MongoDB (isolation de sécurité)

## Quels ports doivent être exposés ?
- Port 80 : exposé par le frontend pour l'accès web public
- Port 8000 : exposé par le backend pour le développement et le débogage (optionnel en production)
- Le port de MongoDB (27017) ne doit pas être exposé à l'extérieur pour des raisons de sécurité

## Comment assurer la persistance des données ?
- Utiliser un volume Docker nommé (`mongo-data`) attaché au service MongoDB
- Configurer ce volume avec `driver: local` pour un stockage sur la machine hôte
- Conserver ce volume lors des redémarrages avec `docker-compose down` sans l'option `-v`

## Dans quel ordre les services doivent-ils démarrer ?
1. MongoDB doit démarrer en premier (base de données)
2. Le backend doit démarrer après MongoDB (pour pouvoir s'y connecter)
3. Le frontend doit démarrer après le backend (pour pouvoir accéder à l'API)