{"id":15129881,"url":"https://github.com/raveriss/inception","last_synced_at":"2026-01-19T12:33:22.630Z","repository":{"id":256180066,"uuid":"854516684","full_name":"raveriss/Inception","owner":"raveriss","description":"Inception: Création d'une infrastructure complète en utilisant Docker. Le projet implique la virtualisation de différents services Docker (NGINX, WordPress, MariaDB) avec docker-compose pour une gestion efficace des conteneurs.","archived":false,"fork":false,"pushed_at":"2024-11-30T14:43:58.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T17:14:08.332Z","etag":null,"topics":["42","42cursus","42projects","alpine","container","debian","docker","docker-compose","dockerfile","mariadb","nginx","virtual-machine","virtualization","wordpress"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raveriss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-09T10:12:40.000Z","updated_at":"2024-11-30T14:44:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e941339-010c-4bcc-bacd-8bc378469b8f","html_url":"https://github.com/raveriss/Inception","commit_stats":null,"previous_names":["raveriss/inception"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2FInception","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2FInception/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2FInception/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raveriss%2FInception/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raveriss","download_url":"https://codeload.github.com/raveriss/Inception/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247386973,"owners_count":20930750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42","42cursus","42projects","alpine","container","debian","docker","docker-compose","dockerfile","mariadb","nginx","virtual-machine","virtualization","wordpress"],"created_at":"2024-09-26T02:22:11.039Z","updated_at":"2026-01-19T12:33:22.583Z","avatar_url":"https://github.com/raveriss.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inception - École 42 | Paris\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/container-Docker-blue\" alt=\"Docker\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/docker%20compose-yes-blue\" alt=\"Docker Compose\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/database-MariaDB-blue\" alt=\"MariaDB\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/web%20server-Nginx-green\" alt=\"Nginx\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/cms-WordPress-blueviolet\" alt=\"WordPress\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/school-42-green\" alt=\"42\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/42-Paris-blue\" alt=\"42 Paris\"\u003e\n\u003c/div\u003e\n\n###\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/ayogun/42-project-badges/refs/heads/main/badges/inceptione.png?raw=true\" alt=\"Badge du projet push_swap\"\u003e\n\u003c/div\u003e\n\n## Description\n\nInception est un projet qui vise à approfondir les connaissances dans la virtualisation en utilisant Docker. L'objectif est de créer une mini-infrastructure de plusieurs services, tous conteneurisés et orchestrés à l'aide de `docker-compose`. Chaque service tournera dans son propre conteneur dédié en respectant les bonnes pratiques de configuration.\n\n## Exercise 00: Infrastructure Docker\n\nL'objectif principal de ce projet est de mettre en place une infrastructure complète comprenant plusieurs services Docker comme NGINX, WordPress, et MariaDB. Le projet inclut la création d'une machine virtuelle, l'écriture de Dockerfiles, et l'utilisation de volumes et de réseaux Docker.\n\n### Structure du Projet\n\nLe projet est organisé de la manière suivante :\n\n- **File:** `Makefile`\n- **Directory:** `srcs/`\n  - `docker-compose.yml`\n  - `.env`\n  - **Directory:** `requirements/`\n    - **Directory:** `mariadb/`\n      - `Dockerfile`\n      - `.dockerignore`\n      - `conf/`\n      - `tools/`\n    - **Directory:** `nginx/`\n      - `Dockerfile`\n      - `.dockerignore`\n      - `conf/`\n      - `tools/`\n    - **Directory:** `wordpress/`\n      - `Dockerfile`\n      - `.dockerignore`\n      - `tools/`\n    - **Directory:** `bonus/`\n      - (Dossier pour tout service supplémentaire dans les bonus)\n\n\nLe fichier `.env` contient des variables d'environnement pour la configuration de votre domaine et des services comme MariaDB et WordPress.\n\n\n### Description des Fichiers\n\n- `docker-compose.yml`: Contient la configuration des différents services et la mise en place des réseaux et des volumes Docker.\n- `Makefile`: Automatiser la création et le déploiement des conteneurs via Docker Compose.\n- `Dockerfiles/`: Dossier contenant les Dockerfiles pour chaque service (NGINX, WordPress, MariaDB).\n- `Volumes/`: Dossier où les volumes sont montés pour stocker les données persistantes (base de données, fichiers de WordPress).\n\n### Compilation\n\nPour compiler et démarrer l'infrastructure, utilisez la commande suivante dans le terminal :\n\n```bash\nmake\n```\n\nCette commande lance `docker-compose` et met en place tous les services.\n\n### Exécution\nUne fois la compilation terminée, vous pouvez accéder aux services via votre navigateur :\n\nAccédez à votre site WordPress sécurisé via HTTPS à l'adresse `https://login.42.fr`, où login est votre `login` utilisateur de l'École 42.\n\n### Fonctionnalités\n- **Conteneurisation des services** : NGINX, WordPress, et MariaDB tournent chacun dans leur propre conteneur.\n- **Sécurisation** : Utilisation du protocole TLSv1.2 ou TLSv1.3 pour sécuriser les connexions via NGINX.\n- **Volumes** : Les données sont persistantes grâce à l'utilisation de volumes Docker pour la base de données et les fichiers de WordPress.\n- **Automatisation** : Utilisation d'un Makefile pour automatiser la configuration et le déploiement.\n- **Variables d'environnement** : Configuration des mots de passe et autres informations sensibles via des variables d'environnement sécurisées dans un fichier `.env`.\n\n### Contributeurs\nraveriss - Développeur principal\n\n### Remarques\nCe projet suit les bonnes pratiques de Docker, notamment l'utilisation de Dockerfiles personnalisés pour chaque service et la gestion des volumes pour garantir la persistance des données. Aucun mot de passe n'est stocké dans les Dockerfiles et toutes les informations sensibles sont gérées via des variables d'environnement.\n\n### Ressources Utilisées\n- [Testeur inception](https://github.com/raveriss/42-inception-tester)\n- [Documentation Docker](https://docs.docker.com)\n- [Apprenez Docker sur OpenClassrooms](https://openclassrooms.com/fr/courses/2612166-apprenez-a-utiliser-docker)\n- [Utilisation avancée de Docker Compose](https://docs.docker.com/compose/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraveriss%2Finception","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraveriss%2Finception","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraveriss%2Finception/lists"}