Vous êtes sur la page 1sur 12

photo-tech1

Université de
Yaoundé The University of
************* Yaoundé
Faculté des ***************
Sciences Faculty of
************** Sciences
Département **************
d’informatique Department of
************** computer Science
**************

CONCEPTION

APPLICATION MOBILE PHOTO-TECH

NOMS ET PRÉNOMS MATRICULES

KEMTHO PAUL ZIDANE 19M2662

NJIKOUFON MFOCHIVE 19M2876


OUSMANOU

NDZANA NNONO 18T2860


JEANNE D'ARC

superviseur: Dr. ABESSOLO ALO'O Ghislain


mail : ghislainabess@gmail.com

tel: 677 96 92 47

Année académique: 2023-2024


photo-tech2

Table des matières


Table des matières
CONCEPTION.............................................................................................................................1
Table des matières.............................................................................................................................2
Introduction.......................................................................................................................................3
I- Conception Architecturale.............................................................................................................4
I-1) Architecture logique..............................................................................................................4
schéma...............................................................................................................................................5
I-1) Architecture Physique............................................................................................................5
Schéma..............................................................................................................................................5
II- Conception détaillée.....................................................................................................................6
II-1) Diagramme des classes.........................................................................................................6
II-2) Analyse des algorithmes.......................................................................................................7
II-2-1) Capture Automatique des Photos à des Moments Spéciaux :...........................................7
Algorithme de Planification Temporelle :....................................................................................7
II-2-2) Stockage Direct dans la Base de Données MySql............................................................7
II-2-3) Visualisation des Photos dans la Galerie..........................................................................7
III-Implementation............................................................................................................................9
En cours de développement..............................................................................................................9
III-1) Technologies.......................................................................................................................9
III-2) Interface utilisateur..............................................................................................................9
Conclusion.........................................................................................................................................9
photo-tech3

Introduction

la conception architecturale consiste à élaborer une vision d'ensemble du système logiciel,


en décrivant sa structure globale, ses interactions internes, et les principaux mécanismes
qui régissent son fonctionnement. Ce pendant, Dans "Photo-Tech" la conception
architecturale repose sur une combinaison innovante de fonctionnalités de détection
d'image en temps réel, de traitement intelligent des données visuelles, et d'une interface
utilisateur intuitive.
photo-tech4

I- Conception Architecturale

Elle vise à déterminer comment les différents éléments logiciels interagiront les uns avec
les autres pour former un système cohérent et fonctionnel.

I-1) Architecture logique


Une architecture logique, fait référence à la représentation abstraite de la structure et de
l'organisation des composants logiciels. Pour l’application mobile photo-tech , Cette dernière
pourrait être conçue de la manière suivante :
Composants principaux :
Module de traitement d'image : Responsable du traitement des images capturées pour
améliorer la qualité visuelle, ajuster l'exposition, et appliquer des filtres si nécessaire.

Gestionnaire de stockage : Pour stocker en toute sécurité les photos capturées, en tenant
compte de la confidentialité et de la sécurité des données.

Interface utilisateur : Une interface conviviale permettant aux utilisateurs de contrôler les
paramètres de capture, de visualiser les photos, et de les partager.

Flux de données :
✔ Capture automatique : Les images capturées sont transmises au module de traitement
d’images.
✔ Traitement et stockage : Une fois traitées, elles sont stockées directement de manière
sécurisée dans un espace dédié.

Partage et visualisation : Les utilisateurs peuvent visualiser et partager les photos


capturées via l'interface utilisateur.

Connectivité Réseau : Ce module permet la connexion à Internet pour le partage


instantané des photos capturées.

Contrôle d'accès : Des mécanismes de contrôle d'accès sont mis en place pour assurer que
seuls les utilisateurs autorisés peuvent accéder aux photos.

Technologies clés :
photo-tech5

schéma

I-1) Architecture Physique


L 'architecture physique qui se concentre sur la disposition concrète des composants, elle est décrite
de la manière suivante:
Appareil Mobile : L'application "Photo-Tech" sera installée et exécutée sur un appareil mobile tel
qu'un smartphone ou une tablette.

Capteurs d'Appareil Photo : L'application utilisera les capteurs de l'appareil photo intégré de
l'appareil mobile pour capturer automatiquement les photos lors de l'événement.

Processeur et Mémoire de l'Appareil : Le processeur et la mémoire de l'appareil mobile seront


utilisés pour le traitement en temps réel des images capturées, ainsi que pour l'exécution de
l'application elle-même.

Stockage Local :Les photos capturées seront temporairement stockées localement dans une base
de donnée FireBase avant d'être transférées vers un stockage permanent ou partagées via le réseau.

Connectivité Réseau :L'application utilisera les capacités de connectivité réseau de l'appareil


mobile pour le partage instantané des photos capturées, ainsi que pour la sauvegarde des données
dans le cloud si nécessaire.

Schéma
photo-tech6

II- Conception détaillée

II-1) Diagramme des classes


Schema
photo-tech5

II-2) Analyse des algorithmes

Dans cette partie nous presenterons les algorithmes de certaines fonctionnalités


II-2-1) Capture Automatique des Photos à des Moments Spéciaux :
✔ Algorithme de Planification Temporelle :
l'algorithme déclenche automatiquement la capture des photos en utilisant les moments
spéciaux prédéfinis dans les paramètres de la caméra , puis stocke les photos directement
dans la base de données MySql Cela peut inclure l'utilisation d'alarmes ou de minuteries
pour activer la capture Lorsque l'heure programmée est atteinte.
ALGORITHME CaptureAutomatiquePhotosEvenementSpecial
FONCTION definirEvenementSpecial(moment, typeEvenement)
// Cette fonction permet à l'utilisateur de définir un événement spécial et l'heure
de capture
RETOURNER moment,
typeEvenement FIN FONCTION

FONCTION programmerMinuterie(moment, typeEvenement)


// Cette fonction programme une minuterie pour déclencher la capture
automatique à l'heure spécifiée pour chaque événement spécial
SI typeEvenement = "anniversaire" ALORS
programmerMinuterie(moment - 24 heures) // Programmer la minuterie 24
heures avant l'anniversaire
SINON SI typeEvenement = "fete" ALORS
programmerMinuterie(moment - 1 heure) // Programmer la minuterie 1 heure
avant le début de la fête
FIN SI
FIN FONCTION

FONCTION declencherCaptureAutomatique()
// Cette fonction déclenche la capture automatique des photos lorsque la
minuterie est atteinte
SI minuterieAtteinte ALORS
capturerPhotos() // Déclencher la capture automatique des photos
stockerPhotosMySql() // Stocker les photos dans la base de données Firebase
photo-tech6

FIN SI
FIN FONCTION
// Programme principal
photo-tech7

momentAnniversaire, typeAnniversaire = definirEvenementSpecial("2024-01-11


14:00", "anniversaire")
momentFete, typeFete = definirEvenementSpecial("2024-01-12 20:00", "fete")
programmerMinuterie(momentAnniversaire, typeAnniversaire)
programmerMinuterie(momentFete, typeFete)
declencherCaptureAutomatique()
FIN ALGORITHME
a-Evaluation de la complexité de cet algorithme :
✔ Définition des événements spéciaux : La complexité de cette étape dépend du
nombre d'événements spéciaux définis. Si le nombre d'événements spéciaux
est représenté par "n", la complexité est O(n).
✔ Programmation des minuteries : Pour chaque moment spécial, une minuterie est
programmée pour déclencher la capture automatique des photos. La complexité
de cette étape est également O(n) si le nombre d'événements spéciaux est "n".
✔ Déclenchement de la capture automatique : Une fois les minuteries atteintes, la
capture automatique des photos est déclenchée. La complexité de cette étape est
O(1) car elle ne dépend pas du nombre d'événements spéciaux, mais seulement
du déclenchement des minuteries.
En considérant ces aspects, la complexité totale de l'algorithme peut être évaluée
comme suit :
O(n) + O(n) + O(1) = O(n), où "n" est le nombre d'événements spéciaux définis.

II-2-2) Stockage Direct dans la Base de Données MySql


Ici nous pouvons utiliser les API et les services de stockage de notre Backend pour
stocker directement les photos capturées , en utilisant des méthodes efficaces de transfert
et de gestion des données.
II-2-3) Visualisation des Photos dans la Galerie
a-Algorithme de Tri Temporel et Thématique :
ALGORITHME VisualisationPhotosGalerie
FONCTION trierPhotosParDate(listePhotos)
// Cette fonction trie une liste de photos par date et heure de capture
POUR chaque photo dans listePhotos FAIRE
POUR chaque autrePhoto dans listePhotos FAIRE
photo-tech8

SI photo.dateCapture > autrePhoto.dateCapture ALORS


échangerPositions(photo, autrePhoto) // Échanger les positions des photos
dans la liste
SINON SI photo.dateCapture = autrePhoto.dateCapture ALORS
SI photo.heureCapture > autrePhoto.heureCapture ALORS
échangerPositions(photo, autrePhoto) // Échanger les positions des
photos dans la liste
FIN SI
FIN SI
FIN POUR
FIN POUR
RETOURNER listePhotosTriée
FIN FONCTION
FONCTION échangerPositions(photo1, photo2)
// Cette fonction échange les positions de deux photos dans la liste
temporaire = photo1
photo1 = photo2
photo2 = temporaire
FIN FONCTION
FONCTION afficherPhotosDansGalerie(listePhotosTriée)
// Cette fonction affiche les photos triées dans la galerie
POUR chaque photo dans listePhotosTriée FAIRE
afficherPhotoDansGalerie(photo) // Afficher la photo dans la galerie
FIN POUR
FIN FONCTION
// Programme principal
PHOTOS = [photo1, photo2, ..., photoN] // Liste de photos à trier et à afficher
PHOTOS_TRIÉES = trierPhotosParDate(PHOTOS) // Appel de la fonction de tri
afficherPhotosDansGalerie(PHOTOS_TRIÉES) // Appel de la fonction d'affichage
dans la galerie
FIN ALGORITHME
photo-tech9

b-Complexite
✔ Tri des photos par date et heure : La complexité de cette étape dépend du nombre de
photos à trier. Si le nombre de photos est représenté par "n", la complexité est O(n^2)
dans le pire des cas, car il s'agit d'un tri à bulle qui nécessite des comparaisons et des
échanges répétés.
✔ Affichage des photos dans la galerie : Une fois les photos triées, l'affichage dans la
galerie nécessite une itération sur la liste triée. La complexité de cette étape est O(n), où
"n" est le nombre de photos à afficher.
la complexité totale de l'algorithme peut être évaluée comme suit :
O(n^2) (tri des photos) + O(n) (affichage des photos) = O(n^2) où "n" est le nombre
de photos à trier et à afficher.
Gestion de l'Énergie (pour la capture en continu) : Lors de la capture automatique en
continu pour des moments spéciaux, des algorithmes de gestion de l'énergie peuvent être
utilisés pour optimiser l'utilisation de la batterie de l'appareil mobile et prolonger
l'autonomie de la batterie.

III-Implementation

En cours de développement
III-1) Technologies
Nous utilisons:
➢ Flutter pour la présentation de l’interface utilisateur
➢ Spring Boot pour le Backend
➢ MySql pour la Base de donnée
➢ Trello pour la planification
➢ Github pour la gestion du code source
➢ Docker pour la conteneurisations
➢ Cloudinary pour le stockage des images

III-2) Interface utilisateur

Conclusion
En outre, la conception architecturale pourrait bénéficier d'une intégration avec des technologies de
stockage et de visualisation de photos, telles que les bases de données, les applications de galerie
photo-
de photos et les interfaces utilisateur conviviales. tech10

Vous aimerez peut-être aussi