Vous êtes sur la page 1sur 48

Dédicaces

A nos chers parents,

Que nulle dédicace ne puisse exprimer ce que nous leurs doit, pour leur

bienveillance, leur affection et leur soutien... Trésors de bonté, de générosité

et de tendresse, en témoignage de nos profonds amours et nos grandes

reconnaissances « Que Dieu vous garde ».

A nos chères sœurs et nos frères,

En témoignage de nos sincères reconnaissances pour les efforts qu’ils ont

consenti pour l’accomplissement de ce projet. On leur dédie ce modeste

travail en témoignage de notre grand amour et notre gratitude infinie.

A tous nos amis,

Pour leur aide et leur soutien moral durant l’élaboration du travail de fin

d’études.

A toute nos Familles

A tous ceux dont l’oubli du nom n’est guère celui du cœur...

« De l’union « si »avec « mais »naquit enfant nommé« jamais » »

«Il n’y a pas de « si » ni de « mais », il faut réussir »


Remerciements

C’est avec un grand plaisir qu’on réserve ces quelques lignes en signe

de gratitude et de profonde reconnaissance à tous ceux qui, de près

ou de loin, ont contribué à la réalisation et l’aboutissement de ce

travail.

Tout d’abord on remercie notre encadreur MonsieurBrahimi Mohamed

pour son soutient, son sérieux, sa disponibilité, ses précieux conseils et

son aide tout au long de l’élaboration de ce travail.

Nous remercions les membres de jury qui ont bien voulu examiner et

évalué ce mémoire.

Nous nous acquittons, enfin, volontiers d’un devoir de gratitude et de

remerciements à tous nos enseignants pour la qualité de

l’enseignement qu’ils ont bien voulu nous prodiguer durant nos études

afin de nous fournir une formation efficiente.


Table des matières
Introduction général ..............................................................................................................................................1
Chapitre1 : Etat de l’art ........................................................................................................................................2
Introduction..........................................................................................................................................................2
1.Android .............................................................................................................................................................2
1.1 Définition ...............................................................................................................................................2
1.2 Historique ...............................................................................................................................................2
1.3 Fonctionnalités d’Android ......................................................................................................................3
1.4 Architecture Android..............................................................................................................................5
1.4.1 Le noyau Linux ...................................................................................................................................6
1.4.2 Les bibliothèques.................................................................................................................................6
1.4.3 Moteur d’exécution Android ...............................................................................................................6
1.4.4 Le Framework .....................................................................................................................................6
1.4.5 Applications ........................................................................................................................................6
2.Web ...................................................................................................................................................................6
2.1 Définition ....................................................................................................................................................6
2.2 Historique ...................................................................................................................................................7
2.3 Définition d’un site web..............................................................................................................................7
2.4 Les différents types des sites web ...............................................................................................................7
2.5 Les technologies web ..................................................................................................................................8
2.6 Les architectures web ..................................................................................................................................9
2.7 Une application web ................................................................................................................................. 10
3.Outils des maladies des plantes sur Android et sur le web ............................................................................. 11
3.1 Plantix .................................................................................................................................................. 11
3.2 La Clinique des plantes ........................................................................................................................ 11
Conclusion ......................................................................................................................................................... 12
Chapitre2 : Analyse et Conception du “Dr Plant” ............................................................................................ 13
Introduction........................................................................................................................................................ 13
1. Analyse de problème .................................................................................................................................. 13
2. Analyse de Conception ............................................................................................................................... 13
2.1 Un modèle ..................................................................................................................................................... 13
2.2 La modélisation ............................................................................................................................................. 14
2.3 Définition de l’UML ..................................................................................................................................... 14
2.4 L’utilité de l’UML......................................................................................................................................... 14
2.5 Les diagrammes UML................................................................................................................................... 15
2.6 Définition des diagrammes utilisés ...............................................................................................................15
2.7 Conception détaillée de notre Application .................................................................................................... 16
3. Présentation des tables de la base de données ............................................................................................. 20
Conclusion ......................................................................................................................................................... 23
Chapitre3 : Implémentation ................................................................................................................................ 24
Introduction........................................................................................................................................................ 24
1. Environnement du travail ............................................................................................................................ 24
1.1 Environnement matériel ............................................................................................................................ 24
1.2 Environnement logiciel ............................................................................................................................. 25
2. Présentation des interfaces .......................................................................................................................... 27
2.1 Application .................................................................................................................................................... 27
2.2 Site web ......................................................................................................................................................... 32
Conclusion ......................................................................................................................................................... 36
Conclusion général ............................................................................................................................................... 37
Bibliographie ....................................................................................................................................................... 37
Web graphie ........................................................................................................................................................ 37
Liste des figures
1.1 Les différents versions d’Android…………………………………………………………………3
1.2Les principaux comopsants du système d’exploitation Android…………………….………5
1.3 Représentation d’un site web statique ..………………………….………………………….………7
1.4 Représentation d’un site web dynamiques..................................................................................8
1.5 L’architecture clien/serveur........................................................................................................... 10
2.1 Diagramme de cas d’utilisation coté client………………….…………….…..……………….17
2.2 Diagramme de cas d’utilisation coté expert………………….…………….…..………………18
2.3 Diagramme de classe………………….…………………………………….….…..……………..19
3.1 Interface de serveur Wamp. ……………………………………..…………….…..……………..25
3.2 Interface d’Android studio ……………………………………..…………….…..……………..26
3.3 Interface défini par XML ………………….…………….…..……………………………………28
Introduction Général :

Depuis sa création l'homme a toujours travaillé pour améliorer son mode de vie sous un
processus appelé le développement humain. Pour ce but il pratique l'agriculture la première fois
sur la rive de tigre et l'Euphrate dans la Mésopotamie.

L'agriculture est une voie par laquelle les êtres humains aménagent leur écosystème et
contrôlent le cycle biologique dans le but est produire des aliments utilisés pour la
consommation, le commerce et l'industrie alimentaire.

Tout ça pousse le développement économique des pays. Mais il y'a toujours des difficultés
comme les maladies des arbres, de sol et des produits, dans ce cas l'agriculteur est obligé de
prendre des échantillons a des experts pour faire le diagnostic et donner le traitement. Cette
opération est longue perde de temps et de force, c'est pour ça dans notre mémoire on a traité ce
problème et on a programmé une application Android qu’il s’appelle « Dr plant » pour éviter
l'aller des agriculteurs chez des experts parce qu'ils les ont dans ses téléphones.

Ce présent rapport est structuré en 3 chapitres :

-Le premier chapitre consiste en une étude de l'état de l'art d'Android, d’un site web et des outils
de diagnostic des maladies des plantes sur Android et sur le Web.

-Le deuxième chapitre, nous faisons une analyse détaillée et complète des cas d’utilisation
repérés à travers le chapitre précédent.et nous élaborons une conception détaillée des cas
d’utilisation, les diagrammes de séquence, ainsi que le diagramme de classe complet.

-Dans le dernier chapitre, nous présentons l'environnement, et on va voir le fonctionnement de


notre application.

Enfin, nous clôturons ce mémoire par une conclusion dans laquelle nous résumons notre
solution et exposant quelques perspectives futures.

1
Chapitre1 : Etat de l’art

Introduction :

Nous présentons dans ce chapitre une description du système d'exploitation Android, des
notions de base relative à la réalisation d’un site web dynamique ainsi que des différents outils
de diagnostic des maladies des plantes sur l’Android et sur le Web.

1. Android :

1.1 Définition :

Android est un système d'exploitation open-source pour smartphones, PDA et autres terminaux
mobiles, conçu par Android, une start-up rachetée par Google en juillet 2005. Il existe d'autres
types d'appareils possédant ce système d'exploitation tels que les téléviseurs et les tablettes.
Afin de promouvoir ce nouveau système d'exploitation ouvert, Google a su fédérer autour de
lui un consortium d'une trentaine d'entreprises : l'Open Handset Alliance (OHA) créée
officiellement le 5 novembre 2007. Toutes ces entreprises interviennent, plus ou moins
directement, dans le marché de la téléphonie mobile. Le but de cette alliance est de mettre en
place des normes ouvertes dans le domaine de la téléphonie mobile. Ce qui veut dire que les
développeurs d'application Android pourront accéder aux fonctionnalités du cœur de téléphone
via une API très fournie. Android aura comme principaux concurrents Apple avec l'iPhone,
Microsoft et son Windows Mobile et Nokia avec Symbian mais également des solutions libres
telles que LIMO ou OpenMoko.

1.2Historique :

Android a été conçu par une startup éponyme spécialisée dans le développement d’applications
mobiles en 2003 puis a été racheté par google en 2005 et annoncé officiellement le 15 novembre
2007. Afin de promouvoir Android, google a su fédérer autour de lui une trentaine de
partenaires réunis au sein de l'OHA1. L’objectif premier était de développer un système
d’exploitation qui permettrait à l’utilisateur d’interagir avec les OS, dans le temps ou tous les
systèmes sont embarqués L’historique des versions d’Android a débuté avec la sortie de la
version 1.0 en septembre 2008 Android a connu plusieurs mises à jour depuis sa première

2
version. Ces mises à jour servent généralement à corriger des bugs et à ajouter de nouvelles
fonctionnalités, le tableau suivant résume quelques versions de l’Android :

Figure 1.1 : Les différentes versions d'Android.

1.3 Fonctionnalités d'Android :

Android a été conçu pour intégrer au mieux les applications existantes de Google comme le
service de courrier Gmail, l'agenda Google Calendar ou encore la cartographie Google Maps.
Voici quelques fonctionnalités proposées par Android classées par version :

1.3.1 Android version 1.5 (Cupcake) :

 Enregistrement et lecture des vidéos.

3
 Mise en ligne directe des vidéos sur YouTube.

 Mise en ligne directe des photos Picasa.

 Prise en charge du Bluetooth A2DP.

 Dossiers dynamiques et widgets pour le home.

 Copier/coller étendu aux pages web.

 Nouvelle version du clavier virtuel.

1.3.2 Android version 1.6 (Donut) :

 L’application Galerie permet d’effacer plusieurs photos à la fois.

 Amélioration de l’Android Market.

 Amélioration de la vitesse de la recherche vocale et intégration étendue à plus d’applications


natives.

 Prise en charge sur une seule application de la prise de photo et de l’enregistrement vidéo.

 Possibilité de rechercher simultanément dans les favoris, les historiques, les contacts et sur
Google depuis le home via le widget recherche.

 Moteur Text-to-speech.

 Prise en charge de plusieurs résolutions d’écran.

1.3.3 Android version 2.0/2.1 (Éclair) :

 Interface utilisateur revue (lock screen et lanceur d’application). 8

 Fonds d’écran animés.

 New browser interface avec prise en charge du HTML5.

 Prise en charge du protocole Microsoft Exchange.

 New contact liste.

 Prise en charge du Bluetooth 2.1.

 Amélioration du clavier virtuel.

 Prise en charge en natif du flash et du zoom numérique pour des appareils photos.

4
 Amélioration du ratio blanc/noir sur les fonds.

 Gestion multi-comptes Gmail et ajout de la synchronisation avec Facebook.

1.3.4 Android version 2.2 :

 Augmentation de la performance et de la vitesse.

 Fonctionnalité de Hot spot Wifi.

 Partage de contact sur Bluetooth.

 Mise à jour automatique des applications.

1.4Architecture Android :

Le diagramme suivant illustre les composants principaux du système d’exploitation Android.


Chaque section sera décrite dans ce qui suit :

Figure 1.2 : Les principaux composants du système d’exploitation Android.

5
Ainsi, les principaux composants de ce système sont :

1.4.1 Le noyau Linux :

Android repose sur un noyau Linux (version 2.6) qui gère les services du système, comme la
sécurité, la gestion de la mémoire et des processus, la pile réseau et les pilotes. Il agit également
comme une couche d'abstraction entre le matériel et la pile logicielle.

1.4.2 Les bibliothèques :

En interne, Android inclut un ensemble de bibliothèques C et C++ utilisées par de nombreux


composants de la plateforme Android.

1.4.3 Moteur d'exécution Android :

Chaque application Android s'exécute dans son propre processus, avec sa propre instance de
machine virtuelle Dalvik.

1.4.4 Le Framework :

Android offre aux développeurs la possibilité de créer des applications extrêmement riches et
innovantes.

1.4.5 Applications :

Android est fourni avec un ensemble d’applications natives permettant d'accéder à des
fonctionnalités comme les courriels, le téléphone, le calendrier, les photos… Ces applications
sont développées à l'aide du langage de programmation Java.

Pour l'utilisateur final, c'est la seule couche accessible et visible.

2. Web :

2.1 Définition :

Le World Wide Web (WWW), littéralement la « toile d’araignée mondiale », communément


appelée le Web, et parfois la Toile, est un système hypertexte public fonctionnant sur internet
.Le Web permet de consulter, avec un navigateur des pages accessibles sur des sites. L’image
de la toile d'araignée vient des hyperliens qui lient les pages web entre elles. Le Web n’est

6
qu'une des applications d’Internet distincte d’autres applications comme le courrier
électronique, la messagerie instantanée, et le partage de fichiers en pair à pair.

2.2 Historique :

La communauté scientifique reconnait la paternité de world wide web à Tim Berners Lie qui
créa le concept en 1990. Ce chercheur émérite est devenu président du 3w Consortium, basé à
Genève. L’internet est né de la rencontre de deux cultures, d’une part celle de l’ARPA
(Advanced Research Project Agency) dont le mandat est de susciter et d’encourager
l’innovation technique aux Etats-Unis, d’autre part, celle d’informaticien, les hackers,
imprégnés de culture de liberté, de valeurs d’autonomie individuelle et pour vue
paradoxalement d’une habitude de partage de savoir et de coopération.

2.3 Définition d’un site web :

Un site web est composé d'un ensemble de documents structurés, nommés pages web, stockés
(hébergés) sur un ordinateur (serveur) connecté au réseau mondial (internet).Une page web
contient essentiellement du texte, et est souvent enrichie d'images, de sons, de vidéos et de liens
vers d'autres pages web.

2.4 Les différents types des sites web :

Il existe deux types des sites web : Les sites web statiques et les sites web dynamiques.

2.4.1 Les sites web statiques :

Ce sont des "vitrines". Les visiteurs peuvent voir le contenu du site mais ne peuvent pas y
participer. Pour les réaliser, deux langages sont nécessaires : le (X) HTML et le CSS (en théorie,
il est toutefois possible d'utiliser uniquement le HTML ou le XHTML).

Le (X) HTML permet d'écrire le contenu de sa page. Le CSS permet de la décorer.

Figure 1.3 : Représentation d’un site web statique.

7
2.4.2 Les sites web dynamiques :

Une page web dynamique est une page web générée à la demande, par opposition à une page
web statique. Ces sites ne sont pas que des "vitrines" : les visiteurs peuvent y participer. Pour
les réaliser, on a également besoin du (X) HTML et du CSS, mais il faut aussi un autre langage
qui crée dynamiquement les pages. Il existe plusieurs langages pour créer ces pages (Java, PHP,
Python, etc.…). Leurs rôles est d'analyser les requêtes des visiteurs pour ensuite fabriquer une
réponse adaptée.

Figure 1.4 : Représentation d’un site web dynamique.

2.5. Les technologies web :

2.5.1 HTML (Hyper Text Markup Language):

L’HTML est le format de données conçu pour représenter les pages web. C’est un langage de
balisage permettant d’écrire de l’hypertexte, d’où son nom. HTML permet également de
structurer sémantiquement et de mettre en forme le contenu des pages, d’inclure des ressources
multimédias dont des images, des formulaires de saisie, et des programmes informatiques. Il
permet de créer des documents interopérables avec des équipements très variés de manière
conforme aux exigences de l’accessibilité du web. Il est souvent utilisé conjointement avec des
langages de programmation (JavaScript) et des formats de présentation (feuilles de style en
cascade). HTML est initialement dérivé du Standard Generalized Markup Language(SGML).

2.5.2 PHP (Personal Home Pages) :

PHP est un langage de programmation web côté serveur, ce qui veut dire que c'est le serveur
qui va interpréter le code PHP et générer du code qui pourra être interprété par votre navigateur.
Pour décrire une page PHP, on pourrait dire que c'est un fichier avec l'extension PHP, lequel
contient une combinaison de balises HTML et de scripts qui tournent sur un serveur web

8
2.5.3 Java Script

JavaScript est un langage de programmation principalement utilisé pour créer des pages web
interactives. Ce langage, incorporé dans un document HTML, n'est pas visible dans la fenêtre
du navigateur. Il sert à améliorer le Langage html en effet, il permet d'exécuter des commandes
du côté client (c'est-à-dire au niveau du navigateur et non du serveur web). Ce code qui est
exécuté par le navigateur Web est utile pour toutes les interactions du client sur la page Web.
Ce langage permet de manipuler des objets au sens informatique : créer des fenêtres spécifiques,
contrôler les données saisies dans les formulaires, redimensionner certains objets, rediriger des
liens.

2.5.4 JQuery

JQuery est une bibliothèque JavaScript libre qui porte sur l’interaction entre JavaScript
(comprenant Ajax) et Html, et a pour but de simplifier des commandes communes de
JavaScript.

2.5.5 MYSQL :

MySQL est un système de gestion de base de données relationnelle (SGBDR). Il est distribué
sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de
données les plus utilisés au monde, autant par le grand public (applications web principalement)
que par des professionnels.

SGBD: rendent indépendant programmes et données (la modification d’une structure de


données n'entraine pas forcément une importante refonte des programmes d'application.

2.5.6 CSS :

CSS est l'acronyme de Cascading Style Sheet, ou feuille de style en cascade en français. Le
CSS permet d'insérer des styles sur un code HTML ou XHTMl et donc permet de définir très
précisément le comportement de chaque élément de la page.

2.6 Les architectures web :

2.6.1 L’architecture client/serveur :

L’architecture client/serveur désigne un mode de communications entre plusieurs ordinateurs


d'un réseau qui distingue un ou plusieurs postes clients du serveur ; chaque logiciel client peut

9
envoyer des requêtes à un serveur. Un serveur peut être spécialisé en serveur d'applications, de
fichiers, de terminaux, ou encore de messagerie électronique.

Caractéristiques d'un serveur

• il est passif (maître) ;

• il est à l'écoute, prêt à répondre aux requêtes envoyées par des clients ;

• dès qu'une requête lui parvient, il la traite et envoie une réponse.

Caractéristiques d'un client :

• il est actif (ou esclave) ;

• il envoie des requêtes au serveur ;

• il attend et reçoit les réponses du serveur.

Figure 1.5 : L’architecture client/serveur

2.7 Une application web :

Une application web désigne un logiciel applicatif hébergé sur un serveur et accessible via un
navigateur web.

Contrairement à un logiciel traditionnel, l’utilisateur d’une application web n’a pas besoin de
l’installer sur son ordinateur. Il lui suffit de se connecter à l’application à l’aide de son
navigateur favoris, la tendance actuelle est d’offrir une expérience utilisateur et des
fonctionnalités équivalentes aux logiciels directement installés sur les ordinateurs. Les

10
technologies utilisées pour développer les applications web sont les mêmes que celles
employées dans la création des sites internet.

3. outils des maladies des plantes sur Android et sur le Web :

3.1 Plantix :

3.1.1 Définition :

Plantix est une Application mobile de conseil pour l’agriculture à destination des fermiers, des
consultants et des jardiniers à travers le monde.Plantix peut diagnostiquer les maladies, les
parasites et les carences en nutriments affectant vos cultures.

3.1.2 Les avantages :

-Le système de reconnaissance d’image de Plantix peut détecter automatiquement plus de 240
parasites et pathologies végétales.

-mettre en contact avec une large communauté afin d’échanger des connaissances sur des sujets
tels que l’agriculture, le contrôle des pathologies et les bonnes pratiques.

-donner des prévisions météorologiques détaillées ainsi que les données météorologiques
actuelles.

- l’agriculteur peut demander leur avis à des phytopathologies sur vos problèmes agricoles.

-Plantix fournit des descriptions détaillées de méthodes de contrôle biologique et chimique pour
des centaines de maladies.

3.1.3 Les inconvénients :

- Plantix ne donne pas le traitement des plantes

3.2 La clinique des plantes :

3.2.1 Définition :

La clinique des plantes est un site web de diagnostic pour les plantes de façon gratuites,En 4
clics seulement, on va pouvoir connaitre les maladies.

3.2.2 Les avantages :

11
-identifier les maladies.

-identifier les insectes.

- identifierles carences de vos plantes.

-obtenir des conseils simpleset pratiques pour vous aider à soigner les plantes.

3.2.3 Les inconvénients :

- La clinique des plantes ne donne pas le traitement des plantes

-on ne peut pas contacter des experts.

Conclusion :

Dans ce chapitre, nous avons fait une étude de l'art d'Androiden présentant ces fonctionnalités
son architecture ainsi que les principaux composants du système,une étude de l'art Web, en
présentant son historique ,ses différents type et son architecture, et nous avons donné des outils
de diagnostic des plants sur l Android et sur le web.

12
Chapitre 2 : Analyse et Conception du
DrPlant

Introduction :

L'analyse et la conception c'est la phase dans le cycle de vie de développement des logiciels, ce
chapitre consiste à représenter la structure globale et l'architecture détaillé de système de mon
application et mon site en détaillant ses fonctionnements à l'aide des diagrammes UML.

1. Analyse de problème :

D’après les visites effectuées aux fermes et les investigations sur la méthode du travail, j’ai
résumé que le processus suivi dans les fermes est trop classique et fatigant de côté agriculteur
«le déplacement des agriculteurs au experts des maladies des plantes pour traiter leurs
plantes».Pour cela j’ai réalisé une application Android et un site web qui simplifie et facilite
toutes les procédures de fonctionnement.

2. Analyse de Conception :

2.1 Un modèle :

Un modèle est un Système représentant les structures essentielles d'une réalité et capable
à son niveau d'en expliquer ou d'en reproduire dynamiquement le fonctionnement.L’approche
orienté objet est une façon d’aborder un problème et de le découper en petits sous-problèmes.
On commence par rechercher les objets du système logiciel et un modèle du système. Un
modèle va donc nous servir à communiquer et échanger des points de vue afin d’avoir une
compréhension commune et précise d’un même problème.

Les modèles de base de données individuels sont conçus en fonction des règles et concepts du
modèle de données plus général adopté par les concepteurs. La plupart des modèles de données
peuvent être représentés par un diagramme de base de données.

2.2 La modélisation :

13
La modélisation est l'analyse et la conception de l'information contenue dans le système. Il s'agit
essentiellement d'identifier les entités logiques et les dépendances logiques entre ces entités. La
modélisation des données est une représentation abstraite, dans le sens où les valeurs des
données individuelles observées sont ignorées au profit de la structure, des relations, des noms
et des formats des données pertinentes, même si une liste de valeurs valides est souvent
enregistrée. Le modèle de données ne doit pas seulement définir la structure de données, mais
aussi ce que les données veulent vraiment signifier.

2.3Définition de l’UML :

Face à la diversité des formalismes utilisés par les méthodes d’analyse et de conception objet,
UML (UnifiedModelingLanguage) langage de modélisation unifié représente un réel facteur de
progrès par l’effort de normalisation. En effet l’UML est issu de la fusion de trois méthodes qui
ont le plus influencé la modélisation objet au milieu des années 90 : Grady Booch, OMT (Object
Modelling Technique) de James Rumbaugh et OOse (Object Oriented Software Engineering)
d’Ivar Jacobson. UML est à présent un standard défini par l’OMG (Object Management Group)

2.4 L’utilité de l’UML :

UML utilise l'approche objet en présentant un langage de description universel. Il permet grâce
à un ensemble de diagrammes très explicites, de représenter l'architecture et le fonctionnement
des systèmes informatiques complexes en tenant compte des relations entre les concepts utilisés
et l'implémentation qui en découle.

UML est avant tout un support de communication performant, qui facilite la représentation et
la compréhension de solutions objet :

 Sa notation graphique permet d'exprimer visuellement une solution objet, ce qui facilite
la comparaison et l'évaluation de solutions.
 L'aspect formel de sa notation, limite les ambiguïtés et les incompréhensions.
 Son indépendance par rapport aux langages de programmation, aux domaines
d'application et aux processus, en fait un langage universel

UML est donc bien plus qu'un simple outil qui permet de "dessiner" des représentations
mentales... Il permet de parler un langage commun, normalisé mais accessible, car visuel. Il
représente un juste milieu entre langage mathématique et naturel, pas trop complexe mais
suffisamment rigoureux, car basé sur un méta modèle. Une autre caractéristique importante

14
d'UML, est qu'il cadre l'analyse. UML permet de représenter un système selon différentes vues
complémentaires : les diagrammes.

2.5 Les diagrammes UML :

Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis du
modèle ; c'est une perspective du modèle. Il existe deux types de diagramme :

2.5.1 Diagrammes structurels (statique) :

 Diagramme de classes.
 Diagramme d'objets.
 Diagramme des cas d'utilisation.
 Diagramme d'activité.

Comme il y a d’autres diagrammes :

 Diagramme de composants.
 Diagramme de déploiement.
 Diagramme des paquetages.
 Diagramme de structure composite.
 Diagramme états-transitions.
 Diagrammes comportementaux.

2.5.2. Diagrammes d’interaction (dynamique) :

 Diagramme de séquence.
 Diagramme de communication.
 Diagramme global d'interaction.
 Diagramme de temps.

2.6. Définition des diagrammes utilisés :

Pour la conception de notre site web, on a utilisé les trois diagrammes d’UML suivant :

2.6.1 Diagramme de cas d’utilisation (use-cases ou Use Case Diagram):

Il permet d'identifier les possibilités d'interaction entre le système et les acteurs (intervenants
extérieurs au système), c'est-à-dire toutes les fonctionnalités que doit fournir le système.

2.6.2 Diagramme de classe (Class diagram) :

15
Il représente les classes intervenant dans le système.

2.7 Conception détaillée de notre Application :

Dans cette partie nous allons enfin pouvoir répondre à la question : quelles sont les
fonctionnalités de notre système ? Pour cela on va utiliser plusieurs diagrammes d’UML.

2.7.1 Présentation des acteurs :

Client :

-inscrire dans « Dr Plant ».

-envoyer un message aux experts.

-envoyer le problème aux experts.

-mettre à jour le profil.

-commenter a un blog.

-voir les solutions.

Expert :

-inscrire dans « Dr Plant ».

-poster un blog.

-envoyer un message aux clients.

-mettre à jour son profil.

-commenter a un blog.

-accepter et supprimer les user.

-résoudre les problèmes.

2.7.2 Présentation des diagrammes utilisés :

2.7.2.1 Diagramme de cas d’utilisation :

16
 Coté client :

Figure 2.1 : Diagramme de cas d’utilisation coté client « Dr Plant ».

17
 Coté expert :

Figure 2.2 : Diagramme de cas d’utilisation coté expert « Dr Plant ».

2.7.2.2 Diagramme de classe :

18
Figure 2.3 : Diagramme de classe « Dr Plant ».

19
3. Présentation des tables de la base de données :

Nous avons choisis le nom « dbdrplant » comme nom de notre base de données qui
contient 9 tables :

 La table « messages » :

La table « messages » est représentée comme ci-dessous :

 La table « notification » :

La table « notification » est représentée comme ci-dessous :

 La table « picsolutions » :

La table « picsolutions » est représentée comme ci-dessous :

20
 La table « picturs »:

La table « picturs » est représentée comme ci-dessous :

 La table « posts »:

La table « posts » est représentée comme ci-dessous :

 La table « problem »:

La table « problem » est représentée comme ci-dessous :

 La table « problempic »:

21
La table « problempic » est représentée comme ci-dessous :

 La table « solutions »:

La table « solutions » est représentée comme ci-dessous :

 La table « user »:

La table « user » est représentée comme ci-dessous :

 La table « comments »:

La table « comments » est représentée comme ci-dessous :

Conclusion :

22
Dans ce chapitre on s'est concentré sur les aspects analytiques et conceptuels de notre projet
ainsi que les bases de données qui interagissent avec elle. La phase conceptuelleest une étape
fondamentale pour la réalisation de n'importe quel projet.Pour cela sur le cas d'utilisation puis,
traduction en travers de la construction desdiagrammes de séquence, et de classe.Enfin sur un
défini toutes les tables de la base de données utilisées.Les grâces à ces derniers, les choses sont
plus claires et l'implémentation de notre projet est devenue plus facile.

23
Chapitre 3:Implémentation

Introduction :

Nous avons choisi de développer une interface graphique attirante et efficace, pour pousser le
client à utilisernotre application et site.

Dans ce dernier chapitre on va présenter les différents outils utilisés pour la réalisation de notre
projet « Dr Plant ».

1. Environnement du travail :

1.1 Environnement matériel :

 Deux PC portable HP pour le développement ayant les caractéristiques suivantes :


 Processeur Intel Core i5 2.3 GHz.
 8 Go de mémoire vivante.
 Disque dur de capacité 500 Go.
 Système d’exploitation Microsoft Windows 10.
 Smartphone Android version 7 pour réaliser les tests.

1.2 Environnement logiciel :

1.2.1 Langage de programmation :

Java : est le langage de programmation que nous avons utilisé pour notre application, et ceci
pour ses multiples avantages, principalement pour sa portabilité il tourne sur une machine
virtuelle par conséquent il peut fonctionner sur pc, Apple et même des appareils mobiles, sinon
aussi pour sa performance et sa vitesse d’exécution, C’est le langage le plus adopté par les
développeurs grâce à sa fiabilité et sa performance élevé.

1.2.2 Outils de développement:

1.2.2.1 Wamp server :

WampServer est une plateforme de développement Web de type WAMP, permettant de faire
fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. WampServer
n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs (Apache et

24
MySQL), un interpréteur de script (PHP), ainsi que phpMyAdmin pour l'administration Web
des bases MySQL.

La figure suivante représente l’interface de serveur Wamp :

Figure 3.1: Interface de serveur WAMP.

1.2.2.2 Android studio :

Android Studio est l'environnement de développement intégré (IDE) officiel pour le


développement d'applications Android, basé sur IntelliJ IDEA. En plus du puissant éditeur de
code et des outils de développement d'IntelliJ, Android Studio offre encore plus de
fonctionnalités qui améliorent votre productivité lors de la création d'applications Android,
telles que:

 Un système de construction flexible basé sur Gradle.


 Un émulateur rapide et riche en fonctionnalités.
 Un environnement unifié où vous pouvez développer pour tous les appareils Android.
 Exécution instantanée pour transférer les modifications à votre application en cours
d'exécution sans créer de nouveau fichier APK.

25
 Modèles de code et intégration de GitHub pour vous aider à créer des fonctionnalités
d'application courantes et à importer un exemple de code.
 Des outils de test et des frameworks étendus.
 Outils de peluches pour attraper les performances, la convivialité, la compatibilité des
versions et d'autres problèmes.
 Support C ++ et NDK.
 Prise en charge intégrée de Google Cloud Platform, facilitant l'intégration de Google
Cloud Messaging et App Engine.

La figure suivante représente l’interface d’Android studio :

Figure 3.2: Interface d’Android studio.

1.2.3 Editeurs web utilisé :

Sublime Text 3 :
Sublime Text est un éditeur de texte générique codé en C++ et Python, disponible sur Windows,
Mac et Linux. Le logiciel a été conçu tout d'abord comme une extension pour Vim, riche en
fonctionnalités.

26
L’éditeur prend en charge 44 langages de programmation majeurs, tandis que des plugins sont
souvent disponibles pour les langages plus rares.
Quelque code extrait de codes HTML, PHP, CSS de notre projet :
 Exemple d’un code HTML et PHP :

 Exemple d’un code CSS :

2Présentation des interfaces :


2.1 Application :

2.1.1 Les Définitions des classes :


Pour réaliser et manipule toutes les interfaces de notre application, on a besoin principalement
de deux types des fichiers, ‹‹Java classes et les fichiers XML››.

27
Les fichiers XML sont charge seulement pour faire l’interface graphique, ‹‹GUI››. Mais c’est
aussi possible de définir le GUI avec le codage en Java. S’il on utilise le fichier XML, on peut
référencer les composants dans les fichiers .XML par la référence ‹‹@id/nom_du_component››.
Les ressources de GUI se trouver dans deux répertoires principalement : ‹‹res/layout›› et
‹‹res/values››. Voici un exemple de GUI définit par un fichier XML :

Figure 3.3 :L’Interface définit par XML.

2.1.2 Les fenêtres principales de l'application mobile «Dr plant » :


2.1.2.1 Page d’identification :
Cette interface permet a l'utilisateur de connecter avec une compte face book ou gmail,ou
bien avec compte qui est déjà crée. Comme il peut ajouter un nouveau compte lorsque il n'est
pas inscrirai.

28
2.1.2.2 Page d’inscription :
Cette interface concernant la création d'un nouveau compte, utilisateur ajoute les informations
nécessaire puis s'inscrira.

29
2.1.2.3 Page de blog :
Ici l'agriculteur trouve tous les articles de motivation concernant ce domaine ,ces articles sont
publiés pas des experts du milieu.

2.1.2.4 Page de notification :


Après poser un problém,l'utilisateur reçoit une notification après chaque repense d'expert.

30
2.1.2.5 Page de photos :
Cette page contient toutes les photos poser par l'agriculteur durant l'attente d'une repense.

31
2.1.2.6 : Page de message :
Cette interface pour la communication entre l'expert et l'utilisateur .

2.1.2.7 Page d’envoyer le problème :


Cette interface pour poser un problém,lagriculteur ajoute les information nécessaire sur le
problème (image, description..) puis il envoi vers l'expert.

32
2.2 Site web :
2.2.1 Les fenêtres principales de site web «Dr plant » :
2.2.1.1 Page d'accueil :
Cette interface offre aux expert des boutons pour sincrire ou bien de connecter avec un
compte déjà exciter.

33
2.2.1.2 Page d'identification :

2.2.1.3Page d'inscription :

2.2.1.4 Pageprofile de client :

34
2.2.1.5 Page profile expert :

2.2.1.6 Page d’envoyer le problème :

35
2.2.1.7 Page des solutions des problèmes envoyés :

2.2.1.8 Page d’envoyer un message :

36
2.2.1.9 Page de blog :

Conclusion :
Dans la partie réalisation, on a présenté les différents outils et langage utilisés dans
l’implémentation de notre projet. Par suite, on a présenté quelques interfaces ainsi qu’on l’a
conçu. Le projet offre toutes les fonctions utiles et nécessaires au bon fonctionnement de « Dr
Plant », Nous pensons avoir atteint les objectifs initiaux, mais pouvons encore en améliorer
quelques aspects esthétiques et fonctionnels Pour le rendre plus attractif.

37
Conclusion générale :

L’objectif de mon projet et la conception et la réalisation d’une application Android et


un site web pour le diagnostic des maladies des plantes, dans le but d’alléger les problèmes des
agriculteurs.

J’ai donné dans le premier chapitre des généralités sur le web et le système d'exploitation
Android (définition des sites web ,définition d'Android, ainsi que leurs types….etc.), dans le
deuxième chapitre j’ai présenté les différentes phases de développement de mon projet
(identification des acteurs avec les différents cas d’utilisation et les scenario de quelques taches,
puis j’ai présenté les tables de la base données et les relations entre eux par le modèle entités
association, dans le dernier chapitre implémentation j’ai présenté les outils de programmation
utilisés pour le développement de système ensuite j’ai exposé les fenêtre principales de projet
avec quelques descriptions .

La perspective de mon travail consiste à ajouter :

 La météo.
 La détection des maladies depuis des capteurs.
 Un programme pour suivre des plantes.

38
Bibliographie
[B1]Le cours de M F.Blehadj.
[B2]Jean Kruger, « Opportunités d’entreprise avec Android »,Institut SupInfo,
2009. Mémoire de fin d’études.
[B3]BENNEFOI F. Terminaux mobiles communications (TMC),Programmation
Android, Avril 2011.
[B4]Pascal Roques Franck Valeéé « UML 2 en action »,4eme édition.
[B5]CARTON O. L'essentiel de XML, cours de M2 Pro à l'Université Paris
Diderot.

39
Webographie
[W1] : http://readwrite.com/2012/02/07/infographic_history_of_mobile-app
stores -2/, février 2018.
[ w2 ]http://fr.yeeply.com/blog/realite-augmentee-dans-applications-mobiles/,
février 2018.
[w3] http ://www.mangotreestudios.fr/blog/les-différents-types-d'applications-
mobile. février 2018.
[w4]http ://www.slideshare.net : généralités et contexte des systèmes
d’exploitation mobile, février 2018.
[w5]http://socialcompare.com/fr/comparison/android-versions-comparison,
Mars 2018
[w6]https://www.jsys.co/android-flavors-and-its-features/, Mars 2018
[w7]http ://www.devellopez.com/Mobiles/Android. , Mars 2018
[w8] http://uml.free.fr/, Mars 2018
[w9]https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/ Mars
2018
[W10]https://fr.wikipedia.org/wiki/Adobe_Photoshop, Mars 2018
[W11]http ://www.jobintree.com/dictionnaire/denition-php-309.html. Mai,
2018

40
‫ملخص‬
‫ًا‬
‫ًا كبير‬‫يمكن أن تسبب األمراض النباتية ضرر‬
‫للمحاصيل الزراعية من خالل تقليل اإلنتاج‬
‫بشكل كبير‪ .‬حماية النباتات من األمراض أمر‬
‫ضروري لضمان جودة وكمية المحاصيل‪ .‬يجب‬
‫أن تبدأ إستراتيجية الحماية الفعالة‬
‫بالكشف المبكر عن المرض من أجل اختيار‬
‫العالج المناسب في الوقت المناسب لمنع‬
‫انتشاره‪ .‬عادة ‪ ،‬يتم تنفيذ هذا الكشف من‬
‫قبل الخبراء يملكون المعرفة األكاديمية‬
‫مقرونة بخبرة عملية في أعراض وأسباب‬
‫األمراض‪ .‬باإلضافة إلى ذلك ‪ ،‬يجب على هؤالء‬
‫الخبراء التنقل لمراقبة النباتات بشكل‬
‫متكرر لمنع انتشار المرض‪ .‬هذه التنقالت‬
‫تمثل مهمة شاقة ‪ ،‬مما يجعل ضروريا إقتراح‬
‫للكشف وتحديد األمراض لحماية‬ ‫منصة‬
‫النباتات‪.‬‬
‫في هذه التقرير ‪ ،‬نقترح منصة على شبكة‬
‫ّال لتقريب الخبير من‬ ‫اإلنترنت والجو‬
‫المزارع‪ .‬في هاته المنصة‪ ،‬يمكن للمزارع‬
‫الذي يستخدم تطبيق الجوال )‪ (Android‬أن‬
‫صورة أو سؤال حول المرض إلى‬ ‫يرسل‬
‫الخبراء‪ .‬وفي الوقت نفسه ‪ ،‬يتلقى الخبير‬
‫طلبات المزارعين ويجيب ‪ ،‬بناً‬
‫ء على خبرته‬
‫‪ ،‬بالتشخيص والعالج المناسبين‪ .‬بمجرد أن‬
‫يستجيب الخبير ‪ ،‬يتم إخطار المزارع‬
‫بالعالج الموصى به من قبل الخبير ‪.‬‬
‫باستخدام هذا النظام األساسي ‪ ،‬يستفيد‬

‫‪41‬‬
‫الحاجة‬ ‫المزارع من المساعدة السريعة بدون‬
‫ يمكن‬، ‫ باإلضافة إلى ذلك‬.‫إلى تنقل الخبير‬
‫نطاق و‬ ‫للخبراء نشر النصائح المفيدة على‬
‫األمراض‬ ‫اسع للمزارعين في أي وقت لتجنب‬
.‫الموسمية‬
Résumé
Les maladies de plantes peuvent causer des dégâts considérables aux cultures agricoles en réduisant
considérablement la production. Protéger les plantes contre les maladies est indispensable pour garantir
la qualité et la quantité des récoltes. Une stratégie de protection efficace doit commencer par une
détection précoce de la maladie afin de choisir le traitement approprié au bon moment pour éviter sa
propagation. Habituellement, cette détection est réalisée par des experts ayant une connaissance
académique renforcée par une expérience pratique sur les symptômes et les causes des maladies. En
outre, ces experts doivent déplacer pour surveiller les plantes de manière constante pour éviter la
propagation de la maladie. Ces déplacements représentent une tâche laborieuse, ce qui rend
l'automatisation de la détection et de l'identification des maladies des plantes essentielle pour protéger
les plantes.
Dans ce mémoire, nous proposons une plateforme web et mobile afin de rapprocher l’expert à
l’agriculteur. Dans cette plateforme, l’agriculteur en utilisant son application mobile (Android) peut
prendre et envoyer en temps réel une photo d’une maladie, comme il peut aussi envoyer une question
pour les experts. L’expert, quant à lui, reçoit les requêtes des agriculteurs et il répond, en se basant sur
son expertise, en préconisant la diagnostique et le traitement adéquat. Une fois l’expert répond,
l’agriculteur est notifié pour qu’il exécute le traitement préconisé par l’expert. En utilisant cette
plateforme, l’agriculteur bénéfice d’une assistance en temps réel et l’expert minimise ces déplacements.
En plus, les experts peuvent diffuser aux agriculteurs des conseils utiles à n’importe quel moment pour
éviter les maladies saisonnières.

42