Organisation des fichiers
Organisation des fichiers 📁
Castopod s'appuie sur le framework CodeIgniter, qui possède un modèle MVC consistant à diviser les différentes parties d'un projet sous trois formes :
- Les vues
- Les controlleurs
- Les modèles
Il existe également les entités qui sont des classes permettants de manipuler plus facilement des objets comme des utilisateurs ou des fichiers.
Pour en savoir plus sur ce modèle, nous vous invitons à vous diriger vers la page correspondante à l'explication de CodeIgniter ainsi qu'à la documentation officielle.
Une fois ce modèle bien compris, nous pouvons donc analyser la structure de Castopod, qui possède ces différents éléments.
Structure générale
Voici la structure générale du projet Castopod, qui sera détaillé plus en profondeur ensuite :
Docker 🐋
Pour gérer Docker, Castopod s'appuie sur des fichiers décrivants les différents containeurs à construire pour gérer le projet.
On a un fichier nommé docker-compose.yml qui décrit les containeurs à construire pour le projet, qui sont au nombre de 5 :
- Le containeur Castopod : Il va contenir l'ensemble des fichiers de CodeIgniter qui vont permettre de gérer le front-end et le back-end du projet
- Le containeur Redis : C'est un système de gestion de base de données. Il stocke les données en mémoire vive, ce qui le rend extrêmement rapide pour les opérations de lecture et d'écriture.
- Le containeur MariaDB : On retrouve la base de données générale du projet. Contrairement à Redis, elle est utilisé pour gérer des ensembles de données complexes avec des relations entre les tables.
- Le containeur PHP My Admin : Ce containeur va permettre d'avoir une gestion graphique de la base de données, en accédant à la page localhost:8888 (modifiable dans le .env du projet)
- Le containeur S3 Mock : C'est un outil qui simule le service de stockage d'objets d'Amazon Web Services (AWS) appelé Amazon S3
Ce fichier va permettre de gérer les ports sur lequel les containeurs vont être reliés à la machine hôte, de gérer différents paramètres des applications, les commandes qui vont être lancés au démarrage et le nom des volumes.
On a également un dossier Docker, qui contient un fichier dans le sous-dossier développement, qui va décrire la construction du containeur de Castopod.
Pour en savoir plus sur la gestion des fichiers Docker, nous vous invitons à lire la documentation officielle de Docker, qui contiendra plus d'informations sur le déploiement des containeurs.