Académique Documents
Professionnel Documents
Culture Documents
L'écotourisme est l'un des secteurs qui connaît le plus fort taux de popularité dans le monde, à l'inverse
du tourisme de masse qui dégrade les milieux naturels, en intégrant une dimension éthique et éco-citoyenne.
Des guides de bonnes pratiques apparaissent, dont pour la prise en compte de la biodiversité dans les hôtels.
L'écotourisme, que l'on associe au tourisme vert, est l’une des formes du tourisme durable, plus centrée sur
la découverte de la nature (écosystèmes, mais aussi agro-systèmes et tourisme rural), voire d'écologie
urbaine (jardins écologiques, espaces verts écologiques, réserves naturelles urbaines et autres aspects de
l'écologie urbaine...)
Né il y a une trentaine d’années, le terme d’écotourisme est un néologisme composé de
l'abréviation eco- (écologie) et tourisme. Le mot serait apparu en 1983 avec l'architecte mexicain Héctor
Ceballos-Lascuráin.
La Société Internationale de l’Écotourisme (TIES) donne une définition en 1991 : « L’écotourisme est un
voyage responsable dans des environnements naturels où les ressources et le bien-être des populations sont
préservés ».
Ce mode de tourisme s'adapte aussi bien aux pays développés comme la France, où il est d'ailleurs défendu
par l'Association française d'écotourisme depuis 2005, ainsi que par d'autres associations nationales de
l'écotourisme en Europe et en Australie.
En Tunisie, l’écotourisme commence à se faire une place graduellement à côté du tourisme balnéaire qui
détient la palme en matière d’attractivité touristique mais qui a commencé à perdre de sa séduction ces
derniers temps. Il faut bien proposer un produit touristique alternatif dans un contexte mondial où tout le
monde parle, désormais, écolo.
En effet, la Tunisie avec ses parcs et réserves naturels constitue un terrain idoine pour le développement de
l’écotourisme. D’ailleurs, les régions du nord- ouest, du nord-est et du Cap Bon en l’occurrence disposent
d’un patrimoine écologique riche.
C’est dans ce cadre que se définit notre projet qui vise dans un premier temps à présenter les régions et
l’existence d’importantes potentialités et paysages naturels dans notre pays à travers un contenu multimédia
(photos, vidéos) , puis dans une seconde phase permettra également aux organisateurs de publier des
évènements (randonné, camping, festival) et aux participant d’y en participer.
Le premier chapitre est une présentation générale du projet. Il comprendra une partie qui sera consacré à
l’analyse et le bilan de l’existant. La dernière partie de ce chapitre est entièrement consacré à la
méthodologie de conception, et montrera comment juger une bonne méthodologie de conception. Un
planning de travail, mettant en œuvre les différentes tâches en orges chronologiques, clôturera ce premier
chapitre.
Le deuxième chapitre sera consacré à l’analyse et la spécification des besoins, qui fournit une
compréhension des exigences, des concepts et du comportement de l’application.
Le troisième chapitre sera consacré à la conception objet. On présentera les diagrammes de séquences
détaillés ainsi que le diagramme de classe métier. On conclura cette partie par l’architecture logique
déployée.
Le dernier chapitre sera entièrement réservé à l’implémentation du projet, les interfaces homme/machine
seront un témoin de réalisation de l’application.
Un ensemble d’annexes donnant en ordre l’ensemble des procédures d’installation des différents outils de
réalisation de l’application.
CHAPITRE
1 Étude préliminaire
Introduction
Ce chapitre introductif sera la pierre angulaire pour la compréhension de notre projet.
Après avoir présenté l’organisme d’accueil, nous passons à cerner quelques solutions Web
existantes, dont le but de fixer nos objectifs.
Nous dévoilons le processus de conception que nous préconisons pour la modélisation de
l’application.
Ce chapitre sera achevé par la planification de projet, mettant en œuvre l’ordre chronologique
de la réalisation des différentes étapes de ce projet.
Nombre de Salarié : 10
Contexte du projet
L'écotourisme est l'un des secteurs qui connaît le plus fort taux de popularité dans le monde, à
l'inverse du tourisme de masse qui dégrade les milieux naturels, en intégrant une
dimension éthique et éco-citoyenne. Des guides de bonnes pratiques apparaissent, dont pour la prise en
compte de la biodiversité dans les hôtels.
Il rassemble toutes les formes de tourisme axées sur la nature et les cultures traditionnelles
qui règnent dans les zones naturelles. Il comporte une part d’éducation et d’interprétation de
l’environnement. L’écotourisme repose sur quatre principes :
— La valorisation de la préservation et de la protection de l’environnement et de la
biodiversité en minimisant les impacts
— La contribution équitable au développement économique local en améliorant les
opportunités d’emploi local,
— La prise en compte des besoins des communautés hôtes en recherchant une meilleure
compréhension de la nature, de la société et de la culture locale
— La promotion d’une expression touristique authentique et responsable. L’écotourisme (ou
agritourisme, tourisme vert, tourisme sportif…) est une forme de tourisme en expansion,
qui vise à réduire ou annuler les dégâts écologiques lors du voyage.
L’écotourisme se pratique dans la nature, en petits groupes au sein de petites structures, alors
que le tourisme durable est une notion plus large qui veut dire « développement durable du
tourisme», et qui concerne également les hôtels dans les villes ou les compagnies de transport par
exemple.
Dans ce contexte, notre mission consiste à concevoir et réaliser une plateforme d’écotourisme.
Analyse de la concurrence
Solutions concurrentes
— Babel Voyages:
Babel Voyages, c’est une SAS depuis janvier 2016, qui a vu le jour sous la forme d’une
association en octobre 2011 avec pour objectif de sensibiliser le plus grand nombre au
voyage engagé et aux valeurs qui en découlent : altruisme, ouverture d’esprit, respect des
cultures, égards envers notre planète et ses écosystèmes… [2].
Figure 1.1 – Site officielle de Babel Voyages
— Bookingdifferent.com
Bookdifferent.com a été fondé en 2012 aux Pays-Bas, probablement l'un des pays les plus
verts du monde! Après tout le temps que nous passons à vélo, nous pensons qu'être vert
nous tient à cœur et nous voulons que cela se reflète également dans les voyages.
Nous croyons que voyager est une chose merveilleuse et nous permet vraiment d'apprécier
la belle planète que nous avons, mais nous pensons aussi que l'impact du tourisme
aujourd'hui est un peu effrayant. Nous ne voulons pas voir davantage d’îles fermées en
raison de la pollution et de la surpopulation, mais nous voulons plutôt aider les gens à
choisir une meilleure façon de voyager. Pour nous, cela commence par choisir des
hébergements qui font leur part pour prendre soin de l'environnement, de leurs habitants et
des communautés dans lesquelles ils se trouvent [3].
FIGURE 1.2 – Site officiel de bookdifferent.com
— Tunisie.co
TUNISIE.co se propose d’apporter du contenu à forte valeur ajoutée dans quatre thèmes à
savoir : Le tourisme, l’Artisanat, la Culture et la Cuisine.
Suite à l’analyse concurrentielle entre les trois solutions décrites ci-dessus, nous dressons le
tableau suivant mettant en œuvre une comparaison entre leurs différentes fonctionnalités.
fonctionnalit
Babel Bookdiffere Tunisie-co
é
nt
solution
Inscription des Formulaire Formulaire Formulaire
utilisateurs
Nombre de réservation limité limité illimité
Mode de paiement Paiement de main en Carte Carte
main bancaire bancaire
galerie images moyenne moyenne moyenne
galerie vidéos faible absent absent
Résultats attendus
Notre sujet consiste à concevoir et développer une plateforme, qui rassemble tous les acteurs de
l’écotourisme ( Les organisateurs des évènements, les participants, les vendeurs de matériels, …) et qui
vise à promouvoir le tourisme interne dans les régions internes de la Tunisie, en proposant un
écosystème numérique, mutualisé et ouvert, permettant de présenter ces zones à travers un contenu
multimédia divers (photos, vidéos,...etc.).
Ce portail permettra également aux organisateurs de publier des évènements (randonnés, camping,
festivals,...etc.) et aux participant d’y en participer. Tous les utilisateurs peuvent aussi ajouter des
publications (image, vidéos,...etc.) à leurs profils et publier des annonces de vente ou location de
matériel et des équipements de camping.
Choix de la méthodologie
Le choix entre une méthode et une autre dépend de la nature du projet et de sa taille, afin de
minimiser le risque lié au choix du processus de développement. Pour cette raison, nous avons
choisi de dresser un tableau comparatif entre le modèle en cascade, en V et Méthode agile (MA).
Le tableau (voir Tableau 1.1) regroupe l’ensemble des points positifs et négatifs assiégé suite à
l’analyse des trois solutions concurrentes.
TABLE 1.2 – Tableau comparatif entre les différents cycles de vie d’un logiciel
—Facile à utiliser.
—Les tests sont effectués à —Le processus n’est pas itératif.
chaque étape. —Une mauvaise prise en
Cycle en V —Le contrôle se fait progressive- compte des changements de
ment à chaque étape. la spécifi- cation des
besoins.
—Les phases de validation sont
prises en main très tôt dans le —Ne contient pas les activités
processus de développement. d’analyses de risques.
Lorsqu’il s’agit d’un projet où les données ne sont pas ajustées au début, ou les besoins ne
sont pas complets dès le départ ou qu’ils peuvent se développer en cours de travail comme dans
notre cas, il est indispensable d’orienter vers une méthode itérative et orientées prototypes.
Parmi les méthodes itératives, nous pouvons distinguer les MA qu’ils sont largement utiliser à
l’époque actuelle.
Une MA vise à réduire le cycle de vie du logiciel (donc accélérer son développement) en
1. Éviter.
développant une version minimale, puis en intégrant les fonctionnalités par un processus itératif
basé sur une écoute client et des tests tout au long du cycle de développement [5]
En fait, il ne s’agit pas de choisir la meilleure méthode parmi les différentes MA existantes,
mais, il s’agit plutôt de sélectionner la méthode la plus convenable.
D’où, la nature de notre projet est évolutive et les besoins n’ont pas encore été totalement
identifiés. Dans ce but, nous a orientés vers une méthode de type AGILE et plus particulièrement
l’Unified Process (UP).
Présentation de la méthodologie UP
Démarche à suivre
Le processus que nous avons l’intention de suivre pour le développement de notre l’application
est basé sur UP, mais dans un cadre plus général.
Notamment, ce processus est présenté et appliqué tout au long de ce rapport est :
Conduit par les cas d’utilisation,
Relativement léger et restreint, mais sans négliger les activités de modélisation en analyse et
conception,
fondé sur l’utilisation d’un sous-ensemble nécessaire et suffisant des diagrammes UML
Unified Modeling Language (UML).
Planification de projet
Le planning suivant reconstitue le déroulement des tâches effectuées depuis le lancement du
projet.
Introduction
Ce chapitre sera organisé en trois volets importants.
Tout d’abord, nous détaillons dans un premier temps les exigences fonctionnelles de
l’application, à savoir les fonctionnalités requises par l’utilisateur. Nous ajoutons ensuite des
exigences non fonctionnelles.
Par la suite, nous détaillons les différentes étapes de la démarche que nous allons adopter afin
d’aboutir au modèle des cas d’utilisation.
Finalement, nous allons décrire de façon détaillée les cas d’utilisation par : des fiche-type
pour chacun et des représentations graphiques UML très utile : le diagramme de séquence.
Exigence fonctionnelles
Exigences de qualité
Pour attirer un utilisateur sur notre site et ensuite le fidéliser, il est important de répondre aux
exigences de qualité suivantes :
Ergonomie sobre et efficace : Réserver un évènement sur le Web ne doit pas prendre
beaucoup de temps ou demander une maîtrise de mathématiques ! La mise en page du
site facilitera au maximum la démarche à l’aide d’une présentation claire et intuitive. Les
sites trop riches et trop complexes n’incitent pas aux réservations, car ils demandent un
effort intellectuel important et non souhaité.
— Formulaire de réservation simple : Très souvent, l’utilisateur cale au moment de
réservation, car la conception et la présentation du formulaire est assez complexe.
Donc il faut adopter des styles particulièrement soignées pour ne pas rebuter les utilisateurs
de notre site.
— Sécurité : Se doter d’un système sécurisé est une chose primordiale dans la réalisation de
notre site.
En effet, vu la pertinence des informations (numéro carte bancaire et mot de passe)
circulant, il s’avère judicieux de garantir la sécurité de notre site.
Exigences de performance
—Le système doit pouvoir gérer les comptes de plus de 10 000 clients,
—Le site web doit supporter plus de 1000 connexions simultanées,
—Le catalogue d’évènement doit pouvoir comprendre plus de 10 000 titres,
—Aucune recherche ne doit prendre plus de 5 secondes.
Ainsi, la démarche que nous allons adopter afin d’aboutir ce modèle est schématisé par la
figure
2-1
FIGURE 2.1 – Synoptique de la démarche de construction du modèle de cas d’utilisation
Identification des acteurs
Un acteur est l’idéalisation d’un rôle joué par une personne externe, un processus ou une chose
qui interagit avec un système. [6]
Durant notre analyse, nous avons identifié les acteurs suivants :
—Administrateur : Rôle des acteurs qui sont en charge du bon fonctionnement et de la
maintenance du site,
—Organisateur : Rôle des acteurs qui sont responsables du contenu rédactionnel du site
(évènements, annonces et publications),
—Internaute : La personne qui demande des prestations auprès du site et qui est responsables
de contenu rédactionnel aussi (publications, et annonces).
Nous allons également prendre en compte le système informatique, à savoir le système
Paiement-Sécurisé qui assure le paiement de toutes les réservations effectuées.
Lors de notre analyse des besoins, nous avons pu identifier pour chaque acteur les cas
d’utilisation importants que nous montrerons ci-dessous et nous les modélisons par la suite grâce
au modèle des cas d’utilisation.
Débutant par l’acteur le plus important dans notre application : l’administrateur, ces cas
d’utilisation principaux ont été bien mis en évidence par l’expression de besoins préliminaire, à
savoir :
—Maintenir le portail,
—Mise à jour des comptes utilisateurs.
—Mise à jour des évènements : Recherche, consultation, suppression, publication.
—Mise à jour des articles.
—Mise à jour des annonces (vente et location de matériels).
On obtient un diagramme préliminaire (voir figure 2-2) en représentant les cas d’utilisation reliés
par des associations à leur acteur.
FIGURE 2.2 – Cas d’utilisation principaux de l’administrateur
Ensuite, l’intention métier selon lequel l’organisateur utilise le système est identifiée comme suit :
—Mise à jour des évènements : Création, modification, Recherche, consultation et suppression,
—Mise à jour des annonces: Création, modification, Recherche, consultation et suppression,
—Mise à jour de profil: Ajouter des publications, Ajouter et modifier ces cordonnés
, Ces cas d’utilisation sont illustrés par un diagramme préliminaire (voir figure 2-3)
Structuration en packages
À tout moment, le visiteur peut choisir de créer un compte, afin de devenir participant.
Le participant a la possibilité de mettre à jour son profil :
- Les informations le concernant (nom, prénom, adresse électronique, etc.) stockées par le
site web.
-Les publications
Aussi l’authentification de l’internaute lui donne la possibilité de publier et consulter les
annonces de vente et location et la possibilité de faire une recherche d’un évènement qui
peut donner lieu à sa consultation et sa réservation.
Enfin, l’authentification du participant est nécessaire pour la recherche, la consultation et la
réservation d’un évènement, l’ajout et la consultation des annonces, ainsi pour la gestion de
son propre profil.
Nous mentionnons également l’importance du système externe de Paiement sécurisé,
nécessaire au moment de la réservation en ligne.
Le diagramme devient alors celui de la figure 2.6.
—S’authentifier
Nom S’authentifier
Acteur Principal Administrateur, Organisateur et internaute
Objectif Accéder au fonctionnalités du site.
Pré-conditions L’acteur existe dans la base de données
1.L’acteur demande le formulaire de connexion
2.Le système affiche le formulaire d’identification
Scénario 3.L’acteur remplit le formulaire avec l’ensemble des
nominal informa- tions nécessaires à son identification
4.Le système vérifie les informations saisies et le redirige
vers son espace approprié.
—Créer un évènement
Scénario Néant
alternatif
—Réserver un évènement
Dans cette section, nous décrivons le comportement du système par des Diagrammes de
séquence système (DSS) où ce dernier est vu comme une boîte noire.
Le système est donc vu de l’extérieur par les acteurs sans préjuger de comment il sera réalisé.
La boîte noire décrite seulement en phase de conception.
Le fonctionnement d’un cas d’utilisation est notamment décrit sous la forme d’une séquence
de messages échangés entre les acteurs et le système Dans ce qui suit, nous présentons les DSS
des cas d’utilisation importants en tenant compte des règles suivantes :
—La notation avec la flèche pleine représente des messages synchrones, c’est-à-dire des appels
où l’émetteur se bloque en attente de la réponse. Dans le cas contraire, on parle de message
asynchrone, et on le représente par une flèche évidée.
—la flèche pointillée partant du système à l’étude représente un retour au sens UML. Cela
signifie que le message en question est le résultat direct du message précédent par une
relation forte de cause à effet. En général, on ne fait figurer que les retours intéressants et
non triviaux.
—la notation des bandes blanches le long des lignes verticales (appelées lignes de vie)
représente l’activation de l’élément en question. Le système informatique n’est actif que
lorsqu’il est sollicité par un acteur, alors que les acteurs sont a priori toujours actifs. Cette
notation est optionnelle, mais aide à mieux comprendre la flèche pointillée du message de
retour. Toutefois, dans un souci de simplicité, nous ne l’utiliserons pas pour les autres DSS.
—La flèche qui reboucle sur le système (enregistrement Commande) permet de représenter
graphiquement un comportement interne majeur sur lequel on veut mettre l’accent. Il ne
faut cependant pas en abuser car ce n’est pas l’objectif premier de ce type de diagramme dit
d’interaction.
— S’authentifier : Rappelons que pour passer à une authentification, le membre doit demander
la page de connexion. Ce dernier saisie ses paramètres d’identification et par la suite il sera
dirigé vers son espace approprié.
La pré-condition du cas d’utilisation peut également être matérialisée graphiquement grâce
au symbole d’état sur la ligne de vie.
Il est même possible de représenter également le cas d’erreur où le système ne trouve pas
des membres correspondant à la requête. Il suffit d’ajouter un cadre alt, (pour indiquer que
les messages de succès ou d’erreur). Le diagramme devient alors comme sur la figure 2.9.
FIGURE 2.9 – DSS de s’authentifier
—Créer un évènement
—Réserver un évènement
FIGURE 2.12 – DSS de réserver un évènement
Classement des cas d’utilisation
Après tout ce travail d’identification des cas d’utilisation, nous pouvons maintenant les
classifier en tenant compte des deux facteurs suivants :
La priorité fonctionnelle,
Le risque technique, estimé par le chef de projet.
Le tableau suivant illustre cette démarche.
TABLE 2.5 – Classement des cas d’utilisation
Au niveau des risques techniques, le chef de projet a classé au plus haut la création des
évènements, à cause des problèmes liés à leur disponibilité régulière dans la base de données. De
même, le processus d’authentification est noté avec un risque haut à cause des problèmes de
confidentialité de données.
Conclusion
Comment recueillir tous les besoins des acteurs du système d’information, et rien que leurs
besoins réels ? Comment se mettre d’accord sur la spécification des exigences ? Comment
aboutir à un modèle de cas d’utilisation ?, toutes ses questions ont été annoncé dans ce chapitre.
La question qui se pose maintenant Comment le système fonctionne t-il ?, objet du troisième
chapitre Conception détaillé
CHAPITRE
3
Conception détaillée
Introduction
Tous les besoins sont établis, nous consacrons ce chapitre à la conception objet en entamant
les diagrammes de séquence détaillés et les diagrammes de classe métier.
Ce chapitre sera clôturé par l’architecture logique déployée.
Par rapport aux diagrammes de séquences système de la section précédente, nous remplaçons
ici le système, vu comme une boîte noire, par un ensemble d’objets en collaboration (figure 3-1).
Ces objets sont des instances des trois types de classes d’analyse, à savoir des dialogues, des
contrôles et des entités.
Introduction
L’objectif de ce chapitre est de présenter le travail d’architecture et de mise en place de
différentes phases de notre projet.
Nous détaillons aussi l’environnement de travail matériel et logiciel utilisé pour la réalisation
des solutions proposés et nous présentons les configurations de notre solutions adaptée avec
quelques aperçus d’écran montrant les différentes étapes de mise en place de notre solution.
Environnement de travail
Dans cette partie, nous présentons brièvement les technologies et les logiciels employés
pendant notre projet.
Environnement matériel
Pour le développement de notre application, nous avons utilisé un ordinateur Dell avec les
caractéristiques suivantes :
Processeur : Intel(R) Core(TM) i5-8250U CPU @1.60GHz 1.80 GHz
RAM : 8Go
Environnement logiciel
Le code source de Visual Studio Code provient du projet logiciel libre et open
source VSCode de Microsoft publié sous la licence MIT permissive, mais les binaires
compilés sont des logiciels gratuits pour toute utilisation.
Dans le Stack Overflow 2019 Developer Survey, Visual Studio Code a été classé comme
l'outil d'environnement de développement le plus populaire, avec 50,7% des 87317
répondants déclarant l'utiliser.
React est une bibliothèque qui ne gère que l'interface de l'application, considéré comme la
vue dans le modèle MVC. Elle peut ainsi être utilisée avec une autre bibliothèque ou
un framework MVC comme AngularJS. La bibliothèque se démarque de ses concurrents
par sa flexibilité et ses performances, en travaillant avec un DOM virtuel et en ne mettant à
jour le rendu dans le navigateur qu'en cas de nécessité
Parmi les modules natifs de Node.js, on retrouve http qui permet le développement
de serveur HTTP. Il est donc possible de se passer de serveurs web tels
que Nginx ou Apache lors du déploiement de sites et d'applications web développés avec
Node.js.
Concrètement, Node.js est un environnement bas niveau permettant l’exécution
de JavaScript côté serveur.
Étapes de réalisation