WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réalisation d'une application web de gestion des informations météorologiques.

( Télécharger le fichier original )
par Mohamed Khaled Salhi
L?Institut Supérieur d?Informatique et de Multimédia de Sfax, Tunisie - Licence fondamentale en Informatique et Multimédia 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

République Tunisienne
Ministère de l'Enseignement
Supérieur
et de la Recherche Scientifique

Université de Sfax
Institut Supérieur d'Informatique
et de Multimédia de Sfax

Mémoire de stage de Licence
fondamentale en Sciences de
l'Informatique

Sciences et Technologies N° d'ordre :2015-155

Année Universitaire : 2014-2015

MEMOIRE

Présenté à

L'Institut Supérieur d'Informatique
et de Multimédia de Sfax

En vue de l'obtention du diplôme de

LICENCE FONDAMENTALE

en Informatique et Multimédia
intitulé

Réalisation d'une application web de gestion des informations météorologiques

Par

Mohamed Khaled Salhi

Soutenu le 2 Juin 2015, devant le jury composé de :

M. Mohamed TOUNSI Président

M. Wajdi BOUAZIZ Membre

M. Sofiene LAJMI Encadreur

.M.Mohamed Ali FOURATI Invité Entreprise

Dédicaces

A mes chers parents

Je vous dois ce que je suis aujourd'hui grâce à votre amour, à votre patience et vos innombrables sacrifices. Que ce modeste travail, soit pour vous une petite compensation et reconnaissance envers tout ce que vous avez fait d'incroyable pour moi. Que dieu, le tout puissant, vous préserve et vous procure santé et longue vie afin que je puisse à mon tour vous combler.

A mes chères soeurs

Aucune dédicace n'exprime assez profondément ce que je ressens envers vous. Je vous dirais merci, je vous aime.

A mes chers amis

vous dédie ce travail en vous souhaitant un avenir radieux et plein de bonnes promesses.

En témoignage de l'amitié sincère qui nous a liées et des bons moments passés ensemble. Je

Remerciements

Je commence par remercier les respectables membres du jury pour m'accorder de leur temps précieux pour commenter, discuter et juger mon travail.

Je tiens à remercier aussi mon encadreurMr Sofiene LAJMI pour l'attention qu'il a apporté à mon projet tout au long de ses divers stades de réalisation et pour ses précieux conseils.

J'adresse tous mes respects à MrMohamed Ali FOURATI pour son bon encadrementtoute la durée de mon stage dans la société TDS.

Table des matières

Introduction générale 1

Chapitre 1 : Etude Préalable 2

Introduction 3

1. Cadre du Projet 3

2. Présentation de l'entreprise d'accueil TDS 3

3. Présentation du projet 4

3.1 Contexte général 4

3.2 Les objectifs à atteindre 4

4. Etude de l'existant 4

4.1 Analyse de l'existant 5

4.2 Critique de l'existant 7

4.3 Proposition de solution 8

5. Définition de concepts météorologiques 8

6. Choix méthodologique 9

6.1 Processus unifié 9

6.1.1 Définition 9

6.1.2 Caractéristiques de la Processus unifié 9

6.2 Adaptation du processus unifié : RUP 10

6.2.1 Définition 10

6.2.2 Les phases du cycle de vie de la méthodologie RUP 10

6.2.3 Justification de choix de la Processus unifié 11

7. Planning prévisionnel 11

Conclusion 12

Chapitre 2 :Analyse et spécification des besoins 13

Introduction 14

1. Analyse des besoins 14

1.1 Les besoins fonctionnels 14

1.1.1 Présentation des acteurs 14

1.1.2 Les Besoins fonctionnels par Acteur 15

2.2 Les composants du .Net 43

1.2 Les besoins non fonctionnels 15

2. Diagrammes des cas d'utilisation 16

2.1 Définition 16

2.2 Diagramme des cas d'utilisation 16

3. Description textuelle des principaux cas d'utilisation 18

Conclusion 23

Chapitre 3 :Modélisation conceptuelle 24

Introduction 25

1. Diagramme de classes 25

1.1 Présentation des classes 25

1.2 Présentations des attributs et des méthodes 26

1.3 Diagramme de classe 28

2. Dictionnaire des données 30

3. Modélisation logique des données 31

3.1 Règles de passage d'un diagramme de classe vers un modèle relationnel 31

3.2 Modèle logique des données 32

4. Diagrammes de séquences 32

4.1 Diagramme de séquences « Authentification » 33

4.2 Diagramme de séquences « Inscription » 33

4.3 Diagramme de séquences « Ajout d'une station » 34

4.4 Diagramme de séquences « Modification d'une station » 35

5. Diagrammes d'activités 36

5.2 Diagramme d'activité«La visualisation des mesures météorologiques d'une station» 37

5.1Diagramme d'activité « Gestion de membres » 37

Chapitre 4 : Réalisation 40

Introduction 41

1. Environnement de travail 41

1.1 Environnement matériel 41

1.2 Environnement logiciel 41

2. Choix techniques 42

2.1 Framework .Net 42

2.2.1 Le langage C# 43

2.2.2 ADO.Net 43

2.3 Framework d'application Asp.NET MVC 43

2.3.1 Présentation du Framework Asp.Net MVC 44

2.3.2 Présentation détaillée du modèle MVC 44

2.4 Framework de persistance « Entity Framework » 45

2.5 Langages et outils de développement 46

3. Choix de l'architecture 47

3.1 Architecture 3-tiers 48

4. Diagramme de déploiement 48

5. Présentation et description des interfaces 49

5.1 Interface d'accueil de l'application 49

5.2 L'interface d'une station de météo 50

5.3 L'interface d'un paramètre météorologique 51

5.3 Page d'administration de l'application 51

5.5 Interface de gestion des stations 52

5.6 Interface d'ajout d'une station 52

5.7 Interface de modification d'une station 53

Conclusion 53

Conclusion générale 54

Bibliographie 55

Liste des figures

Figure 1 : Logo société TDS 3

Figure 2: interface de site web windfinder 5

Figure 3: Interface de site web Previmeteo 6

Figure 4:Interface de site web Météo Consult 6

Figure 5 : Caractéristiques du processus unifié 10

Figure 6 : Le cycle de vie d'un processus unifié relationnel 11

Figure 7 : Diagramme des cas d'utilisation 17

Figure 8 : Diagramme de classe 29

Figure 9 : Diagramme de séquences « Authentification » 33

Figure 10 : Diagramme de séquences « Inscription » 34

Figure 11 : Diagramme de séquences « Ajout d'une station » 35

Figure 12 : Diagramme de séquences « Modification d'une station » 36

Figure 13 : Diagramme d'activité « La visualisation des mesures météorologiques d'une

station» 37

Figure 14 : Diagramme d'activité « Gestion de membres » 38

Figure 15 : Le fonctionnement de l'architecture MVC 45

Figure 16 : le fonctionnement du « Entity Framework » 46

Figure 17 : Le diagramme de déploiement 49

Figure 18 : Interface d'accueil de l'application 50

Figure 19 : L'interface d'une station de météo 50

Figure 20 : L'interface d'un paramètre météorologique 51

Figure 21 : Page d'administration de l'application 51

Figure 22 : Interface de gestion des stations 52

Figure 23 : Interface d'ajout d'une station 53

Figure 24 : Interface de modification d'une station 53

Liste des tableaux

Tableau 1 : Critique de l'existant 8

Tableau 2 : Planning prévisionnel 12

Tableau 3: Description textuelle du cas d'utilisation "S'inscrire" 18

Tableau 4: Description textuelle du cas d'utilisation "S'authentifier" 19

Tableau 5 : Description textuelle du cas d'utilisation "consulter les stations de météo" 19

Tableau 6 : Description textuelle du cas d'utilisation "visualiser les informations

météorologiques d'une station 20

Tableau 7 : Description textuelle du cas d'utilisation "Télécharger les informations

météorologiques" 20

Tableau 8 : Description textuelle du cas d'utilisation "Télécharger sous forme d'unfichier

PDF" 21

Tableau 9 : Description textuelle du cas d'utilisation "Gestion des stations " 21

Tableau 10 : Description textuelle du cas d'utilisation "Ajouter une station" 22

Tableau 11 : Description textuelle du cas d'utilisation "Modifier une station" 22

Tableau 12 : Description textuelle du cas d'utilisation "supprimer une station" 23

Tableau 13 : les attributs et les méthodes des classes 28

Tableau 14 : Dictionnaire des données 31

Tableau 15 : Caractéristiques de l'ordinateur utilisé 41

Application de gestion des informations météorologiques Salhi Mohamed Khaled

1

Introduction générale

Les nouvelles technologies de l'information et de la communication continuent à évoluer et prendre de plus en plus de l'importance non seulement dans notre quotidien, mais aussi elles deviennent un essentiel pour le monde professionnel.

Avec le développement d'outils de plus en plus performants,la surveillance des paramètres climatiques et la prévision de la météo ont beaucoup progressé. Cette progression a bénéficié plusieurs domaines tels que l'agriculture, la recherche scientifique et la gestion des risques naturels.

Dans ce cadre, la société TDS possède des stations de météo qui fournissent plusieurs mesures et informations sur plusieurs paramètres météorologiques comme la température, l'humidité et la pluviométrie. Ces stations enregistrent les informations météorologiques sur une base de données. Alors l'objectif de notre projet est de concevoir et de réaliser une application web qui gère et affiche ces informations météorologiques.

Pour atteindre cet objectif, le rapport se présente comme suit : Dans le premier chapitre, nous présentons le cadre générale du projet, par la suite nous décrivons l'étude de l'existant en relevant ses insuffisances et finalement nous proposons une solution. Dans le deuxième chapitre intitulé « Analyse et spécification des Besoins » nous énumérons les principales fonctionnalités offertes par l'application en présentant les besoins fonctionnels et non fonctionnels et en élaborant les diagrammes de cas d'utilisation. Dans le troisième chapitre intitulé «Modélisation Conceptuelle», nous détaillons la conception de la plateforme qui se base sur le langage UML. Au niveau du quatrième et dernier chapitre intitulé « Réalisation » nous présentons notre environnement de travail matériel et logiciel, nos choix techniques et les principales interfaces graphiques de notre projet. Finalement, nous donnons une conclusion et quelques perspectives pour ce travail

Chapitre 1

Etude Préalable

Application de gestion des informations météorologiques Salhi Mohamed Khaled

3

Introduction

L'étude préalable constitue une étape préliminaire pour la réalisation d'un projet.En effet, elle permet d'analyser, d'évaluer et de critiquer le fonctionnement habituel, tout en élaborant la liste des solutions possibles.

Ce chapitre sera réservé pour présenter l'étude préalable de notre projet « Réalisation d'une application web de gestion des informations météorologiques ».

D'abord nous commençons par la présentation du projet et les objectifs à atteindre. Ensuite, nous analysons l'existant et nous proposons de différentes solutions aux problèmes soulevés.Enfin nous définissons la méthodologie de conception adoptéepour la réalisation de notre application et nous présentons notre planning prévisionnel.

1. Cadre du Projet

Ce projet s'inscrit dans le cadre du projet de fin d'études au sein de l'institut supérieur d'informatique et multimédia de Sfax pour l'obtention du diplôme licence fondamentale en informatique et multimédia. Il a été réalisé au sein de la société « TDS »

2.Présentation de l'entreprise d'accueil TDS

TDS (TunisiaDevelopmentSystems) Est une société implantée au sein de la technopole de Sfax, située à Route de Tunis Km 10.

Figure 1 : Logo société TDS

Elle intervient dans les domaines suivants :

+ Développement de maquettes didactiques de travaux pratiques pour enseignement technologique

Application de gestion des informations météorologiques Salhi Mohamed Khaled

+ Prise en charge de l'équipement complet de laboratoires de travaux pratiques d'automatisme, d'informatique industrielle et d'électronique.

+ Développement d'applications d'automatisme industriel, de supervision et de télégestion.

+ Développement et prise en charge des projets de recherche dans le domaine technologique.

3. Présentation du projet 3.1 Contexte général

La société TDS dispose des stations de météoqui mesurent plusieurs paramètres météorologiques (Température, humidité, direction et vitesse de vent et pluviométrie).Ces stations envoient les mesures et d'autres informations météorologiques à une base de données via plusieurs technologies.

Dans ce contexte, notre objectif est de concevoir et développer une application web qui gère et affiche les informations météorologiques depuis une base de données.Cette application web doit être bien organisée, souple et conforme aux règles ergonomiques.

3.2 Les objectifsà atteindre

Nous proposons de mettre en place une application web pourle suivi des informations

climatiques correspondantes à des stations de météo qui se situent en Tunisie.Cette

application permettant de :

+ Assurer la sécurité météorologique des personnes et des biens.

+ La gestion des risques naturels comme l'inondation et la sécheresse.

+ La recherche scientifique.

+ L'amélioration de l'agriculture.

4.Etude de l'existant

Cette section a pour objectif de faire le tour sur les applications de gestion des informations météorologiques les plus connues sur le marché.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

5

Cette étude permet de dégager les points forts et les points faibles de chacune de ces applications, et à travers cette étude nous allons dégager les caractéristiques de notre application.

4.1 Analyse de l'existant

Les informations météorologiques deviennent une exigence dans notre époque, dans le but de suivre ces informations plusieurs applications web ont été crées à base des nouvelles technologies. Parmi lesquelles nous pouvons citer Windfinder, Previmeteo et Météo Consult.

v Windfinder1

Windfinder est une application permet de connaître toutes les prévisions et les observations de la météo pour plus de 35000 spots dans le monde entier.

L'application nous donne des informations sur la vitesse, la direction du vent, la température de l'air et la pression atmosphérique. Les unités et l'affichage sont bien entendu configurables avec la possibilité d'enregistrer des favoris dans des listes.

La figure 2 ci-dessous représente une interface de site web Windfinder

Figure 2: interface de site web windfinder

· Previmeteo2

Previmeteo est spécialisée depuis 2005 dans la fourniture d'outils de prévisions météorologiques sur mesure et dans la diffusion de contenu météo pour les médias et Internet.

1 www.windfinder.com

2 www.previmeteo.com

Application de gestion des informations météorologiques Salhi Mohamed Khaled

6

Previmeteo a développé une carte électronique pour connecter les capteurs des stations météo à Internet par modem GPRS et avec une alimentation par panneau solaire.

La figure 3 représente une interface de site web Windfinder

Figure 3: Interface de site web Previmeteo

+ Météo Consult3

Météo Consulteest un bureau d'études météorologiques opérationnel, l'environnement climatiqueconstitue son domaine d'activité. Les services de Météo Consultreposent sur une équipe scientifique de haut niveau et des moyens techniques de pointe.

La figure 4 représente une interface de site web Météo Consult

Figure 4:Interface de site web Météo Consult

3www.meteoconsult.com

Application de gestion des informations météorologiques Salhi Mohamed Khaled

7

4.2 Critique de l'existant

Le tableau si dessous récapitule les avantages et les inconvénients de tous les sites traités.

Applications

Avantages

Inconvénients

Windfinder

· Gratuit

· Les mesures sont renouvelées chaque 3 heures

· Présente les localisations des stations de météo presque dans tout le monde dans une mappe

· Offre des statistiques sur le vent

· Possibilité de consulter l'archive des informations

· Des informations climatiques internationales

· Possède ses propres stations de météo

· Présentation non claire des informations météorologiques

· Affichage non adaptatif

· Offre des diagrammes climatiques pour le vent et la température seulement

· Interface ergonomique faible

Previmeteo

· Interface de mesures claire

· Offre des cartes météo pour les nuages, vent et la température

· Possède ses propres stations de météo

· Des informations climatiques internationales

· Il offre des informations payantes

· Taille des diagrammes climatiques très petits et pas claire

· Diagramme climatique pour seulement la température

· Les mappes ne sont pas claires

Météo Consult

· Dispose de ses propres moyens informatiques spécialisés pour l'élaboration des prévisions.

· Les mappes sont très avancées et claires

· N'affiche pas des

diagrammes climatiques.

· Affichage des

informations seulement sur mappe

 

Application de gestion des informations météorologiques Salhi Mohamed Khaled

8

 

? Des prévisions internationales

· Les informations ne sont pas détaillées

· Payante

Tableau 1 : Critique de l'existant

Comme le montre le tableau ci-dessus, les solutions existantes des applications de gestion des informations météorologiques sur le marché proposent différentes fonctionnalités de base mais elles possèdent des inconvénients.

4.3 Proposition de solution

L'analyse de l'existant nous a permis de constater que les solutions existantes

présentent plusieurs avantages et lacunes. Nous proposons dans cette partie d'apporter des

modifications et des améliorations qui sont:

+ Présenter les localisations des stations de météo sur une mappe.

+ Deviser la mappe en des régions pour faciliter l'accès aux stations

+ Présenter les mesures des paramètres météorologiques sous forme de diagrammes

climatiques.

+ Assurer la possibilité de télécharger les informations météorologiques sous forme

de fichiers PDF et EXCEL.

+ Garantir un affichage souple des informations à l'aide d'une interface

ergonomique simple à manipuler pour tous les utilisateurs.

+ Affichage adaptatif des pages.

+ Possibilité de sélectionner des stations favorites

+ Afficher des notifications sur le climat pour les stations favorites

5. Définition de concepts météorologiques

Dans cette partie nousdéfinissons quelques concepts qui sont liés à l'application tels que station météorologique, les diagrammes climatiques et lagéolocalisation.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

9

+ Station météorologique : Une station météorologique est un ensemble de capteurs qui

enregistrent et fournissent des mesures physiques et des
paramètres météorologiques liés aux variations du climat. La station envoie les mesures à une base de données via plusieurs technologies comme GPRS

+ Les mesures météorologiques: Sont la température, la pression, la vitesse et la direction du vent, la pluviométrie, la hauteur et le type des nuages.

+ Les diagrammes climatiques : Appelés aussi climatogrammes et climagrammes, sont des graphiques utilisés en météorologie représentant la variation d'une ou plusieurs variables climatiques (température, précipitations, hygrométrie, ensoleillement, etc)

+ Géolocalisation : Ou géoréférencement est un procédé permettant de positionner un objet sur un plan ou une carte à l'aide de ses coordonnées géographiques.Pour ce projet la géolocalisation se fait avec Google Maps

6. Choix méthodologique

Dans cette phase nous allons présenter la méthodologie de développement adoptée pour réaliser notre projetavec la justification de ce choix.

6.1 Processus unifié

6.1.1 Définition

Le processus unifié est un processus de développement logiciels orientés objets, centré sur l'architecture, guidé par des cas d'utilisation et orienté vers la diminution des risques. C'est une méthode générique, itérative et incrémentale, contrairement à la méthode séquentielle Merise.

6.1.2 Caractéristiques de la Processus unifié

Parmi les Caractéristiques essentielles du processus unifié on peut citer:

+ Le processus unifié est guidé par les « patrons » de conception (Design Patterns)

+ Le processus unifié basé sur le langage UML (ensemble d'outils et de diagramme),

+ Le processus unifié est piloté par les cas d'utilisation,

+ Centré sur l'architecture,

+ Itératif et incrémental

La figure suivante représente les caractéristiques essentielles du processus unifié :

Application de gestion des informations météorologiques Salhi Mohamed Khaled

10

Figure 5 : Caractéristiques du processus unifié

6.2 Adaptation du processus unifié: RUP

Il existe plusieurs processus de développement qui implémente l'UP dont le plus intéressant le RUP (Rational Unified Process).

6.2.1 Définition

Le concept de Rational Unified Process (RUP) provenait de la Rational Software Corporation, une division d'IBM (International Business Machines Corporation).

RUP est l'une des plus célèbres implémentations de la méthode PU, fournit les meilleures lignes directrices pratiqués, des modèles et des illustrations de tous les aspects du programme de développement.

6.2.2 Les phases du cycle de vie de la méthodologie RUP

La méthodologie de développement RUP répète un certain nombre de fois une série de cycles.

Tout cycle se conclut par la livraison d'une version du produit aux clients et s'articule en 4 phases : Pré-étude, élaboration, construction et transition, chacune d'entre elles se subdivisant à son tour en itérations. Chaque cycle se traduit par une nouvelle version du système. Ce produit se compose d'un corps de code source réparti sur plusieurs composants pouvant être compilés et exécutés et s'accompagne de manuels et de produits associés.

La figure 6 suivante représente Le cycle de vie d'un processus unifié relationnel

Application de gestion des informations météorologiques Salhi Mohamed Khaled

11

Figure 6 : Le cycle de vie d'un processus unifié relationnel

Les phases de la méthodologie RUP sont:

+ Pré-étude:Le résultat de cette phase est la détermination des objectifs à atteindre dans notre future application en partant de l'existant.

+ Elaboration: Il s'agit de détailler les spécifications des fonctions ainsi que la structure des données, des contrôles et les interfaces.

+ Construction: Il s'agit de réaliser l'implémentation des programmes et effectuer les tests unitaires.

+ Transition: Il s`agit de tester mon application web et corriger les erreurs découvertes.

6.2.3 Justification de choix de la Processus unifié

Nous avons adopté le processus de développement RUP parce qu'il est beaucoup plus complète que les autres processus, ses itérations sont courtes et varies entre trois et six semaines et permet de limiter les coûts, en termes de risques, aux strictes dépenses liées à une itération. Ceprocessus se focalise sur la qualité du produit vue que les tests sont invoqués d'une façon itératif.

7. Planning prévisionnel

La clé principale de la réussite d'un projet est un bon planning. En effet, le planning aide à bien subdiviser le travail et séparer les taches à réaliser, il offre une meilleure

Application de gestion des informations météorologiques Salhi Mohamed Khaled

12

estimation et gestion de temps nécessaire pour chaque tache. De plus, il donne assez de visibilité permettant d'estimer approximativement la date d'achèvement de chaque tâche.

Dans notre projet, nous avons estimé de réaliser notre application dans une durée approximative de quatre mois. Le tableau ci-dessous montre le planning que nous avons adapté pour mener à la réalisation des différentes parties du projet.

Semaine

Etape

Février

Mars

Avril

Mai

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Etudepréalable ap

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Elaboration

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Construction

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

transition

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Rédaction du rapport

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tableau 2 : Planning prévisionnel

Comme le montre le tableau 2 ci dessus, cinq principales phases peuvent être dégagés : + L'étude préalable: Le résultat de cette phase est la détermination des objectifs à atteindre dans notre future application en partant de l'existant.

+ Elaboration: Il s'agit de détailler les spécifications des fonctions ainsi que la structure des données, et des contrôles et les interfaces.

+ Construction : Il s'agit de réaliser l'implémentation des programmes et effectuer les tests unitaires.

+ Transition: Il s`agit de tester mon application web et corriger les erreurs découvertes.

+ Rédaction du rapport : description détaillée de notre travail.

Conclusion

Dans ce chapitre, nous avons présenté le cadre général du travail tout en décrivant l'organisme d'accueil, le contexte et les objectifs du projet suivi d'une étude de l'existant dans laquelle nous avons dégagé les défaillances du système actuel et enfin, nous avons abordé notre solution et nous avons spécifié la méthodologie de développement. Cette étude nous permet de commencer plus clairement la phase de spécification des besoins.

Chapitre 2

Analyse et spécification des

besoins

Application de gestion des informations météorologiques Salhi Mohamed Khaled

14

Introduction

Afin d'assurer une vue claire des différents fonctionnalités de notre projet, nous allons consacrer ce chapitre pouridentifier les acteurs de notre plateforme, recenser les besoins fonctionnels et les besoins non fonctionnels pour enfin terminer avec la présentation du diagramme des cas d'utilisation générale ainsi que le raffinement de chaque cas d'utilisation de notre application.

1. Analyse des besoins

L'objectif de la phase de spécification des besoins consiste à définir avec détails l'ensemble des fonctionnalités offertes par le système.Les besoins dégagés ont été répartis en deux groupes fonctionnels et non fonctionnels.

1.1 Les besoins fonctionnels

Les besoins fonctionnels représentent les fonctionnalités du système. Ce sont les besoins spécifiant un comportement d'entrée/sortie du système, ces besoins sont classés par acteurs.

1.1.1 Présentation des acteurs

Un acteur représente une personne, un matériel ou un logiciel qui interagit directement avec le système en question. Un acteur peut consulter et/ou modifier directement l'état du système en émettant ou recevant des messages susceptible d'être porteurs de données.

Les acteurs qui participent à notre système sont :

+ L'administrateur: Est le responsable de l'administration de l'application.

+ Visiteur: Le visiteur de l'application, il consulte les informations climatiques qui sont fournies par les stations de météo.

+ Membre: Un utilisateur inscrit dans l'application, il visualise les stations et les informations météorologiques, en plus il choisit des stations favorites et il reçoit des notifications sur ces stations.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

15

1.1.2Les Besoins fonctionnels par Acteur

Le tableau ci dessous représente les besoins fonctionnels de notre solution:

Acteur

Fonctionnalités

Visiteur


·

Consulter les stations météorologiques et leurs emplacements sur une mappe.

 


·

Consulter lesmesures des paramètres météorologiques d'une

station de météo.

 


·

Télécharger les mesures sous forme PDF ou EXCEL

 


·

S'inscrire

Membre


·

S'authentifier

 


·

Consulter les stations météorologiques et leurs emplacements sur une mappe.

 


·

Consulter les mesures correspondant à une station sélectionnée.

 


·

Télécharger les mesures sous forme PDF ou EXCEL

 


·

Gère ses stations favorites (choisir, supprimer)

 


·

Reçoit des notifications sur les stations favorites

 


·

Envoyer des réclamations à l'administrateur de site

L'administrateur


·

S'authentifier

 


·

Gestion des stations météorologiques(Ajout, modification,

suppression)

 


·

Gestion des membres (Ajout, modification, suppression)

 


·

Répondre aux réclamations des membres

1.2 Les besoins non fonctionnels

Le système doit répondre à certains besoins qui ne sont pas indispensable pour son fonctionnement mais qui sont importants pour la qualité de ses services. Les besoins non

Application de gestion des informations météorologiques Salhi Mohamed Khaled

16

fonctionnels sont importants car ils agissent de façon indirecte sur le résultat et sur le rendement de l'utilisateur.

Alors Les principaux besoins non fonctionnels de l'application ce résument dans les points suivants :

+ La rapidité du traitement : Il est impérativement nécessaire que la durée d'exécution des traitements s'approche le plus possible du temps réel.

+ L'ergonomie de l'application : L'application doit présenter des interfaces simples,

ergonomiques afin que l'utilisateur puisse naviguer entre elles sans aucune difficulté. + Sécurité: Une authentification est exigée lors du démarrage pour accéder et effectuer

les opérations désirées.

+ Le code de l'application: Doit être clair pour permettre de futures évolutions ou améliorations

2. Diagrammes des cas d'utilisation 2.1 Définition

Le diagramme des cas d'utilisation permet de formaliser les besoins et de modéliser les services offerts par le système.C'est donc une vue du système dans son environnement extérieur.Il modélise à la fois des activités (fonctionnalités) et des communications (interactions) pour les entités concernées (acteurs).

2.2 Diagramme des cas d'utilisation

Le diagramme exposé dans la figure suivante décrit l'ensemble des cas d'utilisation de notre projet:

Application de gestion des informations météorologiques Salhi Mohamed Khaled

<<extend>>

telecharger sous forme d'un f icher

exel

<<extend>>

telecharger sous forme d'un f ichier

pdf

télecharger les informations météorologiques

<<extend>>

s'inscrire

Visiteur

consulter les stations de météo

visualiser les informations météorologiques d'une station

Gerer les stations favorites

membre

<<extend>>

<<include>>

<<extend>>

retirer une station favorite

selectionner une station favorite

<<include>>

envoyer des reclamations

<<include>>

<<include>>

repondre aux reclamations

s'authentifier

<<include>>

gestion des stations

<<extend>>

<<extend>>

<<extend>>

administrateur

supprimer une station

modifier une station

<<include>>

ajouter une station

gestion des membres

<<extend>>

supprimer un membre

modifier un membre

recevoir des notifications sur les stations favorites

<<extend>> <<extend>>

17

ajouter un membre

Figure 7 :Diagramme des cas d'utilisation

Application de gestion des informations météorologiques Salhi Mohamed Khaled

3. Description textuelle des principaux cas d'utilisation

+ Description textuelle du cas d'utilisation "S'inscrire"

Cas d'utilisation

s'inscrire

Acteur

visiteur

Objectif

Permet à un visiteur d'être un membre.

Pré condition

Consulter le site web

Post condition

Créer un compte dans le site web

Scénario nominal

1. le visiteur choisit de s'inscrire

2. Le système affiche le formulaire
correspondant

3. le visiteur remplie le formulaire

4. Le système vérifie les données saisies

5. Le système affiche l'espace du membre

6. L'instance de cas d'utilisation se termine

Exception

Si un champ lui manque le saisit ou présente une erreur de saisie, le système affiche un message d'erreur.

Tableau 3: Description textuelle du cas d'utilisation "S'inscrire"

+ Description textuelle du cas d'utilisation "S'authentifier "

cas d'utilisation

S'authentifier

Acteur

Membre et administrateur

Objectif

Permet à un membre ou à l'administrateur d'accéder à son propre espace

Pré condition

Le membre possède un compte

Post condition

Permet à l'acteur d'accéder un son propre espace

Scénario nominal

1. Le système invite l'acteur à entrer son login et son mot de passe

2. L'acteur saisit le login et le mot de passe

3. Le système vérifie les paramètres

4. Le système affiche l'espace correspondant à l'acteur.

5. L'instance de cas d'utilisation se termine

18

Application de gestion des informations météorologiques Salhi Mohamed Khaled

19

Exception

Si un champ lui manque le saisie oul'utilisateur est non trouvé, le système affiche un message d'erreur

Tableau 4: Description textuelle du cas d'utilisation "S'authentifier"

+ Description textuelle du cas d'utilisation "visualiser les stations de météo"

Cas d'utilisation :

Consulter les stations de météo

Acteur:

Visiteur et membre

Pré condition :

L'utilisateur accède à l'application

Post condition :

Visualiser une station de météo

Description du scenario principal :

1. Une mappe s'affiche avec les stations et leurs
emplacements et aussi une liste qui contient les stations s'affiche.

2. L'utilisateur clique sur la station à visualiser depuis la
mappe ou la liste

3. Une page contient les informations et les paramètres météorologiques correspondants à la station sélectionnée s'affiche

Exception :

Pas d'exception

Tableau 5 : Description textuelle du cas d'utilisation "consulter les stations de météo"

+ Description textuelle du cas d'utilisation "visualiser les informations météorologiques d'une station "

Cas d'utilisation

Visualiser les informations météorologiques d'une station

Acteur

Visiteur et membre

Pré condition

L'utilisateur accède à la page de la station sélectionné

Post condition

Des informations météorologiques d'une station sélectionnée s'affiche.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

20

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Description du scenario

principal

1. L'administrateur appuie sur le bouton du paramètre
météorologique qu'il veut visualiser

2. Une page correspondante au paramètre météorologique sélectionné contientles mesures s'affiche

3. L'instance de cas d'utilisation se termine

Exception

Pas d'exception

Tableau 6 : Description textuelle du cas d'utilisation "visualiser les informations météorologiques d'une station

+ Description textuelle du cas d'utilisation "Télécharger les informations météorologiques"

Cas d'utilisation :

télécharger les informations météorologiques

Acteur :

Visiteur et membre

Pré condition :

L'utilisateur visualise les informations météorologiques d'une station sélectionnée

Les cas possibles :

· Télécharger un fichier PDF

? Télécharger un fichier EXCEL

Post condition:

Le fichier désiré est téléchargé

Exception

Pas d'exception

Tableau 7 : Description textuelle du cas d'utilisation "Télécharger les informations météorologiques"

+ Description textuelle du cas d'utilisation "Télécharger sous forme d'un fichier PDF"

Cas d'utilisation

Télécharger sous forme d'un fichier PDF

Acteur

Visiteur, membre

Pré condition

L'utilisateur visualise les informations météorologiques d'une station sélectionnée

Post condition

Le fichier PDF est téléchargé

Description du scenario principal

1. L'utilisateur clique sur le bouton télécharger sous forme PDF

21

 

2. Le fichier se télécharge

3. L'instance de cas d'utilisation se termine

Exception

Pas d'exception

Tableau 8 : Description textuelle du cas d'utilisation "Télécharger sous forme d'un fichier PDF"

+ Description textuelle du cas d'utilisation "Gestion des stations "

Cas d'utilisation :

Gestion des stations

Acteur :

Administrateur

Pré condition :

S'authentifier

Les cas possibles :

s Ajouter une station

· Supprimer une station

· Modifier une station

Post condition:

Mise à jour des stations

Exception

Pas d'exception

Tableau 9 : Description textuelle du cas d'utilisation "Gestion des stations "

+ Description textuelle du cas d'utilisation "Ajouter une station"

Cas d'utilisation

Ajouter une station

Acteur

administrateur

Pré condition

S'authentifier

Post condition

Une station s'ajoute

Description du scenario principal

1. L'administrateur clique sur le menu station et choisit ajouter une station.

2. Le système affiche un formulaire

3. L'administration remplie le formulaire

4. Le système vérifie les informations

5. Le système ajoute la station à la base de données

6. Le système affiche la liste des stations

7. L'instance de cas d'utilisation se termine

22

Exception

Si un champ lui manque la saisie ou présente une erreur de saisie, le système affiche un message d'erreur.

Tableau 10 : Description textuelle du cas d'utilisation "Ajouter une station"

+ Description textuelle du cas d'utilisation "Modifier une station"

Cas d'utilisation

Modifier une station

Acteur

Administrateur

Pré condition

L'administrateur doit s'authentifier et accéder à la liste des stations

Post condition

Mise à jour d'une station

Description du scenario principal

1. L'administrateur se pointe sur la station qu'il veut modifier et appuie sur le bouton de modification équivalent à cettestation

2. Le système affiche un formulaire de modification

3. L'administration remplie le formulaire

4. Le système vérifie les informations

5. Le système enregistre les modifications

6. Le système affiche la liste des stations

7. L'instance de cas d'utilisation se termine

Exception

Si un champ lui manque la saisie ou présente une erreur de saisie, le système affiche un message d'erreur.

Tableau 11 : Description textuelle du cas d'utilisation "Modifier une station"

+ Description textuelle du cas d'utilisation "Supprimer une station"

Cas d'utilisation

Supprimer une station

Acteur

Administrateur

Pré condition

L'administrateur doit s'authentifier et accéder à la liste des stations

Post condition

suppression d'une station

Description du scenario

1. L'administrateur se pointe sur la station qu'il veut supprimeret

Application de gestion des informations météorologiques Salhi Mohamed Khaled

principal

appuie sur le bouton de suppression équivalent à cettestation

 

2. Le système affiche un pop-up de vérification l'opération de suppression

 

3. L'administration clique sur le bouton supprimer dans le pop-up

 

4. Le système supprime la station

 

5. Le système affiche la liste des stations

 

6. L'instance de cas d'utilisation se termine

 

Exception

Si un champ lui manque la saisie ou présente une erreur de saisie, le système affiche un message d'erreur.

Tableau 12 : Description textuelle du cas d'utilisation "supprimer une station"

Conclusion

La spécification des besoins procure une vision plus claire et une compréhension plus

profonde des tâches à réaliser. Pour cette raison nous avons, essayé tout le long de ce chapitre, de bien présenter les besoins fonctionnels et non fonctionnels de l'application pour le but de

réaliser la conception qui fera l'objet du chapitre suivant.

23

Chapitre 3

Modélisation conceptuelle

Application de gestion des informations météorologiques Salhi Mohamed Khaled

25

Introduction

La conception est une phase importante dans le développement d'une application.L'objectif principal de la conception est de présenter une architecture stable qui permet de définir la réalisation et le fonctionnement du système et d'éliminer les risques techniques le plus rapidement possible.

Afin de donner une description abstraite du système, nous nous intéressons dans ce chapitre à la modélisation de notre applicationvia un diagramme de classes, des diagrammes de séquences et des diagrammes d'activitésqui vont nous offrir une représentation simplifiée du système permettant de comprendre et de stimuler ses activités et ses motivations internes.

1. Diagramme de classes

Dans cette partie nous allons présenter le diagramme de classe de notre application avec les éléments qui le compose.

Le diagramme de classes représente la structure statique d'un système. Il contient principalement les classes, leurs attributs ainsi que leurs associations.

En pratique, l'intérêt majeur du diagramme de classes est de modéliser les entités du système d'information.

1.1 Présentation des classes

Une classe représente la structure d'un objet, c'est-à-dire la déclaration del'ensemble

des entités qui le composent. Une classe est composéede :

+ Des attributs : il s'agit des données, dont les valeurs représentent l'état de l'objet.

+ Des méthodes : il s'agit des applications applicables aux objets

Les classes qui forment notre application sont les suivantes :

+ Personne :Elle contient les informations concernant les utilisateurs de l'application

+ Membre :Elle hérite de la classe Utilisateur et elle représente les membres inscrits de

l'application.

+ Administrateur :Elle hérite de la classe Utilisateur et elle représente l'administrateur

de l'application

+ Station : La classe qui représente la station de météo et ses informations

+ Mesure :l'entité qui contient les mesures relatives à des stations

Application de gestion des informations météorologiques Salhi Mohamed Khaled

26

+ Notification : l'entité qui contientles notificationsrelatives à des stations

+ Réclamation : Un objet qui représente les éléments d'une réclamation envoyée par un membre à l'administrateur

1.2 Présentations des attributs et des méthodes

Les attributs et les méthodes de nos classes sont présentés dans le tableau suivant :

Nom classe

La liste des attributs

Les méthodes

Personne

ID

Nom Prénom

Email Adresse

Login

Mot_de_passe

getId()

setId()

getNom() setNom() getPrenom() setPrenom() getEmail() setEmail() getAdresse() setAdresse() getLogin() setLogin() getMot_de_passe() authentification() consulter_info() modifie_info()

Membre

Profession

consulter_Info() modifier_Info() getProfession() setProfession() ajouter_Membre() modifier_Membre() supprimer_Membre()

Administrateur

-

consulter_Info() modifier_Info()

Application de gestion des informations météorologiques Salhi Mohamed Khaled

27

Station

Id

getId()

 

Nom

setId()

 

Description

getNom()

 

Localisation

setNom()

 

Longitude

getDescription()

 

Latitude

setDescription()

 

DateAjout

getLocalisation() setLocalisation() getLongitude() setLongitude() getLatitude()

setLatitude()

getDateAjout() setDateAjout() ajouter_Station() modifier_Station() supprimer_Station() consulter_Station() selectionner_StationFavorite() retirer_StationFavorite()

Mesure

Id

getId()

 

Temperature

getTemperature()

 

Humidite

getHumidite()

 

Pluviometrie

getPluviometrie()

 

VitesseVent

getVitesseVent()

 

DirectionVent

getDirectioVent()

 

DateMesure

getDateMesure() gonsulter_Mesure()

Notification

Id

getId()

 

Notification

get Notification()

 

DateNotification

setDateNotification() getDateNotification()

Application de gestion des informations météorologiques Salhi Mohamed Khaled

28

 
 

consulter_Notification()

Reclamation

Id

getId()

 

Objet

setId()

 

ContenuReclamation

getObjet()

 

ReponseReclamation

setObjet()

 

DateReclamation

getContenuReclamation() setContenuReclamation() getReponseReclamation() setReponseReclamation() getDateReclamation() setDateReclamation() envoi_Reclamation() consulter_Reponse()

Tableau 13: les attributs et les méthodes des classes

1.3 Diagramme de classe

La figure ci-dessous récapitule le tableau précédent dans un diagramme de classes qui contient toutes les informations telles que les classes, les attributs, les méthodes et les associations.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Id : Integer Nom : String Prenom : String Email : String Adresse : String

Login : String Mot_de_passe : String

getId() : int

setId()

getNom() : String setNom() : void getPrenom()

setPrenom() : void setEmail() : void getEmail() : String getAdresse() : String setAdresse() : void getLogin() : String setLogin() : void getMot_de_passe() : String setMot_de_Passe() : void authentification() : void

Personne

Membre

0..*

0..*

getId() : Interger

setId() : void

getNom() : String

setNom() : void

getDerscription() : String setDescription() : void getLocalisation() : String setLocalisation() : void getLatitude() : String setLatitude() : void

getLongitude() : String setLongitude() : void getDateAjout() : Date setDateAjout() : void ajouter_Station() : void modifier_Station() : void supprimer_Station() : void consulter_Station() : void selectionner_StationFavorite() : void retirer_StationFavorite() : void

Id_Station : Integer Nom : String Description : String Localisation : String Latitude : String Longitude : String DateAjout : Date

Posséde station favorite

Station

1

1

Posséde

Dispose

0..*

0..*

getId() : Integer getNotification() : String getDateNotification() : Date consulter_Notif ication() : void

Id_Notification : Integer Notification : String DateNotification : Date

Id_mesure : Integer Temperature : Integer Humidite : Integer Pluviometrie : Integer VitesseVent : Integer DirectionVent : Integer DateMesure : Date

getId() : Integer getTemperature() : Integer getHumidite() : Integer getPluv iometrie() : Integer getVitesseVent() : Integer getDirectionVent() : Integer getDateMesure() : Date consulter_Mesure() : void

Notification

Mesure

Administrateur

consulter_Info() : void modifier_Inf o() : void

0..*

Envoyer

0..*

Reclamation

Profession : String

consulter_Info() : void modifier_Inf o() : void getProfession() : String setProfession() : void ajouter_Membre() : void supprimer_Membre() : void modifier_Membre() : void

getId() : Integer

setId() : Integer

getObjet() : String

setObjet() : void

getContenuReclamation() : String... setContenuReclamation() : void getReponseReclamation() : Strn... setReponseReclamation() : void getDateReclamation() : String setDateReclamation() : void envoi_Reclamation() : void consulter_Reponse() : void

Id : Integer

Objet : String

ContenuReclamation : String RepnseReclamation : String DateReclamation : Date

29

Figure 8 : Diagramme de classe

Application de gestion des informations météorologiques Salhi Mohamed Khaled

30

2. Dictionnaire des données

Le tableau ci-dessous représente la liste des attributs composants toutes les classesformants notre système ainsi que leur description, leur taille et leur type.

Les attributs

Description

Type

Taille

01

Id

L'identifiant del'utilisateur

Entier

8

02

Nom

Le nom del'utilisateur

Chaine de caractères

50

03

Prénom

Le prénom del'utilisateur

Chaine de caractères

50

04

Email

L'email del'utilisateur

Chaine de caractères

50

05

Adresse

L'adresse del'utilisateur

Chaine de caractères

50

06

Login

Le login del'utilisateur

Chaine de caractères

50

07

Mot_de_passe

Le mot de passe del'utilisateur

Chaine de caractères

50

08

Profession

La Profession du membre

Chaine de caractères

50

09

Id_Station

L'identifiant dela station

Entier

8

10

Nom

Le nom dela station

Chaine de caractères

50

11

Description

La description dela station

Chaine de caractères

50

12

Localisation

La localisation dela station

Chaine de caractères

50

13

Longitude

La longitude de la localisation de la station

Chaine de caractères

50

14

Latitude

La latitude de l'emplacement dela station

Chaine de caractères

50

15

DateAjout

La date d'ajout dela station

Date

-

16

Id_Mesure

L'identifiant de la mesure

Entier

8

17

Temperature

La valeur de la température

Entier

8

18

Humidite

La valeur de l'humidité

Entier

8

19

Pluviometrie

La valeur de la pluviométrie

Entier

8

20

VitesseVent

La vitesse du vent

Entier

8

21

DirectionVent

La direction du vent

Entier

8

22

Date_Mesure

La date de la mesure

Date

-

23

Id_Notification

L'identifiant de la notification

Entier

8

24

Notification

Le contenu de la notification

Chaine de caractères

50

25

DateNotification

La date de la notification

Date

-

26

Id_Reclamation

L'identifiant de la réclamation

Entier

8

27

Objet

L'objet de la réclamation

Chaine de caractères

50

Application de gestion des informations météorologiques Salhi Mohamed Khaled

31

28

ContenuReclamation

Le contenu de la réclamation

Chaine de caractères

50

29

ReponseReclamation

La réponse de la réclamation

Chaine de caractères

50

30

DateReclamation

La date de la réclamation

Date

-

Tableau 14 : Dictionnaire des données

3. Modélisation logique des données

La modélisation logique des données est une représentation des données, issues de la modélisation conceptuelle puis des données.

Dans ce qui suit, nous présentons les différentes règles de passages d'un diagramme de classe vers un modèle relationnel

3.1 Règles de passage d'un diagramme de classe vers un modèlerelationnel

Dans notre projet, nous avons adapté les règles suivantes pour faire le passage du diagramme de classe vers le modèle relationnel.

Chaque classe sera représentée par une table dont les colonnes sont les attributs de cetteclasse. + Les associations de types 1 :N, N : 1, 1 :1 se traduisent par la conversion des deuxclasses constituant cette association en deux tables dont une va contenir une clé étrangèrepour référencer à l'autre table.

+ Les associations de type N :M entre deux classes sont représentées par une nouvelletable qui prend pour clé primaire la concaténation des clés primaires des deux classes.

+ Une association de classe entre deux classes est représentée par une nouvelle table quiprend pour clé primaire la concaténation des clés primaires des deux classes.

+ L'agrégation sera traitée comme une association tout en tenant compte des cardinalités + La composition sera traitée comme une association sauf qu'on doit ajouter une clause ONDELETE CASCADE.

Pour la généralisation (héritage) il existe trois stratégies de génération:

+ Père et fils : La classe mère et la classe fille seront représentées par deux tablesdistinctes chacune.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

+ Père seulement : Seulement la classe mère sera représentée par une tableportant ses attributs et les attributs de sa classe fille comme champs dans la table.

+ Fils seulement : Seulement la classe fille sera représentée par une table portantses attributs ainsi que les attributs hérités de la classe mère comme champs dans la table.

Nous avons utilisé dans notre cas la troisième stratégie d'héritage. Chaque classe filsreprésente une relation (table)

3.2 Modèle logique des données

Dans ce qui suit, nous présentons le modèle de données.

Administrateur(Id_Admin, Nom, Prenom, Adresse, Email, Login, Mot_de_passe) Membre(Id_Membre, Nom, Prenom, Adresse, Email, Login, Mot_de_passe, Profession) Station(Id_Station, Nom, Description, Localisation, Longitude, Latitude, DateAjout) Mesure(Id_Mesure, Temperature, Humidite, Pluviometrie, DirectionVent, VitesseVent, DateMesure,# Id_Station)

Notification (Id_Notification, Notification, DateNotification,# Id_Station) StationFavoris(#Id_Membre, # Id_Station)

Reclamation(Id_Reclamation, Objet, ContenuReclamation, ReponseReclamation, DateReclamation, #Id_Membre)

4. Diagrammes de séquences

Le diagramme de séquences permet de visualiser l'aspect temporel des interactions Acteur/Système et de connaître le sens de ces interactions (acteur vers système ou contraire). Dans un souci de simplification, on représente l'acteur principal à gauche du diagramme, et les acteurs secondaires éventuels à droite du système.

Le but étant de décrire comment se déroulent les actions entre les acteurs ou objets. La dimension verticale du diagramme représente le temps, permettant de visualiser l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages.

Parmi les scénarios importants dans notre application, nous choisissons les scénarios relatifs aux actions suivantes, afin de les présenter sous forme de diagrammes de séquences: L'inscription, l'authentification, ajout d'une station et la modification d'une station

32

Application de gestion des informations météorologiques Salhi Mohamed Khaled

33

Application de gestion des informations météorologiques Salhi Mohamed Khaled

34

4.1 Diagramme de séquences« Authentification »

Le digramme, exposé dans la figure 9 ci-dessous, décrit les scénarios possibles lors d'une opération d'authentification d'un membre.

Figure 9 : Diagramme de séquences « Authentification »

L'authentification est une étape nécessaire pour permettre aux différents

acteurs d'accéder à leurs environnements de travail et assurer la sécurité de l'application et la confidentialité des données.

Chaque membre du système dispose d'un login et d'un mot de passe qu'il doit saisir dans le formulaire d'authentification afin d'accéder à son espace. Si les paramètres de connexion sont erronés ou n'existe pas, un message d'erreur est affiché et le formulaire d'authentification est affiché de nouveau pour l'utilisateur.

4.2 Diagramme de séquences« Inscription »

Le diagramme représenté dans la figure 10ci-dessous décrit les scénarios possibles lors d'une inscription d'utilisateur

Figure 10 : Diagramme de séquences « Inscription»

+ L'utilisateur l'accède au site, le système lui affiche une interface d'inscription.

+ Il remplit le formulaire d'inscription.

+ Le système vérifie la validitédes champs.

+ Si tous les champs sont corrects, le système prend en charge les informations

introduites et les enregistrent dans la base de données.

+ Si l'inscription n'est pas valide, l'utilisateur doit soit réinscrit soit resté un simple

utilisateur de l'application.

4.3 Diagramme de séquences « Ajout d'une station »

Le digramme, exposé dans la figure 11 ci-dessous, décrit les scénarios possibles lors d'une opération d'ajout d'une station de météo.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

35

Figure 11 : Diagramme de séquences « Ajout d'une station »

+ L'administrateur accède à l'espace d'administration, il clique sur le bouton ajouter station et il remplie les champs nécessaires.

+ Le système vérifie la validité des champs.

+ Si tous les champs sont corrects, le système prend en charge les informations introduites et les enregistrent dans la base de données.

+ La station crée s'affiche sur la mappe et sur la liste des stations

4.4 Diagramme de séquences « Modification d'une station »

Le scénario ci-dessous illustre les détails de l'opération de modification d'une station par l'administrateur de l'application.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

36

Figure 12 : Diagramme de séquences « Modification d'une station »

·

L'administrateur sélectionne une station pour la modifier depuis la liste de stations

· Une page sous forme de pop-up s'affiche contient les champs à modifier.

· L'administrateur modifie les champs nécessaires

· Si tous les champs sont corrects, le système prend en charge les informations introduites et les enregistrent dans la base de données.

5. Diagrammes d'activités

Le diagramme d'activité permet de mettre l'accent sur les traitements. Il est

doncparticulièrement adapté à la modélisation du cheminement de flots de contrôle et de flots dedonnées.

Il permet ainsi de représenter graphiquement le comportement d'une méthode ou ledéroulement d'un cas d'utilisation.

Les diagrammes d'activités sont relativement proches des diagrammes d'états-transitions dansleur présentation, mais leur interprétation est différente.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Une activité représente une exécution d'un mécanisme, un déroulement d'étapesséquentielles. Le passage d'une activité vers une autre est matérialisé par une transition.Les transitions sont déclenchées par la fin d'une activité et provoquent le début immédiatd'une autre.

Ce qui suit, nous présentons les diagrammes d'activités pour la gestion de membres et la visualisation des mesures météorologiques d'une station

5.2 Diagramme d'activité « La visualisation des mesures météorologiques d'une station»

Le digramme exposé dans la figure 13 décrit les scénarios possibles lors de la gestion de membres effectuée un administrateur

Figure 13 : Diagramme d'activité « La visualisation des mesures météorologiques d'une station»

5.3 Diagramme d'activité « Gestion de membres »

37

Application de gestion des informations météorologiques Salhi Mohamed Khaled

38

Le digramme exposé dans la figure14 décrit les scénarios possibles lors de la gestion des membres par l'administrateur

Figure 14 : Diagramme d'activité « Gestion de membres »

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Conclusion

Dans ce chapitre, nous avons présenté une conception détaillée de notre projet afin d'avoir le passage souple et facile à l'étape suivante qui est la réalisation où nous nous allons concentrer sur l'implémentation.

39

Chapitre 4

Réalisation

Application de gestion des informations météorologiques Salhi Mohamed Khaled

41

Introduction

Après avoir terminé la conception détaillée de notre application, nous traitons dans le présent chapitre les détails liés à la réalisation de l'application.

Pour cela, nous exposons tout d'abord les choix de l'environnement de travail (matériel et logiciel) adopté afin de réussir la réalisation de l'application, et nous décrivons les étapes d'implémentation suivies de quelques imprimes d'écrans de l'exécution de certains modules de l'application pour illustrer quelques fonctionnalités de notre système.

1. Environnement de travail

Dans cette partie nous allons présenter l'environnement de travail (matériel et logiciel) utilisé dans le développement notre application.

1.1 Environnement matériel

Pour la réalisation de l'application nous avons utilisé un ordinateur qui nous a permis de traiter et d'installer plusieurs logiciels.

Dans ce qui suit, les principales caractéristiques de cet ordinateur

Matériel

Caractéristique

PC Dell Inspiron N5050

Système d'exploitation: Windows 7

Ecran: 15.6 pouces

Processeur: Intel Pentium B970 - 2.20 GHz

Mémoire: 4Go

Disque Dur: 500Go

Carte Graphique: Intel HD Graphics 4000

 

Tableau 15 : Caractéristiques de l'ordinateur utilisé

1.2 Environnement logiciel

Dans cette partie nous allons présenter les logiciels utilisés pour la réalisation de notre application.

+ StarUML : L'Outil de conception UML

StarUML est une plate-forme de modélisation avec le langage UML open source qui gère la plupart des diagrammes.

Spécifiés dans la norme UML 2.0 qui est caractérisée par une forte flexibilité et une excellente extensibilité de ses fonctionnalités.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

42

+ Microsoft Visual Studio 2010 : L'Environnement de développement Intégrés

Microsoft Visual Studio est une suite de logiciels de développement pour Windows conçue par Microsoft. Ilreprésente un ensemble complet d'outils de développement permettant de générer des applications Web ASP.NET, desservices web XML, des applications bureautiques et des applications mobiles. [1]

+ Sql server 2008 : Systéme de gestion de base de données

Cette version de SQL Server intègre de nouvelles fonctionnalités et des améliorations qui augmentent la puissance et productivité des développeurs et des administrateurs qui conçoivent, développent et maintiennent des systèmes de stockage de données (Améliorations de la sécurité, Améliorations de la disponibilité). [2]

2. Choix techniques

Dans la suite nous définissons le framework .Net et ses composants et nous présentons le framework de l'application asp.NET MVC et le framework Entity et en fin nous présentons les autres langages est outils utilisés dans le développement de notre application

2.1 Framework .Net

Pour développer notre système, nous avons utilisé la technologie .Net de Microsoft, vu que ce choix est imposé par l'entreprise qui a déjà mis en place des applications en utilisant la technologie Microsoft et qui possède donc les licences requises.

Le Framework .NET est un standard proposé par la société Microsoft, pour le

développement d'applications d'entreprises - multi-niveaux, basées sur des composants. Il est la

réponse de Microsoft à la - plate-forme J2EE d'Oracle.

.NET permet de construire, de déployer et d'exécuter des applications Web, des services Web, aussi des applications classiques s'exécutant sur Windows. Le .NET Framework est un environnement qui est disponible gratuitement sur toutes les versions de Windows depuis 95.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

43

Application de gestion des informations météorologiques Salhi Mohamed Khaled

2.2 Les composants du .Net

Nous décrivons dans cette partie les composants de .Net que nous avons utilisé pour la réalisation du système.

2.2.1 Le langage C#

C'est le langage de la nouvelle version de Visual Studio .NET le plus utilisé, un langage dérivé du C++, qui reprend des caractéristiques du langage Java. C# peut être utilisé pour créer des applications Windows et Web. Le langage C# ajoute au C++ les techniques de construction de programmes sur base de composants prêts à l'emploi avec propriétés et événements.

Il a les caractéristiques suivantes :

· Purement orienté objet : tout est classe

· Types précisément conformes à l'architecture .NET et vérifications de type plus élaborées

· Gestion automatique de la mémoire (ramasses miettes). Pas d'héritage multiple mais plusieurs interfaces.

2.2.2ADO.Net

ADO.Net est conçu pour charger des données à partir d'une source de données et pour les utiliser ensuite dans un état déconnecté. Cet état déconnecté permet principalement de réduire le trafic sur le réseau. ADO.Net utilise le langage XML (Extensible Markup language) comme format de transmission universel, garantissant une interopérabilité avec n'importe quelle plate-forme sur laquelle est installé un analyseur XML. [3]

2.3 Framework d'application Asp.NET MVC

Compte tenu du choix effectué au niveau de la technologie adopté pour le développement de notre système .Net, et avec l'objectif d'avoir une architecture n tiers favorisant un coût de maintenance réduit, il était logique de nous orienter vers le nouveau Framework dans le monde Microsoft Asp.NET MVC version 3.0 qui permet d'organiser le développement selon le design pattern MVC.

44

2.3.1Présentation du Framework Asp.Net MVC

ASP.NET MVC est l'implémentation du design pattern MVC pour la conception d'applications web. Ce design pattern permet le découpage de notre application en 3 couches distinctes : Model, View et Controller. Cette séparation permet de coupler faiblement chacune de ces parties entre elles. Elle permet :

· De faciliter le développement de l'application, afin de répartir des tâches de conception et de développement de l'application entre les différentes personnes d'une équipe de développement.

· De bien structurer l'application, afin de faciliter son développement, ainsi que sa maintenance.

· De faciliter les tests de l'application, afin de mieux réaliser les tests unitaires, fonctionnels et de non régression.

2.3.2Présentation détaillée du modèle MVC

Le modèle MVC (Modèle, Vue, Contrôleur) est une architecture qui organise les composants d'une application. Son principe consiste à séparer les données, les interfaces graphiques et les traitements en trois parties distinctes : modèle, vue et contrôleur.

+ Modèle: Le rôle du modèle est de décrire le comportement de l'application et de gérer les données qu'elle manipule. Dans le cas d'accès aux bases de données, il prend en charge le trafic des enregistrements.

+ Vue :La vue présente les interfaces graphiques qui s'affichent sur la machine d'un client. Le rôle de la vue n'est pas restreint à afficher les fenêtres de l'application, elle intercepte aussi les actions (évènements) de l'utilisateur comme les clics de la souris et la saisie des textes avec le clavier. Suite à la réception de ces évènements, la vue ne fait pas de traitement, elle les transmet au contrôleur.

+ Contrôleur :Le contrôleur est un relieur entre le modèle et la vue. Son rôle consiste à analyser les évènements provenant des vues et commander au(x) modèle(s) d'exécuter les actions appropriées.

La figure 15 suivantereprésente cette architecture ainsi que les différentes interactions entre ces composants :

Application de gestion des informations météorologiques Salhi Mohamed Khaled

45

Figure 15 : Le fonctionnement de l'architecture MVC

2.4 Framework de persistance « Entity Framework »

L'Entity Framework est une technologie intégrée à ADO.Net, qui permet de développer des applications de gestion de données, sans se soucier de la conception du schéma de base de données devant contenir les données de l'application. Il constitue une couche d'abstraction, au travers d'entités définies dans un modèle, appelé Entity Data Model (EDM).

La figure 16 suivante décrit le fonctionnement du « Entity Framework»

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Figure 16 : le fonctionnement du « Entity Framework»

46

2.5 Langages et outils de développement

· HTML5 est la dernière évolution des standards qui définissent HTML. Le terme HTML5 regroupe deux concepts différents : Il s'agit de la nouvelle version du langage HTML, avec de nouveaux éléments, attributs et comportements mais aussi un ensemble plus large de technologies qui permettent des sites web plus variés et puissants, et des applications web. Cet ensemble est parfois appelé HTML5 & Cie et souvent juste abrégé en HTML5. [4]

 
 

· CSS3 un acronyme pour Cascading Style Sheets, c'est le langage de balisage basé sur le Web utilisé pour décrire l'apparence et la mise en forme d'un site Web dans le navigateur, le plus couramment utilisé en HTML ou des pages web XHTML, mais également applicable aux documents XML, y compris XML simple, SVG et XUL. «CSS3? se réfère simplement à la dernière incarnation de CSS, avec des fonctionnalités supplémentaires bien au-delà de la portée des deux premières générations. [5]

 
 

Application de gestion des informations météorologiques Salhi Mohamed Khaled

47

· JQuery est un framework développé en javascript qui permet notamment de manipuler aisément la DOM, d'utiliser AJAX, et de créer des animations. La vocation première de ce Framework est de gagner du temps dans le développement des applications: "write less, do more". [6]

· Bootstrap est une collection d'outils utile à la création de sites et d'applications web. C'est un ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils de navigation et autres éléments interactifs, ainsi que des extensions JavaScript en option.[7]

 
 

· Google Maps APIest l'une des applications de cartographie les plus utilisées au monde. C'est une application de service de géolocalisation gratuite en ligne. Elle offre une vue de carte sur quatre plans à savoir un plan classique, un plan en image satellite, un plan mixte et un plan relief de la région.

3. Choix de l'architecture

Le développement d'une application présente plusieurs types d'architectures telque l'architecture client/serveur qui présente deux niveaux - (2-tiers) et celle - 3-tiers.

En effet, vu les spécifications de notre application qui exige le passage d'une base de donnée, le choix de l'architecture à 3 niveaux - (3-tiers) s'impose. Cette architecture se compose des niveaux suivants:

+ Les acteurs : C'est le niveau présentation. Dans le cas de notre solution ce niveau se composed'un simple utilisateur, qui est en principe l'agriculteur, et l'agent technique, qui joue le rôle d'un administrateur

+ Le serveur web: C'est le niveau applicatif. Ce serveur représente l'environnement d'exécution des applications coté serveur. Il prend en charge l'ensemble des

fonctionnalités qui - per- mettent à N clients d'utiliser une même application.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

+ Le serveur de base de données : Il comporte les tables de données et les requêtes nécessaires utilisée par l'application. Nous avons opté pour SQL Server pour gérer notre base.

3.1 Architecture 3-tiers

Une application web possède souvent une architecture 3-tiers :

+ la couche dao (Data Access Object) s'occupe de l'accès aux données, le plus souvent des données persistantes au sein d'un SGBD.

+ la couche métier implémente les algorithmes "métier" de l'application. Cette couche est indépendante de toute forme d'interface avec l'utilisateur. Ainsi elle doit être utilisable aussi bien avec une interface console, une interface web, une interface de client riche. Elle doit ainsi pouvoir être testée en dehors de l'interface web et notamment avec une interface console. C'est généralement la couche la plus stable de l'architecture. Elle ne change pas si on change l'interface utilisateur ou la façon d'accéder aux données nécessaires au fonctionnement de l'application.

+ la couche interface utilisateur qui est l'interface (graphique souvent) qui permet à l'utilisateur de piloter l'application et d'en recevoir des informations.

Les couches métier et dao sont normalement utilisées via des interfaces. Ainsi la couche métier ne connaît de la couche dao que son ou ses interfaces et ne connaît pas les classes les implémentant. C'est ce qui assure l'indépendance des couches entre-elles : changer l'implémentation de la couche dao n'a aucune incidence sur la couche métier tant qu'on ne touche pas à la définition de l'interface de la couche dao. Il en est de même entre les couches interface utilisateur et métier.

4. Diagramme de déploiement

Le diagramme de déploiement est une vue statique qui sert à représenter l'utilisation de l'infrastructure physique par le système et la manière dont les composants du système sont répartis ainsi que leurs relations entre eux.

48

Application de gestion des informations météorologiques Salhi Mohamed Khaled

49

Figure 17 : Le diagramme de déploiement

La figure précédente représente le diagramme de déploiement de notre application. Elle est déployée sur trois tiers :

+ Client : C'est le navigateur, son rôle est d'afficher les données transmises par le serveur.

+ Serveur web respectant l'architecture logicielle MVC, c'est le noyau de notre système. + Serveur données : La partie persistance de l'application, elle contient le système de gestion de base de données (Sql Server).

5. Présentation et description des interfaces

Nous présentons dans cette partie quelques interfaces de notre application.

5.1 Interface d'accueil de l'application

Application de gestion des informations météorologiques Salhi Mohamed Khaled

50

Figure 18 : Interface d'accueil de l'application

La figure 18 représente l'interface d'accueil de notre application, l'utilisateur visualise

la mappe qui contient l'emplacement des stations et aussi il visualise la liste des stations à gauche. Il peut accéder à une station et il peut connecter ou s'inscrire à l'application.

5.2 L'interface d'une station de météo

Figure 19 : L'interface d'une station de météo

La figure 19 représente la page qui permet d'un utilisateur de consulter une station de météo, il visualise l'emplacement de la station sur une mappe, aussi sa description et les boutons des paramètres météorologiques.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

51

5.3 L'interface d'un paramètre météorologique

Figure 20 : L'interface d'un paramètre météorologique

La figure 20 représente l'interface des mesures d'un paramétre météorologiques comme la température ou l'hmidité. L'utilisateur visualise ces mesures à travers une courbe et il peut sélectionner un intervalle de temps ou faire un zoom avant ou arrière sur la courbe pour voire précisément une mesure avec sa date d'enregistrement par la station de météo.

5.4Page d'administration de l'application

Figure 21 : Page d'administration de l'application

La figure 21 représente la page d'accueil de la partie administration de l'application.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

L'administrateur peut accéder aux pages de gestions des stations et des membres à travers la barre de menu aussi, il visualise les stations et la mappe et sur la liste à gauche.

5.5Interface de gestion des stations

Figure 22 : Interface de gestion des stations

La figure 22 représente le panneau qui permet à l'administrateur de gérer les stations (modifier ou supprimer).

Il permet également d'effectuer des recherches selon divers critères. À droite le

bouton «Modifier» qui redirige l'administrateur vers le formulaire de modification d'une station et le bouton « Supprimer » qui permet de supprimer une station.

5.6 Interface d'ajout d'une station

52

Application de gestion des informations météorologiques Salhi Mohamed Khaled

53

Figure 23 : Interface d'ajout d'une station

La figure 23 représente l'interface qui permet à l'administration de créer une nouvelle station. Il remplit le formulaire affiché avec les informations demandées.

5.7Interface de modification d'une station

Figure 24 : Interface de modification d'une station

La figure 24 représente l'interface de modification d'une station par l'administrateur,

elle s'affiche sous forme de - pop-up pour éviter la navigation d'une page à l'autre.

Conclusion

Ce dernier chapitre nous a permis de présenter l'environnement de travail et les

technologies utilisées pour réaliser notre application ainsi que quelques interfaces graphiques.

Application de gestion des informations météorologiques Salhi Mohamed Khaled

Conclusion générale

Durant la période de ce stage, notre mission était de concevoir et réaliser application web de suivi des informations météorologiques.

Cette application affiche des mesures de plusieurs paramètres météorologiques sous plusieurs formes, elle est très flexible est facile de la manipuler et elle s'adapte à plusieurs plateformes. On peut dire enfin que les objectifs qui nous ont étaient fixés au départ sont en grandes parties atteintes.

Ce stage de fin d'études nous a permis de mettre en oeuvre nos savoirs et nos connaissances théoriques, et de les enrichir par la pratique, ainsi que de maitriser un ensemble de nouvelles technologies. Cette expérience a été une opportunité pour s'approfondir dans le développement web dans sa globalité, assimiler ses concepts et manipuler ses outils.

Nous avons également appris à être encore plus autonomes et responsables afin de bien s'intégrer dans le milieu professionnel. Ce projet nous a été une source de bénéfices valorisants tant au niveau technique qu'au niveau professionnel et relationnel.

Nous tenons à souligner que la solution développée reste extensible à tout type d'amélioration tels que :

+ Création d'un système de prévision météorologique.

+ Création d'un système de configuration à distant pour les stations de météo à l'aide des services web

54

Application de gestion des informations météorologiques Salhi Mohamed Khaled

55

Bibliographie

[1] http://fr.wikipedia.org/wiki/Microsoft_Visual_Studio

[2] https://msdn.microsoft.com/fr-fr/library/bb510411.aspx

[3] https://msdn.microsoft.com/fr-fr/library/vstudio/27y4ybxw%28v=vs.100%29.aspx

[4] http://www.html5-css3.fr/html5/introduction-html5

[5] http://glossaire.infowebmaster.fr/css/

[6] http://jquery.developpeur-web2.com/ [7] http://fr.wikipedia.org/wiki/bootstrap

Réalisation d'une application web de gestion des

informations météorologiques

Salhi Mohamed Khaled

»ÿ§éèäß' Þã'îÌß' Dî£ *éãîàÌäãØÿß'»þî ß'/é»1÷ééÄã þË Úàä

TDS

????

:

ÉÕ?ÎáÇ

Pôle technologique route tunis Km 10 ; B.P. : 242 SFAX 3021

Tél. : 216 74 86 22 33 ; Fax : 216 74 8624 32

cr111.-.. `
·242

:.u

.vim `
·

10 EàÛ 3çH Bþ17?ÌæáæäßÊáÇ ÈØÞáÇ

216 74 322486:  `
·216 74 86 22 33 :vé3/43021

6®ÌþH®þÿÇîØÿ'Ä'£%îäÿä1/4î3/4éèËH®äèäÓßéçàÓ'#172;ß .*éçéÿ'ß')ËéØÿÓéà 'H 1éÄã÷'H»î7®ß'H)1'®ßüoeã

*éãîàÌäßé3/4#172;3/4

Résumé :la société TDS possède des stations de météo qui fournissent plusieurs mesures et informations sur plusieurs paramètres météorologiques comme la température, l'humidité et la pluviométrie. Ces stations enregistrent les informations météorologiques sur une base de données. L'objectif de notre projet est de concevoir et de réaliser une application web qui gère et affiche ces informations météorologiques. L'application est développée par .NET, JavaScript...

Abstract:TDS Company has many weather stations that provide several measures and meteorological parameters such as temperature, humidity and rainfall. These systes record weather informations on a database. So the goal of our project is to design and implement a web application that manages and displays the weather informations. This application was developedwith .Net,JavaScritp...

»þî ß'/é»1÷ééÄã ,-'þ®Ü3 éÓé· c -ç *H/ : 'Lô o1I Mots clés: .NET, JavaScript, stations de météo

Key-words: .NET, JavaScript, weather stations






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand