diff --git a/organisation_db.md b/organisation_db.md new file mode 100644 index 0000000..40155b4 --- /dev/null +++ b/organisation_db.md @@ -0,0 +1,57 @@ +# Résumé des éléments de la base de données + +## Table Projets + +Contient la liste des projets. + +- id: int (clé primaire, auto-incrémentée et unique) +- nom: string (nom du projet, obligatoire) +- description: string (description du projet, optionnelle) +- date_debut: date (date de début du projet, optionnelle) +- status: int (statut du projet, obligatoire) + - Valeurs possibles: 0 (en cours), 1 (terminé), 2 (annulé) +- launched: bool (indique si le projet est lancé, obligatoire, par défaut à false) + +## Table Mesures + +Contient l'ensemble des mesures effectuées pour un projet donné. +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 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). + +- id: int (clé primaire, auto-incrémentée et unique) +- id_projet: int (clé étrangère vers la table Projets) +- timestamp: datetime (date et heure de la mesure) +- chemin_image: string (chemin vers le fichier image, optionnel) +- temperature: float (mesure de température, optionnelle) +- humidite: float (mesure d'humidité, optionnelle) +- effectuee: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false) + +## Table Videos + +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 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 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 les paramètres de la vidéo (résolution, durée) : + +- 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) +- 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). + +- id: int (clé primaire, auto-incrémentée et unique) +- id_projet: int (clé étrangère vers la table Projets) +- id_mesures: 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) +- timestamp_debut: 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) +- nb_images: int (nombre d'images utilisées pour générer la vidéo) +- resolution: string (résolution de la vidéo, optionnelle) +- duree: int (durée de la vidéo en secondes, optionnelle) +- fps: int (nombre d'images par seconde, optionnelle) +- status: int (statut de la vidéo, obligatoire) + - Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée)