188 lines
6.5 KiB
TeX
188 lines
6.5 KiB
TeX
\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} |