Académique Documents
Professionnel Documents
Culture Documents
SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE UNIVERSITE DE
SOUSSE
Réalisé par :
Oumaima Zayene
Encadré(e)(s) par :
Mr. Heithem Saoudi
Mr. Aymen Ismail
Société d’accueil:
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE DE SOUSSE
Réalisé par :
Oumaima Zayene
Abstract
Within the context of obtaining the applied license in computer networks, this work
was developed within the virus santé communication company in collaboration with
the haute institute of informatics and communication technologies. This Project
consists of developing a system to track and monitor the positioning of a website by
reporting a list of certain keywords, informing the marketing agency in the event of a
drop in position and this application is able to manage a list of competitors against the
same list of keywords and provide daily and monthly reports in the form of graphics
and statistics.
Aucune dédicace ne peut exprimer l’amour, l’estime et le respect que j’ai toujours eu
pour vous. Vous m’avez donné la vie et vous étiez toujours là pour me motiver et
m’encourager à devenir ce que je suis aujourd’hui.
Veuillez trouver dans ce modeste travail la conclusion de vos efforts, mon amour et ma
gratitude. Puisse ce jour vous apporter toute la joie et la fierté que vous avez tant
attendues. Puisse dieu vous accorder la bonne santé et vous garde comme toujours à mes
côtés.
Je ne peux exprimer à travers ces lignes tous mes sentiments d’amour envers vous.
Que l’amour et la fraternité nous unissent à jamais.
Que ce travail soit pour vous un modeste témoignage de mon profond respect et
amour.
Qui m’ont soutenu durant toutes ces années d’étude et avec qui j’ai partagé des
moments inoubliables de ma vie.
Remerciements
Tout d’abord je tiens à remercier Dieu, le tout puissant et miséricordieux, qui m’a
En second lieu, Je tiens à remercier, très sincèrement, Mr. Haythem Saoudi mon
encadrant académique, j’ai eu l’honneur et la chance de bénéficier de ses
connaissances et compétences, de ses précieux conseils et de don suivi tout au long de
notre parcours académique. Son sens élevé du devoir, le fait d’être toujours montré à
l’écoute ainsi que sa rigueur scientifique impose l’estime et le respect. Je vous
remercie infiniment.
sein de sa société et qui m’a prêté de l’aide pour réaliser ce projet par ses idées, ses
conseils précieux, ses explications pertinentes et ses critiques constructives.
En dernier lieu, Je suis très reconnaissante de l’accueil qui m’a été réservé par toute
l’équipe de Virus Santé Communication Mr. MED Amine khelil, Mr. Wassim
Assidi, Mme. Asma Nouira et Mme. Nour Belkahla.
Je tiens, aussi à remercier les membres du jury. J’espère, que ce rapport pourra être à
Introduction générale……………….…………………………………………………….12
Introduction :………………...……………………………………………………..………………..15
1.3 Problématique………………………………………………………………….18
Conclusion :………………………….…………………………………………………….23
Introduction :………………………….……………………………………………..………………25
CHAPITRE 3: CONCEPTION……………………………………………………………….38
Introduction :………………………………………………………………………………………..39
Conclusion…………………………………………………...……………………………………….52
CHAPITRE 4 : REALISATION………………………………………………………………53
Introduction………………………………………………………………………………………….54
Conclusion………………………………………………………...………………………………….71
Conclusion Générale……………………………………………………………………...72
Webographies……………………………………………………………………………..73
ANNEXES………………………………………...…………………..…………………….75
Liste des figures
MVC : Modèle-Vue-Contrôleur
PMA: PhpMyAdmin
Introduction générale
En quelques dizaines d’années, le web est passé du stade de réseau marginal utilisé par
quelques chercheurs à celui de moyen de communication incontournable. Son
audience est désormais supérieure à celle de la plupart des médias classiques.
Apporter de la plus-value sur Internet via du contenu de qualité est donc primordial
pour vous faire connaître de vos prospects et faire grandir votre image de marque.
Le référencement naturel (SEO) est donc une étape importante à considérer lorsque
vous souhaitez promouvoir votre activité sur Internet.
Le référencement ou SEO, est une stratégie qui vise à bien classer un site dans les
résultats des moteurs de recherche dans le but d’améliorer votre référencement, il est
essentiel de suivre la position de votre site web sur les pages de résultats des moteurs
de recherche (exemple : Google).
En effet, le SEO est une course permanente aux meilleures positions dans les résultats
de recherche. Ces positions, n’étant pas immuables, vous devrez assurer un suivi de
positionnement Google pour voir si des optimisations sont nécessaires.
Mémoire SFE Licence Appliquée en Réseaux informatique 13
C’est dans ce cadre que se situe mon projet de fin d’étude intitulé « Conception et
réalisation d'un système de suivi et de surveillance du positionnement d’un site Web
(SEO) par rapport aux mots-clés » dont l’objectif est de concevoir une plateforme
appelé « SCOOPrank ».
Chapitre 1 :
Étude
préalable
Mémoire SFE Licence Appliquée en Réseaux informatique 15
Introduction :
Dans ce premier chapitre, le projet sera d’abord mis dans son contexte général en
commençant par la présentation de la société accueillante « Virus Santé
Communication ». Ensuite, on présentera la description du sujet à traiter ainsi que
l’explication de la problématique qui a donné lieu au sujet. Puis des solutions
existantes dans le marché international seront critiquées en proposant la solution
envisagée. Enfin la méthodologie employée pour satisfaire les besoins des utilisateurs
sera mentionnée.
Virus santé communication est une société canadienne fondé en juin 2014
Le gérant : Monsieur Jeff Porteau, qui assure la gestion de toute l’agence. Il est,
aussi, le stratège marketing : Il donne les grandes lignes directives au reste de l’équipe
et assure leur mise en œuvre. Il est de même le premier responsable de la gestion des
relations clients.
L’analyste : Monsieur Aymen Ismail, qui assure le suivi des performances des sites
web des clients. Il est responsable de la rédaction des rapports ainsi que de la
présentation des résultats aux clients. Il est tout de même en tête de l’équipe
tunisienne.
Tel : -514-466-4747
Email : virus-info@viruscomm.ca
Digital Marketing
Stratégie de marque
1.3 Problématique
Garder le site d’un client parmi les premières positions naturelles des moteurs de
recherche ce n’est pas évident, car les normes définissent des façons de faire pour
maximiser les performances, mais les analystes SEO sont souvent laissés à eux-mêmes
pour améliorer la visibilité d’un site.
- Perte du temps pour tester les positions des sites web manuellement
- lors d'une baisse de position il n'y a pas un outil qui donne l'information d'une
maniéré automatique.
Cette étude est une phase primordiale dans la réalisation d’un projet informatique :
Il permet de suivre les positions des sites sur des requêtes déterminées (vos mots-
clés).Il permet, aussi, le suivi des sites concurrents en ajoutant leurs sites et les
requêtes stratégiques pour eux.
2. Critique de l’existant :
L’étude de l’existant a permis de consulter l’application MONITORANK afin de
pouvoir dégager ses manques auxquels il faut remédier dans la solution qui sera
proposée. Des inconvénients et des défauts majeurs ont été remarqués tel que :
Authentification
Tester les positions des pages des sites web chaque heure
C’est pour cela qu’on doit opter pour les solutions les plus optimales pour avoir recours
à une méthodologie efficace qui permet de gérer un cycle de vie d’un projet.
1. Méthode Spirale :
Après [1] avoir présenté pour la première fois en 1986 sa méthode pour développer des
applications complexes, l’ingénieur logiciel américain Barry W. Boehm fit paraître son
modèle dans la publication A Spiral Model of Software Development and
Enhancement en 1988 et dans un cadre également plus large. Dans cette publication, il
décrit le modèle en spirale comme une alternative possible au modèle en cascade établi
jusqu’alors et qui servait en même temps de base expérimentale. Le modèle en spirale
ne part pas du principe que les tâches du développement logiciel doivent être
organisées de manière linéaire, mais de manière itérative. Les phases ne se déroulent
pas de manière unique, étape par étape, mais en plusieurs fois, en suivant une spirale.
1.7 planification :
Formation
Laravel/Vue js
Etude préalable
Modélisation
conceptuelle
Réalisation
Validation &
test
Rédaction de
rapport
Conclusion :
Dans ce premier chapitre, la société "Virus Santé Communication" a été d’abord
présentée en mettant en relief ses domaines d’activités. Ensuite, nous avons essayé
d’expliquer le contexte du projet et de dévoiler l’objectif du travail demandé. Puis, une
étude critique des applications commerciales existantes a été faite et la perception
d’alternatives qui vont combler les insuffisances a été proposée. Enfin, la
méthodologie employée dans la réalisation du projet a été présentée.
Dans le chapitre suivant, nous allons nous intéresser aux analyse et spécifications des
besoins du projet afin de bien organiser le travail avant la mise en place de notre
application.
Mémoire SFE Licence Appliquée en Réseaux informatique 24
Chapitre 2 :
Analyse et
spécification des
besoins
Mémoire SFE Licence Appliquée en Réseaux informatique 25
Introduction :
Dans ce chapitre nous allons étudier les différents besoins fonctionnels et non
fonctionnels dans le but d’identifier les différents acteurs et présenter le diagramme de
cas d’utilisation de notre système.
Dans cette section, nous nous intéressons à présenter une solution qui permet
d’atteindre l’objectif de notre système à travers une spécification claire des besoins à
satisfaire. Dans un premiers temps, nous présentons les besoins fonctionnels, puis nous
identifions les besoins non fonctionnels.
- Ajouter un utilisateur
- Supprimer un utilisateur
générer une liste des sites concurrents par rapport à la même liste de mots-clés.
Suivre les positions des pages web selon une liste des mots clés sur les pages
de résultat de Google.
Gérer une interface pour les positions des pages web sur chaque mot clé
(l’historique des positions sous forme des chartes graphique et des tableaux).
Mémoire SFE Licence Appliquée en Réseaux informatique 27
Figure 7: Diagramme de cas d’utilisation raffiné « Gérer une liste des sites web »
Description textuelle de diagramme de cas d’utilisation « gérer une liste des sites
web»
Cas de modification :
L’acteur peut effectuer la consultation des sites web
avec possibilité de modification.
1. Une liste de tous les sites web s’affiche
Cas de suppression :
Pour la suppression d’un site :
1. La liste de tous les sites web s’affiche.
Tableau 4: description textuelle de cas d’utilisation «Gérer la liste des sites web»
Mémoire SFE Licence Appliquée en Réseaux informatique 34
Description textuelle de diagramme de cas d’utilisation « gérer une liste des pages
web»
Conclusion
Dans ce chapitre nous avons analysé les besoins fonctionnels et non fonctionnels
pour les satisfaire lors du développement de notre application en indiquant les rôles
de chaque acteur ainsi la présentation des diagrammes des cas d’utilisation qui
indiquent les différentes interactions entre les utilisateurs et le système résultant.
Le chapitre suivant sera consacré pour la conception de notre solution afin de trouver
les solutions adéquates pour le travail demandé.
Mémoire SFE Licence Appliquée en Réseaux informatique 38
Chapitre 3 :
Conception
Mémoire SFE Licence Appliquée en Réseaux informatique 39
Introduction :
La conception est la phase la plus importante dans le cycle de développement d’un
projet. Elle permet de mettre en place un modèle sur lequel il faut s’appuyer pour
l’implémentation du système.
Elle consiste à identifier les objets du système. Ainsi nous allons élaborer le
diagramme de classe du système pour décrire sa vue statique. Puis, nous décrirons la
vue dynamique par les diagrammes de déploiement des séquences.
1. La Méthode Modèle-Vue-Contrôleur(MVC)
Contient les données manipulées par le programme. Il assure la gestion de ces données
et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui
la contient.
Le modèle offre des méthodes pour mettre à jour ces données (insertion suppression,
changement de valeur). Il offre aussi des méthodes pour récupérer ses données. Dans
le cas de données importantes, le modèle peut autoriser plusieurs vues partielles des
données. Si par exemple le programme manipule une base de données pour les emplois
du temps, le modèle peut avoir des méthodes pour avoir, tous les cours d'une salle,
tous les cours d'une personne ou tous les cours d'une groupe de Td.
Mémoire SFE Licence Appliquée en Réseaux informatique 40
La vue fait l'interface avec l'utilisateur. Sa première tâche est d'afficher les données
qu'elle a récupérées auprès du modèle. Sa seconde tâche est de recevoir tous les actions
de l'utilisateur (clic de souris, sélection d'une entrées, boutons, …). Ses différents
événements sont envoyés au contrôleur.
La vue peut aussi donner plusieurs vues, partielles ou non, des mêmes données. Par
exemple, l'application de conversion de bases a un entier comme unique donnée. Ce
même entier est affiché de multiples façons (en texte dans différentes bases, bit par bit
avec des boutons à cocher, avec des curseurs). La vue peut aussi offrir la possibilité à
l'utilisateur de changer de vue.
Dans le cas d'une base de données des emplois du temps. Une action de l'utilisateur
peut être l'entrée (saisie) d'un nouveau cours. Le contrôleur ajoute ce cours au modèle
et demande sa prise en compte par la vue. Une action de l'utilisateur peut aussi être de
sélectionner une nouvelle personne pour visualiser tous ses cours. Ceci me modifie pas
la base des cours mais nécessite simplement que la vue s'adapte et offre à l'utilisateur
une vision des cours de cette personne.
Mémoire SFE Licence Appliquée en Réseaux informatique 41
Les diagrammes de séquences sont la présentation graphique des interactions entre les
acteurs et le système selon un ordre chronologique dans la formulation UML. Dans la
suite, nous présentons quelques diagrammes de séquence de notre système.
Pour créer un compte, la console vérifie d'abord si les données saisies par l'utilisateur
n'ont pas été enregistrées auparavant afin d'éviter la duplication. Ensuite, une fois la
vérification est terminée avec succès, les informations peuvent être enregistrées dans le
tableau de l'utilisateur.
Pour ajouter un site web l’acteur tout d’abord s’authentifie par le saisi de login (son
email) et le mot de passe.
L’acteur clique sur le bouton ajouter un site web, une interface d’ajout s’affiche.
L’acteur saisit les informations d’un site web (nom du site, url du site),Puis clique
sur le bouton enregistrer pour la validation.
Si le site web existe déjà un message d’erreur s’affiche, si non le site sera
enregistré dans la base de données et un message de succès est afficher.
Mémoire SFE Licence Appliquée en Réseaux informatique 45
Pour ajouter une page web à un site tout d’abord l’acteur s’authentifier par le saisi de
login (son email) et mot de passe.
L’acteur consulte la liste des sites web, choisi le site ou il veut ajouter la page
web.
L’acteur clique sur le bouton voir pour ouvrir la liste des pages web de ce site,
puis clique sur le bouton ajouter une page web.
L’acteur saisi les informations d’une page web (nom, url) puis clique sur le
bouton enregistrer pour valider les informations.
Les informations saisies sont envoyées à la base de données pour vérifier si les
champs est bien rempli ou non.
En se basant sur ce qui précède, une solution conforme aux besoins exprimés et aux
objectifs déjà fixés se résume dans un diagramme composé des classes suivantes :
Mémoire SFE Licence Appliquée en Réseaux informatique 48
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Propriété
Type
Attribut Désignation
Conclusion
Dans ce chapitre conception, nous avons présenté la vue statique et dynamique de
l’application à développer à travers des diagrammes UML. Nous avons, ainsi, réussi à
concevoir notre modèle relationnel qui est constitué des différentes tables formant
notre base des données.
Mémoire SFE Licence Appliquée en Réseaux informatique 53
Chapitre 4 :
Réalisation
Mémoire SFE Licence Appliquée en Réseaux informatique 54
Introduction
Une des étapes de la vie d’un projet, aussi importante que la conception, est
l’implémentation. Cette étape constitue la phase d’achèvement et d’aboutissement du
projet. Pour remplir cette tâche avec succès il faut savoir utiliser les outils adéquats et
nécessaires. Ce choix d’outils peut influencer sur la qualité du produit obtenu et donc
nécessite une attention particulière et doit se baser sur les besoins du projet et le
résultat escompté.
Dans cette partie, nous allons étudier le choix des outils matériels et logiciels
nécessaires pour le développement de notre application web.
1. Environnement matériel :
Pour le développement de notre application nous avons utilisons un PC portable «
DELL» dont la configuration est la suivante :
2. Environnement logiciel :
Tout au long du projet, nous avons utilisé certains outils logiciels, bien connus, afin de
pouvoir préparer le travail et réussir sa mise en œuvre, le test et le bon déroulement de
certains besoins de développement ou de conception.
Mémoire SFE Licence Appliquée en Réseaux informatique 55
Postman :
C’est un logiciel qui se focalise sur les tests des API. Il est devenu très populaire
pour tester les Microservices, notamment grâce à sa simplicité et ses fonctionnalités
très spécialisées.[6]
Draw.io :
Est un service pour dessiner des diagrammes en ligne. L’outil permet de créer
tout type de diagramme assez facilement et gratuitement.
PHP:
Laravel :
L’une des caractéristiques les plus importantes du Framework Laravel est qu’il est
livré avec ORM (Object Relation Mapping) intégré appelé Eloquent ORM.
L’ORM est un logiciel permettant la conversion des données relationnelles d’une base
de données en objets afin de pouvoir les manipuler dans notre application en POO.
GoLang :
Go a été créé par Google, il y a une dizaine d’années, alors que les délais de
compilation du C++ étaient extrêmement longs.
Ils ont décidé de trouver une solution qui était un langage de programmation
entièrement nouveau, étant un mix du C++, notamment les performances et les
Mémoire SFE Licence Appliquée en Réseaux informatique 57
PhpMyAdmin :
C’est une application web qui permet de gérer un serveur de bases de données
MySQL. Dans un environnement multi-utilisateurs, cette interface écrite en PHP
permet également de donner à un utilisateur un accès à ses propres bases de
données.[11]
MySQL :
Database Service est un service de base de données entièrement géré pour déployer des
applications natives du cloud en utilisant la base de données open source la plus
populaire au monde. Ce service est développé, géré et supporté à 100% par l'équipe de
MySQL. [12]
1. Composition de page :
L’application doit être simple d’utilisation et de navigation, que ce soit dans ses
fonctionnalités ou que ce soit dans son contenu. Pour faciliter la navigation, il est
obligatoire que l’ensemble des pages du l’application web possèdent la même
structure et organisation.
Pour cela, nous réalisons un modèle pour la structure des pages, La totalité visible par
l’utilisateur posséderont cette même structure :
- Un en-tête de page
L’intérêt de procéder ainsi est que seul le contenu de l'application varie d’une page à
une autre. C’est pourquoi de page en page, on inclut toujours le même en-tête, le
même menu de navigation et le même pied de page. Cela évite de devoir implémenter
à nouveau chaque partie du l'application, ce qui entraine un gain de temps considérable
Mémoire SFE Licence Appliquée en Réseaux informatique 60
1. L’interface d’authentification :
L’authentification est une étape primordiale par laquelle chaque utilisateur de notre
site web doit y passer pour accéder à l’application. Cette phase assure, en effet, la
sécurité de l’application en demandant l’accès à l’application.
Liste des utilisateurs : cette figure présente la liste des utilisateurs de l’application
On cliquant sur le bouton ajouter une page cette interface s’affiche pour ajouter
une nouvelle page web au site.
Cette figure présente l’interface d’une page web avec ses détails
La figure 35 présente l’historique des positions pour une page web avec la liste des
concurrents sur un seul mot-clé
Figure 35: interface de l’historique des positions d’une page web sur un mot clé
Mémoire SFE Licence Appliquée en Réseaux informatique 69
Figure 36: interface d’affectation un mot clé à une page de site web
Consultez un mot-clé :
Cette figure présente l’interface d’un mot-clé ou on trouve les pages web
affecté à ce page et la dernière position pour chaque une. On peut aussi
affecter une autre page web a ce mot-clé on cliquant sur le bouton ajouter
une page
D’après cette interface on peut voir les positions des différents pages sur ces mots-clés
et leurs positions actuelles.
Conclusion
Dans ce chapitre nous avons présenté l’environnement de développement (matériel et
logiciel) ainsi que les Framework utilisés pour le développement de notre application.
Nous avons ensuite décrit le travail réalisé, et enfin, nous avons présenté quelques
interfaces de l’application.
Mémoire SFE Licence Appliquée en Réseaux informatique 72
Conclusion Générale
Ce stage de fin d’étude était une bonne occasion pour améliorer nos connaissances
théoriques et pratiques. En effet nous avons eu l’opportunité de participer à la fois à la
conception et à la réalisation d’une application web au profit de la société d’accueil
« Virus Santé Communication ». L’application réalisée sert à la mise en place d’une
plateforme de suivi et de surveillance des positionnements des sites web des clients
destinés à l’équipe de référencement web (SEO).
En général, nous étions très intéressés par ce stage. Nous avons pu découvrir les
différents langages de programmation PHP, Laravel, Golang, Vuejs , etc. et avoir un
aperçu de leur fonctionnement. Cela nous a également permis de connaître les
différents services et d'avoir une approche réelle de mode de travail.
Nous avons pu faire le rapprochement entre ce que nous avons appris en cours et ce
qui se passe vraiment dans l’entreprise. Ce projet ne doit pas être considéré comme un
produit finit par l’application pour la société mais plutôt comme un premier prototype
qui sera la base des éventuelles extensions.
Mémoire SFE Licence Appliquée en Réseaux informatique 73
Webographies
6 Auteur :
Soufiane Amar Dernière fois visité : 17-06-2021
https://openclassrooms.com/fr/courses/4668056-construisez-des-
microservices/5123020-testez-votre-api-grace-a-postman
Annexes
Mémoire SFE Licence Appliquée en Réseaux informatique 76
Mise en production
1. Git :
Git [6] est de loin le système de contrôle de version le plus largement utilisée
aujourd’hui. C’est un projet open source avancé, qui est activement maintenu.
Il a été développé en 2005 par Linus Torvalds, le créateur bien connu du noyau du
système d’exploitation linux. De plus en plus de projets de développement reposent
sur Git pour le contrôle de version, y compris des projets commerciaux et open
source. Les développeurs qui utilisent Git sont bien représentés dans le pool de talents
disponible, et la solution fonctionne bien sur une vaste gamme de systèmes
d’exploitation et d’environnements de développement intégrés (IDE).
En plus d’être décentralisé, Git a été conçu pour répondre à trois objectifs :
performances, sécurité et flexibilité.[13
D’une autre coté, Cette solution vous permet d'éviter de travailler sur trop d'éléments
de l'application en même temps, qui peuvent entrer en conflit les uns avec les autres.
3. Hébergement :
C’est un modèle répandu d’hébergement qui fait partie de la catégorie de service IaaS
(Infrastructure as a Service) délivré par les nombreux fournisseurs d’accès Internet. On
Mémoire SFE Licence Appliquée en Réseaux informatique 78
peut définir un VPS comme une machine virtuelle qui emploie les ressources d’un
serveur physique et offre aux utilisateurs les mêmes fonctionnalités qu’un serveur
dédié classique. [14]
− La personnalisation du service
Pour faciliter la gestion des différents aspects de notre compte d'hébergement, tels que
les fichiers, les applications, les comptes clients ainsi que les comptes de messagerie
sur le serveur, nous avons utilisé Plesk.
Plesk :
Bien que nous appelions Apache un serveur web, ce n’est pas un serveur physique
mais plutôt un logiciel qui s’exécute sur un serveur. Son travail consiste à établir une
connexion entre un serveur et les navigateurs des visiteurs du site web (Firefox,
Google Chrome, Safari, etc.) tout en délivrant des fichiers entre eux (structure client-
serveur). Apache est un logiciel multiplateforme, il fonctionne donc à la fois sur les
serveurs Unix et Windows.