Refactor code structure for improved readability and maintainability

This commit is contained in:
2025-04-28 00:52:40 +02:00
parent b6e0080caa
commit 93026436a9
48 changed files with 2116 additions and 126 deletions

112
diapos/cahier-charges.tex Normal file
View File

@@ -0,0 +1,112 @@
\begin{frame}{Spécifications et Cahier des Charges}
\begin{itemize}
\item Fonctionnalités attendues du système complet
\item Contraintes techniques à respecter
\item Livrables du projet
\end{itemize}
\end{frame}
\begin{frame}{Fonctionnalités principales}
\begin{itemize}
\item \textbf{Acquisition d'images}
\begin{itemize}
\item Capture programmable à intervalles réguliers
\item Résolution suffisante pour générer des vidéos HD
\item Stabilité et qualité d'image optimales
\end{itemize}
\item \textbf{Gestion des données}
\begin{itemize}
\item Stockage local des images sur la Raspberry Pi
\item Transmission des images vers un serveur distant
\item Optimisation de la consommation d'énergie et de bande passante
\end{itemize}
\item \textbf{Interfaces utilisateur}
\begin{itemize}
\item Interface web et application mobile pour configuration
\item Visualisation des images et vidéos générées
\item Informations en temps réel sur l'état de la caméra
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Contraintes du projet}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Contraintes techniques}
\begin{itemize}
\item Autonomie énergétique (batterie + panneau solaire)
\item Résistance aux intempéries (boîtier IP65)
\item Connectivité réseau fiable
\item Capacité de stockage suffisante
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Contraintes organisationnelles}
\begin{itemize}
\item Budget limité
\item Délais de développement contraints
\item Coordination entre équipes multidisciplinaires
\item Disponibilité des ressources matérielles
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Architecture globale du système}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/global/global.png}
\end{center}
\vspace{0.5em}
\begin{itemize}
\item Approche modulaire facilitant le développement parallèle
\item Communication entre modules via interfaces standardisées
\item Séparation des responsabilités : acquisition, traitement, interface
\end{itemize}
\end{frame}
\begin{frame}{Livrables}
\begin{itemize}
\item \textbf{Prototype de caméra timelapse fonctionnel} comprenant:
\begin{itemize}
\item Système électronique complet
\item Boîtier résistant aux intempéries
\item Logiciel embarqué sur Raspberry Pi
\end{itemize}
\item \textbf{Logiciels et interfaces}
\begin{itemize}
\item Serveur de traitement et stockage
\item Interface web
\item Application mobile Android
\end{itemize}
\item \textbf{Documentation}
\begin{itemize}
\item Plans et schémas techniques
\item Rapport de projet détaillé
\item Plan Qualité Projet (PQP)
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Indicateurs de performance}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Indicateurs de gestion}
\begin{itemize}
\item Tâches complétées par semaine
\item Pourcentage d'avancement vs plan
\item Respect des délais prévus
\item Nouvelles compétences acquises
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Indicateurs techniques}
\begin{itemize}
\item Autonomie énergétique du système
\item Fiabilité des transmissions de données
\item Qualité des vidéos générées
\item Score de satisfaction utilisateur
\end{itemize}
\end{column}
\end{columns}
\end{frame}

223
diapos/conclusion.tex Normal file
View File

@@ -0,0 +1,223 @@
\begin{frame}{Bilan et perspectives}
\begin{block}{Résumé}
\begin{itemize}
\item Synthèse des apports du projet
\item Retour d'expérience
\end{itemize}
\end{block}
\begin{alertblock}{Perspectives}
\begin{itemize}
\item Améliorations possibles
\item Suites envisagées
\end{itemize}
\end{alertblock}
\end{frame}
\begin{frame}{Bilan du projet}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Objectifs atteints :}
\begin{itemize}
\item Système fonctionnel et autonome
\item Interface utilisateur intuitive
\item Qualité d'image satisfaisante
\item Communication fiable entre composants
\item Solution complète de bout en bout
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Retour d'expérience :}
\begin{itemize}
\item Travail en équipe pluridisciplinaire
\item Gestion des contraintes techniques
\item Adaptation aux imprévus
\item Intégration de multiples technologies
\item Respect des délais et du budget
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Difficultés rencontrées et solutions}
\begin{itemize}
\item \textbf{Autonomie énergétique}
\begin{itemize}
\item Difficulté : Consommation élevée du Raspberry Pi
\item Solution : Mode veille optimisé et panneau solaire dimensionné
\end{itemize}
\item \textbf{Transmission des données}
\begin{itemize}
\item Difficulté : Connexion instable en zone reculée
\item Solution : File d'attente et compression intelligente
\end{itemize}
\item \textbf{Intégration des composants}
\begin{itemize}
\item Difficulté : Espace limité et contraintes thermiques
\item Solution : Conception 3D optimisée et refroidissement passif
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Perspectives d'évolution}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Améliorations techniques :}
\begin{itemize}
\item Réduction de la consommation énergétique
\item Augmentation de la résolution (8K)
\item Intégration de l'IA pour traitement avancé
\item Optimisation pour conditions extrêmes
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Nouvelles fonctionnalités :}
\begin{itemize}
\item Détection automatique d'événements
\item Contrôle par commande vocale
\item Intégration avec drones pour vues dynamiques
\item Analyses prédictives des phénomènes observés
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Applications futures}
\begin{itemize}
\item \textbf{Domaine scientifique}
\begin{itemize}
\item Surveillance environnementale
\item Étude des écosystèmes
\item Documentation des changements climatiques
\end{itemize}
\item \textbf{Domaine industriel}
\begin{itemize}
\item Suivi de chantiers complexes
\item Contrôle de processus industriels
\item Documentation pour assurances et contentieux
\end{itemize}
\item \textbf{Domaine artistique et médiatique}
\begin{itemize}
\item Productions audiovisuelles professionnelles
\item Installations artistiques interactives
\item Documentation d'événements culturels
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Mot de la fin}
\begin{center}
\Large\textbf{Merci pour votre attention !}
\vspace{1cm}
\normalsize
Des questions ?
\end{center}
\end{frame}
\begin{frame}{Conclusion}
\begin{itemize}
\item Réalisation d'un système complet de caméra timelapse autonome
\item Approche multi-disciplinaire : mécanique, électronique et informatique
\item Méthodologie agile et développement en cycle en V avec itérations
\item Tous les objectifs initiaux atteints avec succès
\end{itemize}
\end{frame}
\begin{frame}{Récapitulatif du projet}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Réalisations techniques :}
\begin{itemize}
\item Boîtier robuste et résistant aux intempéries
\item Système électronique autonome
\item Infrastructure serveur complète
\item Interfaces web et mobile fonctionnelles
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Résultats obtenus :}
\begin{itemize}
\item Prototype fonctionnel
\item Interface utilisateur intuitive
\item Qualité des timelapses générés
\item Fiabilité du système complet
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Gestion des risques}
\begin{center}
\begin{tabular}{|p{4cm}|p{3.5cm}|p{3.5cm}|}
\hline
\textbf{Risques identifiés} & \textbf{Impact potentiel} & \textbf{Solutions mises en œuvre} \\
\hline
Intégration mécatronique & Délais, coûts & Communication renforcée \\
\hline
Dysfonctionnement serveur & Pertes de données & Système robuste, sauvegarde \\
\hline
Manque de ressources & Délais & Ressources personnelles \\
\hline
\end{tabular}
\end{center}
\vspace{0.5em}
\begin{itemize}
\item Analyse précoce des risques
\item Actions préventives efficaces
\item Réactivité face aux problèmes rencontrés
\end{itemize}
\end{frame}
\begin{frame}{Compétences développées}
\begin{itemize}
\item \textbf{Compétences techniques :}
\begin{itemize}
\item Conception mécanique et fabrication additive
\item Conception électronique et intégration
\item Développement logiciel full-stack (serveur, web, mobile)
\item Administration système et DevOps
\end{itemize}
\item \textbf{Compétences transversales :}
\begin{itemize}
\item Gestion de projet agile
\item Communication interdisciplinaire
\item Résolution de problèmes complexes
\item Documentation technique
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Perspectives d'amélioration}
\begin{itemize}
\item \textbf{Améliorations techniques possibles :}
\begin{itemize}
\item Optimisation de l'autonomie énergétique
\item Ajout de capteurs environnementaux supplémentaires
\item Amélioration des algorithmes de traitement d'images
\item Interface de configuration plus complète
\end{itemize}
\item \textbf{Évolutions potentielles :}
\begin{itemize}
\item Support pour plusieurs caméras synchronisées
\item Intégration d'intelligence artificielle pour analyse
\item Version commercialisable avec documentation utilisateur
\item Extension à d'autres usages (surveillance, etc.)
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Remerciements et questions}
\begin{center}
\large\textbf{Merci pour votre attention}
\vspace{1.5em}
\normalsize
Projet réalisé par\\
THIEFFRY Raphaël, HUA Olivier, RIBETTE Baptiste,\\
PUYAUBREAU Ethan et RUSSAC Antonin
\vspace{1.5em}
\large\textbf{Questions ?}
\end{center}
\end{frame}

View File

@@ -0,0 +1,99 @@
\begin{frame}{Contexte et Objectifs}
\begin{itemize}
\item Création d'une caméra timelapse autonome et connectée
\item Développement complet : matériel, logiciel et interfaces utilisateur
\item Utilisation d'une Raspberry Pi et d'un module caméra fournis
\end{itemize}
\end{frame}
\begin{frame}{Qu'est-ce qu'un Timelapse?}
\begin{columns}
\begin{column}{0.6\textwidth}
\begin{itemize}
\item Technique photographique qui compresse le temps
\item Capture d'images à intervalles réguliers
\item Assemblées en vidéo à fréquence normale (24-30 fps)
\item Permet d'observer des phénomènes lents (construction, floraison, etc.)
\end{itemize}
\end{column}
\begin{column}{0.4\textwidth}
\centering
% Image exemple d'un timelapse
[Image exemple de timelapse]
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Objectifs du projet}
\begin{itemize}
\item \textbf{Objectif principal :} Infrastructure matérielle et logicielle permettant la création d'une vidéo à partir d'une série d'images capturées via une caméra sans fil
\item \textbf{Objectifs secondaires :}
\begin{itemize}
\item Créer un serveur de traitement et stockage
\item Développer une interface d'accès Web
\item Concevoir une application mobile
\item Fabriquer un boîtier résistant aux intempéries
\item Concevoir une carte électronique pour gérer l'énergie
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Périmètre du projet}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Informatique :}
\begin{itemize}
\item Traitement et stockage des données
\item Serveur, interfaces Web et Android
\item Publication de l'application
\end{itemize}
\textbf{Électronique :}
\begin{itemize}
\item Système autonome d'alimentation
\item Gestion de la consommation d'énergie
\item Protocoles de communication
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Mécanique :}
\begin{itemize}
\item Boîtier étanche et robuste
\item Système de fixation adaptable
\item Facilité de montage/démontage
\end{itemize}
\textbf{Hors périmètre :}
\begin{itemize}
\item Conception de la caméra
\item Traitement d'images avancé
\item Conception du matériel informatique
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Applications visées}
\begin{itemize}
\item \textbf{Projets de construction}
\begin{itemize}
\item Suivi de l'évolution des chantiers
\item Documentation du processus de construction
\end{itemize}
\item \textbf{Phénomènes naturels}
\begin{itemize}
\item Croissance des plantes, floraison
\item Événements météorologiques, lever/coucher de soleil
\end{itemize}
\item \textbf{Événements de longue durée}
\begin{itemize}
\item Expositions, événements publics
\end{itemize}
\item \textbf{Projets artistiques}
\begin{itemize}
\item Création de contenu visuel
\item Narration visuelle accélérée
\end{itemize}
\end{itemize}
\end{frame}

97
diapos/demo.tex Normal file
View File

@@ -0,0 +1,97 @@
\begin{frame}{Démonstration}
\begin{center}
\huge\textbf{Démonstration du projet}
\vspace{1em}
\large Présentation du prototype fonctionnel
\end{center}
\end{frame}
\begin{frame}{Prototype intégré}
\begin{columns}
\begin{column}{0.6\textwidth}
\textbf{Présentation du prototype :}
\begin{itemize}
\item Boîtier complet avec tous les composants intégrés
\item Système électronique fonctionnel
\item Connexion au serveur et démonstration de capture
\item Tests des différentes fonctionnalités
\end{itemize}
\end{column}
\begin{column}{0.4\textwidth}
\centering
% Image du prototype final
[Photo du prototype complet]
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Interface web}
\begin{center}
% Capture d'écran de l'interface web
[Capture d'écran de l'interface web]
\vspace{0.5em}
\textit{Interface de gestion des projets timelapse}
\end{center}
\vspace{0.5em}
Démonstration des fonctionnalités :
\begin{itemize}
\item Création et configuration d'un projet
\item Visualisation des images capturées
\item Génération et visualisation d'une vidéo timelapse
\item Configuration des paramètres de capture
\end{itemize}
\end{frame}
\begin{frame}{Application Android}
\begin{center}
% Capture d'écran de l'application mobile
[Capture d'écran de l'application mobile]
\vspace{0.5em}
\textit{Application mobile de contrôle et visualisation}
\end{center}
\vspace{0.5em}
Démonstration des fonctionnalités :
\begin{itemize}
\item Connexion et authentification
\item Consultation des projets en cours
\item Configuration à distance de la caméra
\item Visualisation des timelapses générés
\end{itemize}
\end{frame}
\begin{frame}{Vidéos timelapses générées}
\begin{center}
% Exemple de timelapses générés
[Exemples de timelapses générés]
\vspace{0.5em}
\textit{Résultats obtenus avec le système développé}
\end{center}
\vspace{0.5em}
\begin{itemize}
\item Présentation de plusieurs exemples de timelapse
\item Démonstration de différents intervalles et durées
\item Qualité d'image et stabilité du résultat
\item Comparaison avant/après traitement
\end{itemize}
\end{frame}
\begin{frame}{Performances et résultats}
\begin{itemize}
\item \textbf{Autonomie énergétique :}
\begin{itemize}
\item Test en conditions réelles sur plusieurs jours
\item Données de consommation et recharge
\end{itemize}
\item \textbf{Fiabilité de la transmission :}
\begin{itemize}
\item Statistiques de transmissions réussies
\item Tests en conditions de connexion dégradée
\end{itemize}
\item \textbf{Qualité du traitement :}
\begin{itemize}
\item Stabilité des vidéos générées
\item Efficacité des algorithmes de correction
\end{itemize}
\end{itemize}
\end{frame}

141
diapos/elec.tex Normal file
View File

@@ -0,0 +1,141 @@
\begin{frame}{Partie électronique}
\begin{itemize}
\item Conception du système électronique autonome
\item Gestion intelligente de l'énergie
\item Intégration des composants avec la Raspberry Pi
\item Protocoles de communication
\end{itemize}
\end{frame}
\begin{frame}{Composants électroniques principaux}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Unité de traitement :}
\begin{itemize}
\item Raspberry Pi 4B avec Raspbian
\item Module caméra fourni par l'école
\item Microcontrôleur STM32 pour gestion d'énergie
\item Capteur hygrométrique
\end{itemize}
\textbf{Connectivité :}
\begin{itemize}
\item WiFi intégré à la Raspberry Pi
\item Connexions filaires sécurisées
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Alimentation :}
\begin{itemize}
\item Batterie de 6€
\item Panneaux solaires
\item Modules d'alimentation à découpage (2)
\item Système de gestion d'énergie
\end{itemize}
\textbf{Composants additionnels :}
\begin{itemize}
\item Transistors (2 en 1)
\item LED indicatrices d'état
\item Résistances et condensateurs
\item Connectique et câbles
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Architecture électronique}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/raspi/01_architecture_generale/Architecture Générale du Système Timelapse.png}
\end{center}
\vspace{0.5em}
\begin{itemize}
\item Conception modulaire avec connecteurs standards
\item Protection contre les surtensions et court-circuits
\item PCB optimisé pour minimiser les interférences
\end{itemize}
\end{frame}
\begin{frame}{Conception et fabrication du PCB}
\begin{itemize}
\item \textbf{Outils de conception :}
\begin{itemize}
\item Altium Designer pour conception et routage
\item STM32 CubeIDE et STMProgrammer pour le développement logiciel
\end{itemize}
\item \textbf{Processus de fabrication :}
\begin{itemize}
\item Utilisation d'une graveuse mécanique
\item PCB vierge (6€)
\item Assemblage manuel des composants
\item Tests de fonctionnement
\end{itemize}
\item \textbf{Approche itérative :}
\begin{itemize}
\item Versions successives documentées
\item Répertoires numérotés par version de production
\item Archives détachées des répertoires de travail
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Gestion de l'énergie}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Enjeux énergétiques :}
\begin{itemize}
\item Autonomie complète en extérieur
\item Optimisation de la consommation
\item Gestion des cycles charge/décharge
\item Adaptation aux conditions météo
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Solutions implémentées :}
\begin{itemize}
\item Circuit de charge intelligent
\item Mode économie d'énergie
\item Surveillance de la batterie
\item Protection contre décharge profonde
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Flux de traitement des données}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/raspi/02_flux_capture/Flux du Processus de Capture d'Images.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Capture et traitement d'images optimisés
\item Stockage temporaire sur la Raspberry Pi
\item Synchronisation avec le serveur distant
\end{itemize}
\end{frame}
\begin{frame}{Défis électroniques}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Défis rencontrés :}
\begin{itemize}
\item Intégration mécatronique
\item Problématiques d'autonomie énergétique
\item Fiabilité des connexions
\item Gestion de la chaleur
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Solutions apportées :}
\begin{itemize}
\item Communication constante avec l'équipe mécanique
\item Design électronique à basse consommation
\item Connecteurs sécurisés et isolés
\item Systèmes de dissipation thermique
\end{itemize}
\end{column}
\end{columns}
\end{frame}

188
diapos/info.tex Normal file
View File

@@ -0,0 +1,188 @@
\begin{frame}{Architecture informatique}
\begin{itemize}
\item Développement basé sur méthodologie agile
\item Architecture client-serveur distribuée
\item Trois composants principaux : Backend, Frontend, Application mobile
\item Infrastructure robuste et sécurisée
\end{itemize}
\end{frame}
\begin{frame}{Architecture globale}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/architecture/architecture_timelapse.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Architecture modulaire avec interfaces standardisées
\item Communication via API REST sécurisée
\item Séparation claire des responsabilités
\item Intégration continue et déploiement automatisé
\end{itemize}
\end{frame}
\begin{frame}{Infrastructure et déploiement}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/backend/backend5/Déploiement.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Applications hébergées dans des conteneurs Docker
\item Machine virtuelle Ubuntu Server sur hyperviseur Proxmox
\item Trois niveaux d'abstraction facilitant maintenance et sauvegarde
\item Déploiement et mise à jour automatisés via CI/CD
\end{itemize}
\end{frame}
\begin{frame}{Structure des classes et composants}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/raspi/03_structure_classes/Structure des Classes et Composants.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Organisation objet orientée domaines
\item Séparation des responsabilités
\item Interfaces clairement définies entre composants
\end{itemize}
\end{frame}
\begin{frame}{Synchronisation des données}
\begin{center}
\includegraphics[width=0.75\textwidth]{out/diagrams/raspi/04_sequence_synchronisation/Séquence de Synchronisation des Données.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Processus robuste de transfert des images
\item Gestion des échecs de connexion
\item Reprise de transfert automatique
\end{itemize}
\end{frame}
\begin{frame}{Backend - Technologies et architecture}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Technologies utilisées :}
\begin{itemize}
\item Node.js + Express
\item FFMPEG pour traitement vidéo
\item NPM pour la gestion des dépendances
\item Docker pour la conteneurisation
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Architecture :}
\begin{itemize}
\item Architecture MVC
\item API RESTful
\item Traitement asynchrone
\item Gestion des erreurs robuste
\end{itemize}
\end{column}
\end{columns}
\begin{center}
\includegraphics[width=0.5\textwidth]{out/diagrams/backend/backend2/Architecture MVC.png}
\end{center}
\end{frame}
\begin{frame}{Backend - Modèles de données et traitement}
\begin{columns}
\begin{column}{0.5\textwidth}
\begin{center}
\includegraphics[width=\textwidth]{out/diagrams/backend/backend1/Modèles de données.png}
\end{center}
\end{column}
\begin{column}{0.5\textwidth}
\begin{center}
\includegraphics[width=\textwidth]{out/diagrams/backend/backend3/Création de vidéo.png}
\end{center}
\end{column}
\end{columns}
\vspace{0.3em}
\begin{itemize}
\item Modèles structurés pour stockage et traitement efficaces
\item Algorithme optimisé pour la création de vidéos timelapse
\end{itemize}
\end{frame}
\begin{frame}{Frontend Web}
\begin{columns}
\begin{column}{0.6\textwidth}
\textbf{Technologies et organisation :}
\begin{itemize}
\item Javascript (jQuery) + HTML + CSS
\item Organisation modulaire du code
\item Style universel pour confort utilisateur
\item Interface responsive et intuitive
\end{itemize}
\vspace{0.5em}
\textbf{Fonctionnalités principales :}
\begin{itemize}
\item Gestion des projets timelapse
\item Visualisation des images et vidéos
\item Configuration des paramètres
\item Carousel 3D animé et modulable
\end{itemize}
\end{column}
\begin{column}{0.4\textwidth}
\begin{center}
\includegraphics[width=\textwidth]{out/diagrams/frontend/frontend3/frontend3.png}
\end{center}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Application Mobile Android}
\begin{columns}
\begin{column}{0.6\textwidth}
\textbf{Technologies :}
\begin{itemize}
\item Kotlin avec Retrofit et Glide
\item XML pour layouts
\item Android API native
\end{itemize}
\vspace{0.5em}
\textbf{Fonctionnalités :}
\begin{itemize}
\item Visualisation des projets et timelapses
\item Configuration à distance des caméras
\item Mode hors-ligne avec synchronisation
\item Notifications en temps réel
\end{itemize}
\end{column}
\begin{column}{0.4\textwidth}
\begin{center}
\includegraphics[width=\textwidth]{UML Schematique android.png}
\end{center}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Intégration et flux de données}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/global_interspec_lite/global_interspec_lite.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Communication fluide entre tous les composants
\item Interfaces standardisées pour l'échange de données
\item Gestion des erreurs et reprise sur incident
\end{itemize}
\end{frame}
\begin{frame}{Sécurité et optimisation}
\begin{itemize}
\item \textbf{Sécurité :}
\begin{itemize}
\item Authentification sécurisée
\item Exposition sécurisée via reverse proxy
\item Chiffrement des communications
\item VPN et re-routage d'adresses IP
\end{itemize}
\item \textbf{Optimisation :}
\begin{itemize}
\item Adaptation de la qualité selon la connexion
\item Mise en cache des données pour fonctionnement hors-ligne
\item Traitement asynchrone des tâches lourdes
\item Compression adaptative des images et vidéos
\end{itemize}
\end{itemize}
\end{frame}

111
diapos/meca.tex Normal file
View File

@@ -0,0 +1,111 @@
\begin{frame}{Partie mécanique}
\begin{itemize}
\item Conception d'un boîtier robuste et adapté
\item Choix des matériaux pour environnement extérieur
\item Système de fixation modulaire et ajustable
\item Protection des composants électroniques
\end{itemize}
\end{frame}
\begin{frame}{Conception mécanique}
\begin{columns}
\begin{column}{0.6\textwidth}
\textbf{Caractéristiques principales :}
\begin{itemize}
\item Boîtier étanche IP65 (résistant aux intempéries)
\item Support orientable pour cadrage optimal
\item Fixation universelle (trépied, rail, mur)
\item Accès facile aux composants pour maintenance
\item Ventilation passive pour éviter la surchauffe
\end{itemize}
\end{column}
\begin{column}{0.4\textwidth}
\centering
% Image du prototype électromécanique
[Image du prototype boîtier]
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Méthodologie de conception}
\begin{itemize}
\item \textbf{Approche par cycle en V avec itérations}
\begin{itemize}
\item Phase d'analyse des besoins
\item Spécifications techniques détaillées
\item Conception générale et détaillée
\item Prototypages successifs et tests
\end{itemize}
\item \textbf{Intégration avec la partie électronique}
\begin{itemize}
\item Communication constante entre équipes mécanique et électronique
\item Conception adaptée aux contraintes d'assemblage
\item Marges de sécurité pour ajustements finaux
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Processus de fabrication}
\begin{itemize}
\item \textbf{Prototypage :}
\begin{itemize}
\item Conception 3D sur Solidworks
\item Impression 3D avec Bambu Lab X1S (PLA)
\item Tests d'étanchéité et de résistance
\item Organisation de répertoires "RELEASE" pour archiver chaque prototype
\end{itemize}
\item \textbf{Optimisations :}
\begin{itemize}
\item Réduction du poids tout en maintenant la solidité
\item Amélioration de la ventilation interne
\item Simplification du montage/démontage
\item Passages de câbles optimisés
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Choix des matériaux}
\begin{itemize}
\item \textbf{Matériau principal : PLA}
\begin{itemize}
\item Facilité d'impression et précision dimensionnelle
\item Coût raisonnable (20€/kg)
\item Rigidité adaptée aux contraintes mécaniques
\end{itemize}
\item \textbf{Analyse et sélection}
\begin{itemize}
\item Utilisation du logiciel CES pour le choix du matériau
\item Calculs de contraintes avec RDM6
\item Compromis entre légèreté, résistance et coût
\end{itemize}
\item \textbf{Éléments complémentaires}
\begin{itemize}
\item Visserie standard pour faciliter maintenance
\item Joints d'étanchéité sur mesure
\item Supports anti-vibration pour la caméra
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Défis mécaniques rencontrés}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Défis}
\begin{itemize}
\item Intégration mécatronique complexe
\item Étanchéité vs ventilation
\item Poids vs rigidité
\item Tolérance dimensionnelle de l'impression 3D
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Solutions}
\begin{itemize}
\item Communication renforcée entre équipes
\item Systèmes d'aération avec filtres
\item Nervures de renfort dans la conception
\item Tests et itérations multiples
\end{itemize}
\end{column}
\end{columns}
\end{frame}

130
diapos/multi.tex Normal file
View File

@@ -0,0 +1,130 @@
\begin{frame}{Traitement multimédia}
\begin{itemize}
\item Acquisition et traitement des images
\item Génération automatisée des timelapses
\item Optimisation des processus de traitement
\item Compatibilité avec différents formats et résolutions
\end{itemize}
\end{frame}
\begin{frame}{Acquisition d'images}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Paramètres de capture :}
\begin{itemize}
\item Résolution : jusqu'à HD (1920×1080)
\item Format : JPEG optimisé
\item Intervalles configurables via l'interface
\item Exposition automatique adaptative
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Optimisations :}
\begin{itemize}
\item Adaptation auto selon les conditions
\item Balance des blancs automatique
\item Compression intelligente
\item Stockage efficient des métadonnées
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Processus de capture et traitement}
\begin{center}
\includegraphics[width=0.8\textwidth]{out/diagrams/backend/backend3/Création de vidéo.png}
\end{center}
\vspace{0.3em}
\begin{itemize}
\item Acquisition planifiée des images
\item Prétraitement sur la Raspberry Pi
\item Transmission sécurisée vers le serveur
\item Assemblage en vidéo via FFMPEG
\end{itemize}
\end{frame}
\begin{frame}{Traitement des images}
\begin{itemize}
\item \textbf{Pré-traitement sur la Raspberry Pi :}
\begin{itemize}
\item Validation de la qualité de l'image
\item Compression adaptative selon la connexion
\item Stockage temporaire sécurisé
\item Préparation pour transmission
\end{itemize}
\item \textbf{Traitement sur le serveur :}
\begin{itemize}
\item Normalisation des images
\item Correction de luminosité entre les prises
\item Algorithme anti-scintillement (deflicker)
\item Détection et élimination des images défectueuses
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Génération de timelapses}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Pipeline de traitement :}
\begin{enumerate}
\item Importation et vérification des images
\item Traitement par lot avec FFMPEG
\item Ajout d'effets et transitions
\item Encodage optimisé (H.264/H.265)
\item Génération de vignettes pour les interfaces
\end{enumerate}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Options de personnalisation :}
\begin{itemize}
\item Vitesse de lecture ajustable
\item Résolution de sortie configurable
\item Options de qualité/compression
\item Possibilité d'ajouter des titres
\item Formats de sortie multiples
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{Optimisations du traitement}
\begin{itemize}
\item \textbf{Performance serveur :}
\begin{itemize}
\item Traitement asynchrone des requêtes
\item File d'attente pour les tâches intensives
\item Parallélisation des opérations quand possible
\item Cache intelligent des ressources
\end{itemize}
\item \textbf{Optimisation bande passante :}
\begin{itemize}
\item Compression adaptative selon la qualité du réseau
\item Transfert par lots d'images
\item Reprise automatique des transferts interrompus
\item Priorisation des données essentielles
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Défis et solutions techniques}
\begin{columns}
\begin{column}{0.5\textwidth}
\textbf{Défis :}
\begin{itemize}
\item Variations de luminosité entre prises
\item Connexion réseau intermittente
\item Ressources limitées sur la Raspberry Pi
\item Conservation de la qualité d'image
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\textbf{Solutions :}
\begin{itemize}
\item Algorithmes de normalisation
\item Système de mise en cache et synchronisation
\item Optimisation du code pour faible consommation
\item Paramètres de compression intelligents
\end{itemize}
\end{column}
\end{columns}
\end{frame}