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 link

  • 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 link

    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

🞄  🞄  🞄