Calendar

Calendar, destinée aux exploitants de centrales hydroélectriques.
L’objectif de ce projet était de fournir un journal de bord interactif permettant de saisir, consulter et gérer les tâches de maintenance quotidiennes réalisées sur les installations.
L’application a été entièrement développée en PHP , avec SQL pour la gestion et la persistance des données dans une base relationnelle.
Modélisation de la base de données – Projet Calendar
Objectif
Cette base de données permet de stocker les interventions de maintenance planifiées ou réalisées au sein d’un calendrier destiné à des exploitants de centrales hydroélectriques.
Structure de la table Events
| Champ | Type | Description |
|---|---|---|
Id | INT | Identifiant unique auto-incrémenté de l’événement |
Intervenant | VARCHAR(255) | Nom de la personne en charge de l’intervention |
Object | VARCHAR(255) | Objet ou thème de la tâche (ex : inspection turbine) |
Todo | TEXT | Description des actions prévues |
Done | TEXT | Résumé des actions effectuées |
Start_date | DATETIME | Date et heure de début de l’événement |
End_date | DATETIME | Date et heure de fin de l’événement |
Astreinte | BIT (0/1) | Indique si l’événement a lieu pendant une astreinte |
Journee | BIT (0/1) | Indique si l’intervention s’étend sur la journée entière |
Exemple de Code
Objectif
Cette base de données permet de stocker les interventions de maintenance planifiées ou réalisées au sein d’un calendrier destiné à des exploitants de centrales hydroélectriques.


config.php — Configuration de la base de données
Ce fichier initialise la connexion à la base de données via PDO :
L’interdiction de l’émulation des requêtes préparées
Connexion locale : phpCopierModifier$host = '127.0.0.1:3307'; $db = 'matthieu lopes'; $user = 'scada'; $pass = 'root';
Deux environnements sont prévus (local et distant), ce qui rend le projet portable et facilement déployable.
Le DSN est construit dynamiquement pour adapter l’encodage (utf8mb4) : phpCopierModifier$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
Les options de PDO assurent :
Une gestion stricte des erreurs (ERRMODE_EXCEPTION)
Un mode de récupération clair (FETCH_ASSOC)
event.php — Affichage dynamique d’un événement
Ce fichier récupère un événement spécifique à partir de son id passé en paramètre URL ($_GET['id']).
Structure :
- Inclusion des fichiers nécessaires (
bootstrap,config,Events.php,header) - Initialisation de la classe
Eventsavec la connexion$pdo - Récupération sécurisée de l’événement avec : phpCopierModifier
$eventId = (int) $_GET['id']; $event = $events->find($eventId);
Affichage conditionnel :
Le fichier affiche ensuite toutes les informations pertinentes si elles existent :
- Objet, usine, intervenant
- Date de début, date de fin
- Heure de mise en service et heure d’appel (si disponibles)
- Statut : en cours, accompli, astreinte, journée
Utilisation de DateTime pour afficher proprement les dates/horaires et de isset() pour ne jamais afficher des données vides.
Compétences démontrées:
Protection contre les injections (via h() / htmlspecialchars())
-Connexion PDO sécurisée (local & distant)
-Affichage conditionnel des données (optimisation UX)
-Manipulation de dates avec DateTime
-Architecture PHP modulaire et claire
Protection contre les injections (via h() / htmlspecialchars())
Rendu – Projet EasyFood



Compétences:
