Contrat IR1 Objectifs principaux Faire un site WEB codé en PHP avec architecture MVC permettant de : visualiser à minima sur 24h les indicateurs principaux remontés depuis la sortie TIC d’un compteur configuré en mode “historique” et stockés dans une BDD MySQL alerter par mail en cas de dépassement de seuil de consommation électrique Déployer l’application via l’utilisation de conteneurs Docker Tâches du cahier des charges Veiller à rédiger au fur et à mesure les documents de projet : journal de bord dossiers de revue fiches de recette manuel d’installation Assurer la gestion de version logicielle dans la forge Framagit Il est nécessaire de créer un compte avant de pouvoir l’utiliser. La validation du compte n’est pas instantanée ⇒ le créer dès le début de projet Définir avec IR2 un modèle de BDD adapté au cahier des charges disposant notamment de tables dans lesquelles seront stockées : les indicateurs délivrés par la TIC du compteur électrique avec horodatage les seuils de consommation au delà desquels une alerte mail sera envoyée les tarifs de l’électricité en vigueur pour avoir une idée du coût journalier … Installer un environnement de développement de type LAMP (→ Linux + Apache + MySQL + PHP >v8.0) ou WAMP (→ Windows + Apache + MySQL + PHP >v8.0) PHP (version > v8.0) S’approprier la programmation en PHP Objet S’approprier le fonctionnement de l’extension PDO de PHP pour accéder à une BDD Développer un framework PHP MVC simple puis s’approprier son fonctionnement. → S’appuyer sur : Créer un framework MVC en Php Définir une maquette pour le site WEB en s’appuyant sur un framework CSS → Suggestion de dashboard WEB s’appuyant sur le framework Bulma : admin-one-bulma-dashboard Sélectionner une librairie de tracé de courbe (Chart.JS, HighCharts.JS, …) et s’approprier son fonctionnement Chart.js est utilisée dans le dashboard suggéré plus haut mais rien n’empêche d’en utiliser un autre. Coder le site web Mettre en place un serveur de mail Intégrer au site web l’envoi d’alerte mail en cas de dépassement de seuil Déployer l’application sous la forme de conteneurs Docker Tester l’application complète en y intégrant la partie de IR2 🞄 🞄 🞄 Spécifications Howto - LUbuntu