Mise à jour de la documentation de la base de données : normalisation des noms de tables et des champs, ajout de précisions sur les valeurs possibles pour les statuts.

This commit is contained in:
2025-01-08 15:57:23 +01:00
parent 28e04568f8
commit 7e643c3f90

View File

@@ -1,57 +1,56 @@
# Résumé des éléments de la base de données # Résumé des éléments de la base de données
## Table Projets ## Table `projects`
Contient la liste des projets. Contient la liste des projets.
- id: int (clé primaire, auto-incrémentée et unique) - `id`: int (clé primaire, auto-incrémentée et unique)
- nom: string (nom du projet, obligatoire) - `name`: string (nom du projet, obligatoire)
- description: string (description du projet, optionnelle) - `description`: string (description du projet, optionnelle)
- date_debut: date (date de début du projet, optionnelle) - `start_date`: date (date de début du projet, optionnelle)
- status: int (statut du projet, obligatoire) - `status`: int (statut du projet, obligatoire)
- Valeurs possibles: 0 (en cours), 1 (terminé), 2 (annulé) - Valeurs possibles: 0 (brouillon), 1 (en cours), 2 (terminé), 3 (annulé)
- launched: bool (indique si le projet est lancé, obligatoire, par défaut à false)
## Table Mesures ## Table `measurements`
Contient l'ensemble des mesures effectuées pour un projet donné. Contient l'ensemble des mesures effectuées pour un projet donné.
Il peut y avoir plusieurs mesures pour un même projet. Il peut y avoir plusieurs mesures pour un même projet.
Chaque mesure doit avoir un id incrémenté par rapport à la dernière mesure. Chaque mesure doit avoir un `id` incrémenté par rapport à la dernière mesure.
Chaque mesure contient un timestamp, un chemin vers un fichier image, une mesure de température et une mesure d'humidité. Chaque mesure contient un `timestamp`, un chemin vers un fichier image, une mesure de température et une mesure d'humidité.
Chaque mesure doit préciser si elle a été effectuée ou non (car le fichier image est généré par la caméra donc lorsque la mesure est ajoutée, le fichier n'existe pas encore). Chaque mesure doit préciser si elle a été effectuée ou non (car le fichier image est généré par la caméra donc lorsque la mesure est ajoutée, le fichier n'existe pas encore).
- id: int (clé primaire, auto-incrémentée et unique) - `id`: int (clé primaire, auto-incrémentée et unique)
- id_projet: int (clé étrangère vers la table Projets) - `project_id`: int (clé étrangère vers la table `projects`)
- timestamp: datetime (date et heure de la mesure) - `timestamp`: datetime (date et heure de la mesure)
- chemin_image: string (chemin vers le fichier image, optionnel) - `image_path`: string (chemin vers le fichier image, optionnel)
- temperature: float (mesure de température, optionnelle) - `temperature`: float (mesure de température, optionnelle)
- humidite: float (mesure d'humidité, optionnelle) - `humidity`: float (mesure d'humidité, optionnelle)
- effectuee: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false) - `completed`: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false)
## Table Videos ## Table `videos`
Contient l'ensemble des vidéos générées par partir des images des mesures d'un projet donné. Contient l'ensemble des vidéos générées par partir des images des mesures d'un projet donné.
Il peut y avoir plusieurs vidéos pour un même projet. Il peut y avoir plusieurs vidéos pour un même projet.
Il doit être possible de contenir la liste des id des mesures utilisées pour générer la vidéo. Il doit être possible de contenir la liste des `id` des mesures utilisées pour générer la vidéo.
Il doit être possible de contenir le chemin vers la vidéo générée. Il doit être possible de contenir le chemin vers la vidéo générée.
Il doit contenir le timestamp de la première image de la vidéo et le timestamp de la dernière image de la vidéo. Il doit contenir le `timestamp` de la première image de la vidéo et le `timestamp` de la dernière image de la vidéo.
Il doit contenir le nombre d'images utilisées pour générer la vidéo. Il doit contenir le nombre d'images utilisées pour générer la vidéo.
Il doit contenir les paramètres de la vidéo (résolution, durée) : Il doit contenir les paramètres de la vidéo (`résolution`, `durée`):
- resolution: string (résolution de la vidéo, optionnelle) - `resolution`: string (résolution de la vidéo, optionnelle)
- duree: int (durée de la vidéo en secondes, déduite soit de la durée de la vidéo, soit du nombre d'images et du nombre d'images par seconde) - `duration`: int (durée de la vidéo en secondes, déduite soit de la durée de la vidéo, soit du nombre d'images et du nombre d'images par seconde)
- fps: int (nombre d'images par seconde, optionnelle) - `fps`: int (nombre d'images par seconde, optionnelle)
Il doit contenir le statut de la vidéo (en cours de génération, terminée, annulée). Il doit contenir le statut de la vidéo (en cours de génération, terminée, annulée).
- id: int (clé primaire, auto-incrémentée et unique) - `id`: int (clé primaire, auto-incrémentée et unique)
- id_projet: int (clé étrangère vers la table Projets) - `project_id`: int (clé étrangère vers la table `projects`)
- id_mesures: string (liste des id des mesures utilisées pour générer la vidéo) - `measurement_ids`: string (liste des `id` des mesures utilisées pour générer la vidéo)
- chemin_video: string (chemin vers le fichier vidéo, optionnel) - `video_path`: string (chemin vers le fichier vidéo, optionnel)
- timestamp_debut: datetime (date et heure de la première image de la vidéo) - `start_timestamp`: datetime (date et heure de la première image de la vidéo)
- timestamp_fin: datetime (date et heure de la dernière image de la vidéo) - `end_timestamp`: datetime (date et heure de la dernière image de la vidéo)
- nb_images: int (nombre d'images utilisées pour générer la vidéo) - `image_count`: int (nombre d'images utilisées pour générer la vidéo)
- resolution: string (résolution de la vidéo, optionnelle) - `resolution`: string (résolution de la vidéo, optionnelle)
- duree: int (durée de la vidéo en secondes, optionnelle) - `duration`: int (durée de la vidéo en secondes, optionnelle)
- fps: int (nombre d'images par seconde, optionnelle) - `fps`: int (nombre d'images par seconde, optionnelle)
- status: int (statut de la vidéo, obligatoire) - `status`: int (statut de la vidéo, obligatoire)
- Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée) - Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée)