Projet ZEUS PHP

Programme à lancer depuis le terminal.
Le programme doit gérer les entrées utilisateur avec des validations pour éviter les erreurs (par exemple, vérifier que la capacité est un nombre valide, que les valeurs entrées sont supérieures à 0, que l’identifiant existe…).
Le code doit être organisé, lisible et maintenable.


A faire :


Gestion des PDE [F100]
◦ Afficher la liste des PDE [F110]
▪ Afficher tous les PDE [F111]
▪ Afficher les PDE non actifs [F112]
◦ Ajouter un PDE [F120]
◦ Supprimer un PDE [F130]
◦ Activer / désactiver un PDE [F140]
▪ Activer un PDE [F141]
▪ Désactiver un PDE [F142]

• Gestion des consommations instantanées [F200]
◦ Afficher la consommation associée à un PDE [F201]
◦ Modifier la consommation d’un PDE [F202]
◦ Afficher la liste des PDE saturés [F203]
◦ Afficher la capacité de production disponible des PDE non saturés [F204]
◦
• Statistiques [F300]
◦ Afficher le taux de disponibilité des PDE[F301]
◦ Afficher la moyenne des consommations par région [F302]
◦ Obtenir le pourcentage d’utilisation des PDE (consommation actuelle par
rapport à la capacité maximale), trié par ordre décroissant [F303]

Bonus : (à faire uniquement lorsque les fonctionnalités précédentes seront
fonctionnelles)
◦ Gérer l’historique des consommations d’un PDE (pour chaque heure)
[FC401]
◦ Afficher l’historique des consommations des PDE dans un site web [FC402]
◦ Générer une image correspondant à l’historique de consommation d’un PDE
pour la journée (il sera nécessaire de trouver [FC403]
◦ Afficher l’image dans un site web [FC404]


Un PDE comporte les informations suivantes :
• Identifiant unique (numérique).
• Localisation (ville, région).
• Capacité de distribution maximale (en mégawatt heure – MWh)
• Consommation actuelle (injection d’électricité sur le réseau public - en MWh)
• Statut (actif/inactif)

[R1] Lorsqu’un PDE est désactivé, sa consommation doit être positionnée à 0 .
[R2] Un PDE est considéré comme saturé lorsque sa consommation atteint sa
capacité de production maximale 
[R3] Une consommation actuelle d’un PDE ne peut dépasser la capacité de
distribution maximale de ce PDE
[R4] Le taux de disponibilité des PDE correspond au nombre de PDE actifs /
l’ensemble des PDE


Les données seront stockées dans des tableaux en mémoire (structure exemple) (si utiliser l'adapter) :

$tabPDE =
[
[
'id' => 1,
'localisation' => 'Paris',
'region' => 'Île-de-France',
'capacite' => 500,
'consommation' => 180
],
[
'id' => 2,
'localisation' => 'Saint Raphaël',
'region' => 'Sud',
'capacite' => 250,
'consommation' => 100
]
];



EXEMPLE D'EXÉCUTION
Zeus Energy – Menu principal --------------------
1 Gestion des PDE
2 Gestion des consommations instantanées
3 Statistiques
4 Quitter
----- Choisissez une option : 1
Gestion des PDE --------------------
1 Afficher la liste de tous les PDE
2 Afficher la liste des PDE inactifs
3 Ajouter un PDE
4 Supprimer un PDE
5 Activer un PDE
6 Désactiver un PDE
7. Retour
----- Choisissez une option : 1
Liste des PDE--------------------
ID: 1 | Localisation: Paris, Île-de-France | Capacité: 500 MWh | Statut: Actif
ID: 2 | Localisation: Saint Raphaël, Sud | Capacité: 250 MWh | Statut: Inactif
Gestion des PDE --------------------
1 Afficher la liste de tous les PDE
2 Afficher la liste des PDE inactifs
3 Ajouter un PDE
4 Supprimer un PDE
5 Activer un PDE
6 Désactiver un PDE
7. Retour
----- Choisissez une option : 7
Zeus Energy – Menu principal --------------------
1 Gestion des PDE
2 Gestion des consommations instantanées
3 Statistiques
4 Quitter





