Le projet est un projet Symfony 6 en architecture MVC.
Les échanges avec la base de données sont effectuées par l'ORM Doctrine.
Javascript a été utilisé pour l'affichage de la pop-up de Détail dans la page principale.
Le projet s'appuie sur un fichier json (public/json/applications.json) pour récupérer les applications (fname + titre) de Paris 1.
Au premier lancement du projet, les applications sont enregistrées dans une base de données MySQL qui enregistre les informations sur la météo des services (voir diagramme).
Une application non référencée dans le fichier .json peut être ajoutée directement depuis la météo des services.
Le projet distingue deux rôles :
- User : n'accède à la météo des services qu'en lecture
- Admin : accède à la météo des services en lecture et en écriture (ajout/modification/suppression d'application et maintenance) Le paramétrage du rôle s'effectue dans le fichier .env du projet (variable GLOBAL_VARIABLE, valeur : {"user", "admin"})
- Application.state, Maintenance.ApplicationState : {"operational", "pertubed", "unavailable", "default"}
- ApplicationHistory.historyType, MaintenanceHistory.historyType : {"creation", "update", "deletion"}
La suppression d'une application depuis la météo des services ne supprime pas l'application en base de données mais l'archive avec la propriété isArchived (pour conserver son historique).
La propriété isFromJson permet de différencier les applications issus du fichier .json des applications créées au sein de la météo des services.
La structure de la base de données a été conservée dans les migrations du projet.
Parmi les librairies de style, le projet utilise Bootstrap.