Memoire

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 38

DEDICACE

Ce mémoire de fin d’étude et le module qui en découle sont entièrement dédiés :

 À Allah qui nous a donné la grâce et qui a veillé sur nous durant cette période.
 Aussi à tous nos proches afin qu’ils sachent que les efforts, les conseils et la confiance
qu’ils m’ont accordé nous ont pas été vains.
 Ensuite je dédie ce module à toutes les entreprises et universités algériennes pour qui
ce module serait un puissant outil dans la gestion de leurs sites web.
 Cependant toute personne assoiffée de connaissance peut toutefois aussi s’accaparer
ce document notamment dans le but de déceler ses insuffisances et éventuellement
proposer des améliorations.
REMERCIEMENTS

Comme toute œuvre est le fruit d’un travail très souvent fait en équipe, cette étude n’en est
pas une exception. Elle a été possible grâce à des personnes de bonnes volontés qui ont bien
voulu m’apporter leurs soutiens.

Mes remerciements les plus sincères vont donc à l’endroit de toutes ces personnes qui de près
ou de loin nous ont apporté un soutien ou une aide particulière tout au long de ce stage
d’initiation et dans l’élaboration du présent mémoire.

Tout particulièrement je tiens à remercier :

 La direction de notre université (UNIVERSITE 8 MAI 1945_GUELMA) et le corps


professoral pour la qualité de l’enseignement dont nous avons bénéficié.
 Monsieur DOGHMANE HAKIM
 Mes chers parents pour tout le soutien moral qu’ils ont apporte et que Dieu me
permette de vous rendre fier de ma réussite que Dieu vous protège pour moi
 Mes sœur Asma Manel Hajer Roumaissa et Djihane et la chose la plus précieuse que
j’ai mon seul frère Amar et le premier petit enfant de notre famille le fils de ma sœur
chams el dine
 Mes chers amis

Une fois de plus je tiens ma gratitude à mon professeurt DOGHMANE HAKIM à tous le
personnel de mon université qui m’ont apporté les informations nécessaires pour le bon
déroulement de ce travail avec ses conseils, ses remarques constitutives, et surtout pour sa
compréhension et son encouragement.
INTRODUCTION

La formation de niveau MASTER requiert de l’étudiant, en fin de cycle, la rédaction


d’un mémoire résultant d’un projet au cours du quel il devra participer à la résolution des
problèmes en découle.

C’est dans ce cadre que nous avons été soumis à un projet d’une durée exacte d’un (4)
moi, au sein de l’université 8 MAI 1945_GUELMA.

Ce présent mémoire rend donc compte du travail que nous avons eu à accomplir pour mener à
bien ce projet.

L’informatique, science du traitement automatique et rationnel de l’information se vulgarise


de plus en plus pour devenir une réalité quotidienne.

L’informatique devient par excellence l’instrument de travail tant convoité par tous, jeunes et
vieux, chefs d’entreprise et opérateur économique car il présente plusieurs avantages, entre
autre, la fiabilité et la rapidité dans le traitement de l’information. Face à ce tableau réaliste,
l’informatisation de tous les secteurs d’activités devient plus que nécessaire.

Le secteur qui fera l’objet de notre étude est le secteur informatique. Il nous a été
demandé de mettre en place une plateforme de création de site web. C’est ce qui justifie le
thème : La conception d’une plateforme de création de site web.

La mise en place du système relatif au thème ci-dessus se fera en plusieurs étapes :

 L’étude préalable, présentant le projet et le cahier de charge ;


 L’étude détaillé qui part de la situation actuelle à l’aboutissement d’un système
d’information ;
 La phase de réalisation de notre module qui débute par l’étude technique de l’outil de
conception et par la suite, la conception, l’installation et l’utilisation de notre module.
PREMIERE PARTIE :
ETUDE PREALABLE

I. INTRODUCTION

Ce chapitre est consacré à : la précision du cadre du projet, la problématique et à


l’énumération des étapes de travail à réaliser.

Cette nécessité vise un double objectif :

Au niveau de l’étudiant

Mettre en pratique les connaissances théoriques acquises par l’étudiant au cours des années de
formation.

Au niveau de l’université

Le choix de ce thème est lié au fait que l’université, dans le souci d’avoir sa propre plateforme
de conception de site web, elle vise une meilleur utilisation du module afin d’assurer la
conception et l’hébergement des sites web des étudiants avenirs.

II. PRESENTATION GENERALE DU THEME

Dans le but de faciliter la tâche aux étudiants en programmation, il nous a été soumis la
création d’une plateforme de création de site web leurs permettant de rapidement bien
concevoir et héberger leurs site web.

1. Site web

Un site web est un ensemble de pages web liées entre elles et accessibles via Internet. Ces
pages peuvent contenir différents types de contenu tel que du texte, des images, des vidéos,
des liens hypertextes, des formulaires interactifs, etc. Les sites web sont utilisés pour diverses
raison, notamment pour partager des informations, promouvoir des produits ou services,
fournir des divertissements, offrir des services en ligne, et bien plus encore. Les sites web
peuvent être statiques (contenant un contenu fixe qui ne change pas souvent) ou dynamiques
(contenant du contenu interactif ou mis à jour régulièrement). Ils peuvent également être
conçus pour être consulté sur différents appareils tels que des ordinateurs, des smartphones ou
des tablettes, ce qu’on appelle la conception responsive.

1.1. Eléments essentiels d’un site web


Voici quelques éléments essentiels d’un site web :

 Le nom de domaine : c’est l’adresse web qui permet aux utilisateurs d’accéder à
votre site (ex : www.buildja.com)
 Hébergement : C’est l’espace de stockage sur un serveur où sont stockés les fichiers
de votre site web et qui permettent aux visiteurs d’y accéder.
 Page web : Ce sont des documents individuels qui composent votre site. Chaque page
peut contenir différents types de contenu et être liée à d’autres pages du site.
 Navigation : C’est le système qui permet aux utilisateurs de se déplacer entre les
différentes pages de votre site, généralement via les menus, des liens hypertextes ou
boutons.
 Contenu : C’est l’information que vous partagez sur votre site, qu’il s’agisse de texte,
d’images, de vidéos, etc.
 Design : C’est l’apparence visuelle de votre site, y compris la mise en pages, les
couleurs, les polices de texte, les images, etc.

1.2. Objectif

Les objectifs d’un site web peuvent varier en fonction des besoins et des objectifs spécifiques
de l’entreprise ou de l’individu qui le crée. Voici quelques un :

 La présence en ligne,
 Marketing et promotion,
 Vente en ligne (e-commerce),
 Génération des prospects,
 Fourniture d’information,
 …
2. Plateforme
II.1 Définition

Une plateforme en ligne est un système informatique conçu pour faciliter et soutenir un large
éventuel d’activités et d’interactions entre plusieurs utilisateurs. Les plateformes peuvent être
utilisées dans divers domaines, y compris le commerce électronique, les médias sociaux,
l’éducation en ligne, les services financiers, la santé et bien plus encore.

II.2 Caractéristiques et objectifs de plateforme


Voici quelques caractéristiques et objectifs des plateformes en ligne :

 Interaction multi-utilisateurs : les plateformes permettent à plusieurs utilisateurs de


se connecter, de partager des informations, de collaborer et d’interagir les une avec les
autres.
 Fonctionnalités intégrées : elles offrent souvent une gamme de fonctionnalités
intégrées telles que la messagerie, les forums de discussion, les blogs, les outils de
partage de fichiers, les espaces de travail collaboratifs, etc.
 Personnalisation : les utilisateurs peuvent souvent personnaliser leur expérience sur
la plateforme en fonction de leurs préférences individuelles, comme la
personnalisation des profils, des paramètres de confidentialité, etc.
 Gestion de contenus : les plateformes permettent généralement aux utilisateurs de
créer, de publier, de partager et de gérer différents types de contenu, comme les
articles, des vidéos, des photos, des documents, etc.
 …

3. Plateforme de création de site web


3.1. Définition

Une plateforme de création de site web est un service en ligne qui permet à des individus ou à
des entreprises de créer et de personnaliser leur propre site web sans avoir besoin de
compétences techniques avancées en programmation ou en conception web. Ces plateformes
offrent généralement une variété d’outils et de fonctionnalités conviviaux, souvent basés sur
des interfaces de type glissé-déposer, pour aider les utilisateurs à construire et à personnaliser
leurs site de manière intuitive.

3.2. Historique des sites web

L’histoire de la création de site web est étroitement liée à l’évolution d’internet et des
technologies associées, et elle a connu une croissance exponentielle depuis ses débuts
modestes dans les années 1990 jusqu’à devenir l’une des formes de communication et de
partage d’informations les plus répandues dans le monde. Voici détaillé ci-dessous
l’historique de la création de site web :
 Années 1960 – 1970 : les premières incarnations d’internet, connues sous le nom
d’ARPANET, étaient utilisées principalement à des fins de recherche et
communication entre les institutions académiques et militaires aux Etats Unis.
 1989 : Tim Berners-Lee, un scientifique britannique travaillant au CERN, a inventé le
World Wide Web (WWW) et a écrit le premier navigateur web, le premier serveur
web et les premières pages web. Il a également développé les premières spécifications
pour l’hypertexte et les URL.
 Années 1990 : la popularité du World Wide Web a explosé dans les années 1990,
avec la création de nombreux sites web basiques. Des langages de balisages tels que
HTML (HyperText MarkupLanguage) ont été développé pour permettre aux
utilisateurs de créer et de formater du contenu sur le web.
 1991 : Le premier site web public a été lancé par Tim Berners-Lee au CERN. Il
fournissait des informations sur le World Wide Web lui-même.
 1993 : Le premier navigateur web grand public, Mosaic, a été développé par Marc
Andreessen et son équipe à l’Université de l’illinois. Mosaic a joué un rôle crucial
dans la popularisation du Web en offrant une interface utilisateur conviviale.
 Années 1990 – 2000 : la création de site web a continué de croitre rapidement, avec
l’introduction de nouveaux langages de programmation côté serveur tels que PHP,
Perl et ASP (Active Server Pages). Les premiers systèmes de gestion de contenu
(CMS) ont également fait leur apparition, permettant aux utilisateurs de créer et de
gerer des sites web dynamiques plus facilement.
 Années 2000 – 2010 : la création de site web est devenue de plus en plus accessible
avec l’introduction de plate-forme de création de sites web telles que WordPress,
Joomla et Drupal, qui permettent aux utilisateurs de créer des sites web sans avoir des
besoins de compétences en programmation. L’émergence des réseaux sociaux tels que
Facebook, Twitter et LinkedIn a également influencé la façon dont les sites web sont
conçus et utilisés.
 Années 2010 et au-delà : la tendance vers la création de sites web réactifs et
adaptatifs s’est accélérée avec la proliferation des appareils mobiles et des tablettes.
Les technologies telles que HTML5, CSS3 et JavaScript ont été largement adoptées
pour permettre la création de sites web interactifs et visuellement attrayants.

3.3 Evolution
L’évolution des plateformes de création de site a été marquée par plusieurs tendances et
innovations au fil des années. Voici quelques-unes des principales évolutions :

 Simplicité d’utilisation,
 Modèles prédéfinis,
 Personnalisations avancée,
 Réactivité et adaptabilité,
 Intégration de fonctionnalités avancées,
 Optimisation pour les moteurs de recherche (SEO)
 Intégration avec des services tiers
4. Principales fonctionnalités de plateformes existantes

Les fonctionnalité des plateformes de création de site web varient en fonction des besoins
spécifiques des utilisateurs et des types de site web qu’ils souhaitent créer . Cependant, voici
quelques fonctionnalités courantes que l’on retrouve dans ces plateformes :

- Modèles prédéfinis,
- Editeur visuel,
- Réactivité et adaptabilité,
- Bibliothèque de médias,
- Intégration de fonctionnalités,
- Commerce électronique
- Optimisation pour les moteurs de recherche (SEO),
- Analyse de suivi,
- Sécurité,
- Support technique.

5. Analyse et critiques des plateformes existantes

Les avantages et inconvénients des plateformes de création de site web varient en fonction des
besoins et des compétences des utilisateurs. Il est important de choisir une plateforme qui
répond le mieux à vos objectifs, a votre niveau d’expérience et à votre budget. Ici nous allons
énumérer ceux de WordPress et Wix.
Site Avantages Inconvénients
Wordpress Plateforme open-source extrêmement La personnalisation peut être
populaire offrant une grande intimidante pour les
flexibilité et des milliers de thèmes et
débutants sans expérience en
de plugins pour personnaliser les
sites web. codage. La sécurité et les
Il convient à une variété performances peuvent être des
d’utilisateurs, des débutants aux
préoccupations, en particulier
développeurs expérimentés.
avec un mauvais entretien ou
l’utilisation de plugin non
sécurisés.
Wix Interface de glisser-déposer intuitive, Personnalisation peut être
une variété de modèles de conception limitée par rapport a d’autre
et une gamme de fonctionnalités, y
plateforme et flexibilité de
compris le commerce électronique.
Facile a utiliser pour les débutants et conception peut être restreinte.
propose des plan d’hébergement. Possibilité d’augmentation
rapide du coûtsavec l’ajout de
fonctionnalité supplémentaire
DEUXIEME PARTIE :
PHASE DE
REALISATION
THEORIQUE

CHAPITRE I : FONDEMENTS THEORIQUES

I. PRINCIPES DE CONCEPTION WEB

Les principes de conception web font référence aux principes et aux bonnes pratiques utilisés
pour concevoir des sites web efficaces, esthétiques et conviviaux. Voici quelques principes
fondamentaux de conception web :

 Utilisabilité : Assurer de la facilité d’utilisation des utilisateurs


 Accessibilités : Accessible à tout type d’utilisateurs (normaux, handicapés)
 Hiérarchie visuelle : Guider des utilisateurs
 Simplicité : Avoir design simple et non surchargé
 Responsive design : Assurer l’optimisation pour tous les appareils et tailles d’écrans.
 Performance : Optimiser la vitesse du chargement du site.
 Cohérence : Maintenir la cohérence visuelle
 SEO-friendly : Optimiser pour les moteurs de récherche.

II. TECHNOLOGIE ET LANGAGES UTILISES

Il est question pour nous dans cette rubrique de présenter nos différents outils matériels et
surtout les outils logiciels manipulés pour la réalisation de l’application.

1. Environnement matériels

L’implémentation de ce module est réalisée sur un PC DELL de configuration satisfaisante :


- Processeur de la famille dual core de fréquence d’horloge égale à 2.4 GHz,
- Mémoire RAM de capacité 4 Go,
- Disque dur de capacité 500 Go.

2. Environnement logiciels

Pour la réalisation de ces tâches, j’ai utilisé plusieurs outils à savoir :

2.1. Système d’exploitation


Nous avons choisi Windows10 pour stabilité et parce qu’elle propose de nombreuses
fonctionnalités nouvelles et importantes qui permettent de rationaliser la base de données.
Elle offre également à l'utilisateur final un confort amélioré.

2.2. Outil de modélisation MCD

Notre modélisation s’est effectuée sous PowerAMC dans sa version 15.1

PowerAMC est un logiciel de conception, qui permet de modéliser les traitements


informatiques et leurs bases de donnes. Créé par SDP sous le nom d’AMC Designor, racheté
par Powersoft, ce logiciel est produit par Sybase depuis son rachat en 1995. PowerAMC
permet de réaliser la plupart de type de modèles informatiques possibles.

2.3. Outil de modélisation de l’interface utilisateur (UX – Mack-


up)

PENCIL pour la modélisation de l’interface utilisateur comme nom technique avec la


présentation visuelle des données

Sublime Text

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

Fonctionnalité

Sublime Text intègre la plupart des fonctionnalités de base d'un éditeur de texte, dont
la coloration syntaxique personnalisable, l’auto complétion, un système de plugins…
L'éditeur propose cependant des fonctions plus avancées, dont :

 Minimap : prévisualisation de tout le fichier dans une barre latérale ;


 Sélection et édition dans plusieurs sections de code en parallèle ;
 Marque-page au sein même des fichiers ;
 Sauvegarde automatique ;
 Recherche et remplacement par expressions régulières ;
 Support des macros et de plugins en Python ;
 Personnalisation des raccourcis clavier.
Le logiciel propose également d'importer des packages (pour ajouter des langages ou bien des
fonctionnalités de Sublime-Text). La version 3 du logiciel propose directement d'installer
PackageControl pour ajouter certains thèmes etc.

2.4. Système de gestion de version GIT

Git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre créé par Linus
Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale
GNU version 2. Git ne repose pas sur un serveur centralisé, mais il utilise un système de
connexion pair à pair. Le code informatique développé est stocké non seulement sur
l’ordinateur de chaque contributeur du projet, mais il peut également l'être sur un serveur
dédié. C'est un outil de bas niveau, qui se veut simple et performant, dont la principale tâche
est de gérer l'évolution du contenu d'une arborescence. Git indexe les fichiers d'après leur
somme de contrôle calculée avec la fonction hachage SHA-1. Quand un fichier n'est pas
modifié, la somme de contrôle ne change pas et le fichier n'est stocké qu'une seule fois. En
revanche, si le fichier est modifié, les deux versions sont stockées sur le disque.

 Fonctionnement de Git

Git possède deux (02) structures de données : une base d’objets et un cache de répertoires.

Il existe cinq types d’objets :

 l'objet blob (pour binary large Object désignant un ensemble de données brutes), qui
représente le contenu d'un fichier ;
 l'objet tree (mot anglais signifiant « arbre »), qui décrit une arborescence de fichier. Il
est constitué d'une liste d'objets de type blobs et des informations qui leur sont
associées, tel que le nom du fichier et les permissions. Il peut contenir récursivement
d'autres trees pour représenter les sous-répertoires ;
 l'objet commit (résultat de l'opération du même nom signifiant « valider une
transaction »), qui correspond à une arborescence de fichiers (tree) enrichie de
métadonnées comme un message de description, le nom de l'auteur, etc. Il pointe
également vers un ou plusieurs objets commit parents pour former un graphe
d'historiques ;
 l'objet tag (étiquette) qui est une manière de nommer arbitrairement un commit
spécifique pour l'identifier plus facilement. Il est en général utilisé pour marquer
certains commits, par exemple par un numéro ou un nom de version (2.1 ou bien
Lucid Lynx).
 l'objet branch (branche) qui contient une partie de l'avancement du projet. Les
branches sont souvent utilisées pour avancer dans une partie du projet sans impacter
une autre partie.

La base des objets peut contenir n'importe quel type d'objets. Une couche intermédiaire,
utilisant des index (les sommes de contrôle), établit un lien entre les objets de la base et
l'arborescence des fichiers. Chaque objet est identifié par une somme de contrôle SHA-1 de
son contenu. Git calcule la somme de contrôle et utilise cette valeur pour déterminer le nom
de fichier de l'objet. L'objet est placé dans un répertoire dont le nom correspond aux deux
premières lettres de la somme de contrôle. Le reste de la somme de contrôle constitue alors le
nom du fichier pour cet objet. Git enregistre chaque révision dans un fichier en tant qu'objet
blob unique. Les relations entre les objets blobs sont déterminées en examinant les objets
commit. En général, les objets blobs sont stockés dans leur intégralité en utilisant la
compression de la zlib. Ce principe peut rapidement consommer une grande quantité de place
disque ; de ce fait, les objets peuvent être combinés dans des archives, qui utilisent la
compression différentielle (c'est-à-dire que les blobs sont enregistrés sous la forme de
différences par rapport aux autres blobs).

 Quelques commandes Git :

Git dispose notamment des commandes suivantes :

 git init : crée un nouveau dépôt ;


 git clone : clone un dépôt distant ;
 git add : ajoute de nouveaux objets blobs dans la base des objets pour chaque fichier
modifié depuis le dernier commit. Les objets précédents restent inchangés ;
 git commit : intègre la somme de contrôle SHA-1 d'un objet tree et les sommes de
contrôle des objets commits parents pour créer un nouvel objet commit ;
 git branch : liste les branches ;
 git merge : fusionne une branche dans une autre ;
 git log : affiche la liste des commits effectués sur une branche ;
 git push : publie les nouvelles révisions sur le remote. (La commande prend différents
paramètres) ;
 git pull : récupère les dernières modifications distantes du projet (depuis le Remote) et
les fusionner dans la branche courante ;
 git stash : stocke de côté un état non commité afin d’effectuer d’autres tâches.

 Utilité dans mon stage

J’ai choisi Git afin de mieux gérer mes versions dans la conception de ce module, car il me
permet d’éviter les erreurs, de travailler à distance avec mon maitre de stage et d’autres
développeurs de la communauté Odoo quel que soit l’endroit où je me trouve. Il me permet
aussi de récupérer, de modifier et comparer les différentes versions de mon module afin de
mieux progresser dans la réalisation. De plus il me permet de revenir en arrière dans le
développement du module grâce à son mécanisme de sauvegarde de chaque mise à jour de
mon code

2.5. Plateforme de stockage de code source et de gestion de version Github /


Gitlab

GitHub module afin (exploité sous le nom de GitHub, Inc.) est un service web
d'hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de
versions Git. Ce site est développé en Ruby on Rails et Erlang par Chris Wanstrath, PJ Hyett
et Tom Preston-Werner. GitHub propose des comptes professionnels payants, ainsi que des
comptes gratuits pour les projets de logiciels libres. Le site assure également un contrôle
d'accès et des fonctionnalités destinées à la collaboration comme le suivi des bugs, les
demandes de fonctionnalités, la gestion de tâches et un wiki pour chaque projet. De plus nous
avons aussi utilisé la version privée de Github qui est Gitlab (dev.c3-bs.com).

 Fonctionnalités

GitHub est centré vers l'aspect social du développement. En plus d'offrir l'hébergement de
projets avec Git, le site offre de nombreuses fonctionnalités habituellement retrouvées sur
les réseaux sociaux comme les flux, la possibilité de suivre des personnes ou des projets ainsi
que des graphes de réseaux pour les dépôts (en anglais repository). GitHub offre aussi la
possibilité de créer un wiki et une page web pour chaque dépôt. Le site offre aussi un logiciel
de suivi de problèmes (de l'anglais issue tracking system). GitHub propose aussi l'intégration
d'un grand nombre de services externes, tels que l'intégration continue, la gestion de versions,
badges, chat basés sur les projets, etc.

Les documentations des projets sont écrites en langage Markdown (fichiers .md).
ANALYSE
L'option webhook (en) permet de communiquer avecDES BESOINS
des outils d'intégration continue.

 Particularité

Alors que le système traditionnel open source amène chaque contributeur à télécharger les
sources du projet et à proposer ensuite ses modifications à l’équipe du projet, GitHub repose
sur le principe du fork (embranchement) par défaut : toute personne « forkant » le projet
devient publiquement de facto le leader de son projet portant le même nom que l’original.

1. Serveur d’application Xamp

XAMPP est un logiciel gratuit et open source qui fournit un environnement de développement
local pour les développeurs web. Le nom XAMPP est un acronyme qui signifie « X » (pour
n’importe quel système d’exploitation), « Apache », « MySQL », « PHP » et « Perl ». Il est
principalement utilisé pour créer et tester des sites web dynamiques localement avant de les
déployer sur un serveur web en ligne. Il est composé de :

 Apache : Serveur web


 MySQL : Base de données
 PHP : langage de programmation
 Perl : Langage de programmation.

3. Langage de programmation

Les langages de programmation sont des langages bien plus faciles à comprendre pour nous,
pauvres êtres humains que nous sommes. Le mécanisme reste le même, mais le langage est
bien plus compréhensible. Au lieu d’écrire les instructions dans une suite assez peu
intelligible de 0 et de 1, les ordres donnés à l’ordinateur sont écrits dans un « langage »,
souvent en anglais, avec une syntaxe particulière qu’il est nécessaire de respecter. Mais avant
que l’ordinateur puisse comprendre ce langage, celui-ci doit être traduit en langage machine.

En gros, le programmeur « n’a qu’à » écrire des lignes de codes dans le langage qu’il a choisi,
les étapes suivantes sont automatisées pour permettre à l’ordinateur de les décoder.

3.1. HTML
3.2. JavaScript
3.3. CSS
3.4. PHP

CHAPITRE II :
INTRODUCTION

Cette présente partie constitue la conception du projet. Nous commençons par une brève
présentation des langages de modélisation UML et MERISE. Ensuite nous détaillons la
conception avec la méthode MERISE tout en expliquant les raisons du choix adopté.

I. LE CYCLE DE VIE
1. Définition

Le cycle de vie d’un logiciel est la période située entre le début de la conception et l’arrêt de
l’exploitation de ce logiciel. Le cycle de vie regroupe un ensemble d’activités suivant les
normes AFNOR Z 67 150. Il est envisagé à un instant donner et va comprendre les progrès
technologiques et les contraintes organisationnelles. (A. Carlier, 1994). Le cycle de vie d’un
logiciel correspond à l’identification des états successifs d’une application ou d’un produit
déterminé. Il est essentiellement dynamique, évolutif et presque progressif. (A. Carlier, 1994).

2. Principales méthodes de conduite de projet

Il existe généralement deux groupes de méthodes de conduite d’un projet : les méthodes
séquentielles et les méthodes itératives.

2.1. Méthode séquentielle dite en cascade

Principe : Découper le projet en phases distinctes sur le principe du non-retour. Développé


dans les années 1970 par W. ROYCE.

Avantage : Proposer au fur et à mesure une démarche de réduction de risque, en minimisant


au fur et à mesure l’impact des incertitudes.

Inconvénient : Exclusion de l’utilisateur dès la phase de conception car trop technique. Le


contrôle qualité technique survient seulement enfin de projet.

Risque : Refus de recette utilisateur.

2.2. Méthode itérative dite évolutive

Principe : Basé sur la polyvalence et une approche pluridisciplinaire, qui tendent à minimiser
l’impact de l’évolution des besoins en cours de projets.
Avantage : Permettent de se rapprocher d’avantage des utilisateurs, et ainsi favorisent
l’assurance qualité.

Inconvénient : Le produit, résultat d’évolutions permanentes et difficilement maintenable.

Risque : Maintenance difficile.

II. CHOIX DE CYCLE DE VIE

Pour des raisons pratiques, notre choix a porté parmi tant d’autres sur le cycle en V pour le
développement de notre projet. Nous pourrons dans les projets futurs, aux besoins, essayer
d’autres cycles de vie.

 Présentation du cycle de vie en V

Face aux problèmes de réactivité que pose l’approche en cascade, l’industrie informatique a
adopté le cycle en V dans les années 80. Ce modèle en 9 phases qui se répondent 2 à 2 : À
chaque étape de conception de notre logiciel correspond une phase de test ou de validation.

Avantages du cycle en V :

La stricte structure en V permet d’espérer que le livrable final sera parfait, puisque les étapes
de test sont aussi nombreuses que les étapes de réflexion. De plus, il est facile de prévoir les
tests à réaliser au moment où l’on conçoit une fonctionnalité ou une interface. Le travail
s’enchaîne donc de façon assez naturelle.

Inconvénients du cycle en V :

Malheureusement ce modèle est rarement utilisé tel quel. Et le V est bien souvent
déséquilibré, tantôt côté analyse, tantôt côté recette. En plus, la marge d’erreur est bien
souvent proportionnelle à la marge de liberté prise par rapport au modèle théorique.
III. METHODE CONCEPTUELLE

On en dénombre plusieurs méthodes d’analyse et de conception parmi lesquelles nous


pouvons citer UML et MERISE. Celle qui fera l’objet de notre étude est MERISE.

 MERISE

MERISE (Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise).


Cette méthode est née en 1978. Elle est une méthode d'analyse, de conception et de gestion de
projet complètement intégrée, ce qui en constitue le principal atout. Elle a fourni un cadre
méthodologique et un langage commun et rigoureux à une génération d'informaticiens.

Cette méthode propose une démarche articulée simultanément selon 3 axes pour hiérarchiser
les préoccupations et les questions auxquelles répondre lors de la conduite d'un projet :

- Cycle de vie : Phases de conception, de réalisation, de maintenance puis nouveau cycle de


projet.

- Cycle de décision : Des grands choix (Étude préalable), la définition du projet (étude
détaillée) jusqu'aux petites décisions des détails de la réalisation et de la mise en œuvre du
système d'information. Chaque étape est documentée et marquée par une prise de décision.

-Cycle d’abstraction :Niveaux conceptuels, logique/organisationnel et


physique/opérationnel. L'objectif du cycle d'abstraction est de prendre d'abord les grandes
décisions métier, pour les principales activités (Conceptuel) sans rentrer dans le détail de
questions d'ordre organisationnel ou technique.

La méthode Merise, très analytique, distingue nettement les données et les traitements, même
si les interactions entre les deux sont profondes et s'enrichissent mutuellement. On distingue
trois principaux niveaux d'analyse :

- Le niveau conceptuel (Diagramme de flux, Modèle conceptuel de données, Modèle


conceptuel de traitement) ;

- Le niveau logique (Modèle logique de données et le Modèle logique de traitement) ;

- Le niveau physique (Implémentation du SGBD).


IV. CONCEPTION DETAILLEE
1. Les entités

Une entité est un objet physique ou abstrait ayant des caractéristiques comparables. Les
entités recensées pour notre projet sont :

Utilisateur, nom de domaine, site web, type de site web, langage, thème, hébergeur,
extension.
1.1. Domaine de gestion

Il s’agit de la gestion d’une plateforme de création de site web.

1.2. Les règles de gestion


- Un utilisateur crée un site web.
- Un site web a un nom de domaine.
- Un site web a un type.
- Un site web a un thème.
- Un thème a des langages utilisés.
- Unsite web a un hébergeur.
- Un nom de domainea des extensions.

NB : Dans cas notre ici nous avons un seul hébergeur donc pas la peine de le créer.

2. Dictionnaire de données

C’est à partie des interviews, des documents internes et externes qui se fait le recensement
des données mais d’autres supports peuvent être pris en compte (factures, reçus, catalogue
de modèles… .

Ces données sont présentées dans un tableau appelé dictionnaire des données.
Le dictionnaire doit être épuré des redondances, des polysémies et des synonymes. Ainsi nous
vous présentons ce dictionnaire des données conscient des possibles insuffisances.
LONGU
CODE SIGNIFICATION TYPES NATURE OBSERVATION
EUR

TABLE : UTILISATEUR OU USER (users)

id_user L’identifiant de
10 N SIG Identifiant
l’utilsateur
name Nom d’utilisateur 100 AN SIG

email Email d’utilisateur 100 AN SIG


password Mot de passe
100 AN SIG
d’utilisateur
Confirme Confirmation du 1 N SIG
compte de l’utilisateur
Confirm_key Code de Confirmation 15 AN SIG
du compte de
l’utilisateur
TABLE : NON DE DOMAINE (domaine)
Id Identifiant du nom de Identifiant
10 N SIG
domaine
name Nom du domaine 10 AN SIG
TABLE : EXTENSION (extension)
id_extension Identifiant de Identifiant
l’extension du nom de 10 N SIG
domaine
name Extension du nom du
10 AN SIG
domaine
TABLE : SITE WEB (website)
id_website Identifiant du site web 10 AN SIG Identifiant
name Nom du site web 10 AN SIG
TABLE : TYPE (type)
id_type Identifiant du type 10 N SIG Identifiant
name Libellé du type du site 100 AN SIG
web
TABLE : THEME (template)
id_template IDthème 10 N SIG Identifiant
name Libelle du thème 100 AN SIG
TABLE : LANGAGE (language)
id_language Identifiant du langage Identifiant
10 N SIG
de programmation
name Nom du domaine 10 AN SIG

Légende

A : alphabétique / N : numérique / AN : alphanumérique / D : Date


E : élémentaire/ CO : concaténée CA : calculée
M : mouvement/ SIG : signalétique/ SIT : situation

3. Structure d’accès théorique

Cette représentation a pour objet de mettre en évidence les dépendances fonctionnelles entre
les propriétés d’une entité et entres les clés primaires de toutes les entités.

Elle met en évidence les propriétés qui déterminent la connaissance d’autres propriétés. Elle
définit donc les accès aux données à partir des identifiants définis sur les entités, d’où le nom
de structure d’accès théorique.
id_user id_template
name name
email
password
confirm
confirm_key
id_language
name
id_website
name

id_domaine id_type
name name

id_extension
name

4. Le Modèle Conceptuel de Données : MCD

Le M.C.D permet d’établir une représentation plus explicite des données du système
d’information et définit les dépendances fonctionnelles de ces données entre elles.

Notre M.C.D. se présente comme suit :


ITS
# name_it
o date
o periodicity
o tax_service
o amount_tb
o total_wr
o totalcontibution
o amount_tp
o amount_tr
...
1,1 Effectuer
declarer 1,1 ETAT_TAXES_D
1,n # name_et 1,1
CNPS 1,n
1,1 o date
# name COMPANY o periodicity
o date effectue # company_id o tax_service
1,n
o periodicity o sigle o total_statement
o csbsactrr 1,n
o objet ...
o csbctrpf o service Participer
o pf3 o quartier participe
o at3 o code_et
o rr3 o act_code 1,n
o tcap o employeur
... 1,n ELEMENT_TAXE_D
o import_period
1,n ... # element_id
o date
1,,n etablir
o supplier
Fait declare o supplier_tax_code
1,1 1,1
o document_ref
1,1
o goods_definition
1,1
TVA o amount
TSE FDFP # name_tv o vat_amount
# name_ts # name_fdf o date o deduction_rate
o date o date o periodicity o deductible_vat_amount
o periodicity o tax_service ...
o periodicity
o tax_service o tax_service o revenu_wout_vat
o taxable_revenu o employe_workforce o deductible_vat_total
o amount_topay o monthly_amount_tfcsf o vat_goss_total
o amount_toreport o payment o vat_to_pay
... o payment_todo o credit_vat_toreport
... ...

5. Le Modèle Logique de Données : MLD

Le MCD a permis de représenter les données indépendamment des choix techniques. Le MLD
sera construit à partir du MCD en tenant compte des éléments suivants :

 Le niveau et le type d’automatisation : il s’agit de ne retenir dans le MLD que


les parties du MCD qui seront automatisées
 L’orientation et le choix techniques concernant le système de gestion des
données :
- Orientation base de données réseau

- Orientation base de données relationnelles

- Orientation de données hiérarchiques


Le modèle qui nous intéressera dans cette partie sera le Modèle Logique de Données
Relationnelles, il sera construit pour répondre à la préoccupation Comment. Pour ce faire l’on
choisira de construire un MLD/R lorsqu’il s’agira d’implanter notre application en
commençant son développement sous un Système de Gestion de Base de Données
Relationnelles tel qu’Access, Dbase, Oracle, FoxPro, MySQL Server etc.

Les règles de passage du MCD au MLD/R sont :

Règle 1 : Chaque entité conceptuelle devient une relation ou table. Chaque propriété se
transforme en attribut et l’identifiant devient la clé primaire.

Règle 2 : Chaque association de type père-fils (x, 1)-(x, n) avec x=0 ou x=1) ne devient pas
une table ou une relation mais l’identifiant du « père » migrent vers le « fils ».

Règle 3 : Une association de dimension deux (2) de cardinalités (x, n) et (x, n) avec x=0 ou x
=1 devient une table ou relation. Sa clé est composée des deux identifiants des entités en
présence.

Règle 4 : Une association de dimension supérieure à deux devient une relation et sa clé est
composée des identifiants des entités liées

Pour l’établissement du MLD, nous avons le choix entre présenter soit de façon
textuelle soit de façon graphique. Nous avons opté pour une représentation textuelle que
voici :

USERS(id_user, name, email, password, confirm, confirm_key).

TYPE(id_type, name).

EXTENSION (id_extension, name).

LANGUAGE (id_language, name).

TEMPLATE(id_template, name, #id_language).

DOMAINE(id_domaine, name, #id_extension).

WEBSITE(id_website, name, #id_user, #id_domaine, #id_template, #id_type).


CHAPITRE II : ANALYSE ORGANISATIONNELLE

III. MODELE CONCEPTUEL DE TRAITEMENT


1. Définition

Le Modèle Conceptuel de Traitement (MCT) permet de traiter la dynamique du système


d’information c’est-à-dire les opérations qui sont réalisées en fonction d’événement. Ce
modèle permet donc de représenter de façon schématique l’activité d’un système
d’information sans faire référence à des choix organisationnels ou des moyens d’exécutions.
C’est-à-dire qu’il permet de désigner simplement ce qui doit –être faire mais il ne dit pas
quand, comment, ni ou.

2. Définition des concepts

Acteur : c’est un élément matériel ou immatériel susceptible de faire réagir le système


d’information.

Flux : c’est l’échange d’information entre deux acteurs.

Evénement : c’est un faire susceptible de déclencher une opération.

Opération : c’est une réaction du système d’information vis-à-vis d’un flux ou événement.

Synchronisation : ce sont les conditions que respectent les événements pour déclencher une
opération (ces conditions sont exprimées par les opérateurs logiques).

Résultat : c’est l’évènement résultat d’une opération. Ce résultat s’obtient à partir des règles
d’admission.

Processus : enchainement ininterrompu d’opération.

3. Processus de déclarations fiscales

Ici il s’agit du parcours d’une déclaration fiscale jusqu’à la paie aux impôts. Pour se faire,
le comptable (fiscaliste) se charge de recueillir certaines informations lui permettant de
remplir la déclaration, les saisies et se rend dans l’agence d’impôt la plus proche muni
d’un chèque du montant de la déclaration pour régler la déclaration.
3.1. Les acteurs

Externe : Utilisateur
Interne : Administrateur

3.2. Les flux

1- Demande d’inscription
2- Réponse de la demande d’inscription
3- Demande de nom de domaine
4- Réponse de la demande du nom de domaine
5- Hébergement
3.3. Graphe des flux

UTILISATEUR ADMINISTRATEUR
3

3.4. Graphe d’ordonnancement des flux


Demande d’inscription

Réponse à la demande d’inscription

Demande de nom de domaine et création de site

Réponse de la demande de
nom de domaine

Hébergement
3.5. Modèle conceptuel de traitement

Demande de
déclaration

rechecher des déclaration

Liste des
déclarations

Enregistrement des déclarations

chèque
ET
OU
Déclarations
paiement des déclarations

reçu

IV. MODELE ORGANISATIONNNEL DE TRAITEMENT

Le MOT a pour objectif de représenter les traitements en prenant en compte les choix et les
contraintes liées à l’organisation. Le MOT se concentre sur le COMMENT :

 Définition des différentes ressources mettre en œuvre (moyens techniques ou humains,


espace, temps, données);
 Décomposition des opérations spécifies au niveau conceptuel en des liment plus fins et
homogènes, les tâches;
 Organisation de l’ensemble des ressources permettant d’assurer l’exécution des tâches
envisagées.

Le MOT de notre système se présente comme suit :


Période Taches Postes Nature

Demande de
Dès la déclaration Impôt Semi-
création de automatiques
l’entreprise

rechecher des déclaration

Liste des
déclarations

Chaque mois
Enregistrement des déclarations
ou trimestre

Comptable Automatiques

chèque

ET
OU
Déclarations
Dès paiement des déclarations
réception
Impôt Automatiques

reçu
CHAPITRE III : ANALYSE PHYSIQUE

I. INTRODUCTION

Le Modèle Physique Des Données (M.P.D) est le dernier modèle réalisé avant la
programmation. Il prend en compte les ressources physiques (SGBDR), Matériels, supports,
etc. Il va permettre d’implanter en machine l’ensemble des données du Modèle Logique des
Données (M.L.D). En effet, la description d’un modèle physique des données est étroitement
liée aux choix techniques informatiques concernant le système de gestion des données. .

Cette partie décrit la structure des tables telles qu’elles seront implémentées dans le système.
Nous allons décrire les différentes tables de la base de données. Nous présenterons les
propriétés et le volume d’information à traiter pour chaque table. Nous avons eu à déterminer
huit (8) tables et nous allons les répertorier, préciser le choix de chaque clé primaire et la taille
de chaque table. Etant donné que nous avons le modèle logique des données relationnelles,
nous n’aurons donc pas à décrire les tables mais plutôt fournir le modèle physique des
données.

II. LE MODELE PHYSIQUE DE DONNEES

1. Définition

Le MPD prépare le système de gestion des données. Il s'intéresse à l'optimisation de la gestion


des données en fonction de l'outil choisi pour cette gestion et surtout en fonction des
traitements qui utilisent ces données (Vue des procédures fonctionnelles). Des choix parfois
contradictoires vis à vis du MCD sont à faire car il s'agit d'être pragmatique :

Définir la place nécessaire chaque table ;

 Définir l'implantation physique de la base de données sur les disques, les serveurs
disponibles ;
 Optimiser les temps d'accès l'information
 Accepter les redondances d'informations qui permettent de diminuer sensiblement le
nombre de tables concernées par une requête :
 Utilisation de clés numériques ;
 Création d'index pour les critères de recherche.

2. Fiche descriptive de quelques tables

Nom : USERS mode d’accès : directe


Nature : permanent clé étrangère :
Support : disque dur
Clé primaire: id_user
Attribut Désignation Type Longueur Observation
Id_user Identifiant de l’utilisateur AN 10 Identifiant(ID)
name Nom de l’utilisateur AN 100
email Email de l’utilisateur AN 100
password Mot de passe de
confirm l’utilisateurConfirmation de AN 100
l’utilisateur
N 1
confirm_key Clé de confirmation AN 15

Taille enregistrement : 95
Nombre d’occurrence:100000
Volume : 9500000 Octets
Nom : WEBSITE mode d’accès : directe
Nature : permanent clé étrangère :id_user,
Support : disque dur id_domaine,
id_template,
id_type
Clé primaire: id_website
Attribut Désignation Type Longueur Observation
id_website Identifiant du site N 10 Identifiant(ID)
name Nom du site AN 100
id_userid_domaineid_te proprietaire du N 10
mplateid_type Nom de doimane N 10
Template du site N 10
Type du site N 10
Taille enregistrement : 95
Nombre d’occurrence:100000 0586504530 0170893512 michel
Volume : 9500000 Octets
TROISIEME PARTIE :
PHASE DE
REALISATION

CHAPITRE I : LES MOYENS DE DEVELOPPEMENT

Dans ce chapitre, nous mettrons en relief les détails techniques spécifiques à la réalisation du
projet. Nous présenterons l'environnement physique utilisé et les logiciels qui nous ont aidés à
la conception et la réalisation du module et l’évaluation financière du projet.

4. ENVIRONNEMENT DE TRAVAIL
4.1. Python

Il existe un grand nombre de langages de programmation et Python en fait partie. Python est
un langage puissant, à la fois facile à apprendre et riche en possibilités. Dès l'instant où vous
l'installez sur votre ordinateur, vous disposez de nombreuses fonctionnalités intégrées au
langage que nous allons découvrir tout au long de ce
livre.Il est, en outre, très facile d'étendre les fonctionnalités existantes, comme nous allons le
voir. Ainsi, il existe ce qu'on appelle des bibliothèques qui aident le développeur à travailler
sur des projets particuliers. Plusieurs bibliothèques peuvent ainsi êtreinstallées pour, par
exemple, développer des interfaces graphiques en Python.
Concrètement, voilà ce qu'on peut faire avec Python :

 de petits programmes très simples, appelés scripts, chargés d'une mission très précise
sur votre ordinateur ;
 des programmes complets, comme des jeux, des suites bureautiques, des logiciels
multimédias, des clients de messagerie ;
 des projets très complexes, comme des progiciels (ensemble de plusieurs logiciels
pouvant fonctionner ensemble,principalement utilisés dans le monde professionnel).

Voici quelques-unes des fonctionnalités offertes par Python et ses bibliothèques:

 créer des interfaces graphiques ;


 faire circuler des informations au travers d'un réseau ;
 dialoguer d'une façon avancée avec votre système d'exploitation ;
 … et j'en passe…
REALISATION DU MODULE
4.2. Extensible MarkupLanguage (XML)

L’Extensible MarkupLanguage (Langage de balisage extensible), généralement appelé XML


est le métalangage informatique de balisage générique qui est sous-ensemble du Standard
GeneraliszedMarkupLanguage (SGML). Sa syntaxe est dite extensible car elle permet de
definirdifferents langages avec chacun leur vocabulaire et leur grammaire, comme XHTML,
XSLT, RSS, SVG, etc. Elle est raisonnable par son usage des chevrons (<,>) encadrant les
noms des balise.

5. Traitement de texte

Microsoft Word est un logiciel de traitement de texte par excellence édité par Microsoft. La
version que nous avons utilisée est Word 2013. Il nous a permis de saisir et de traiter tous les
rapports et compte rendus de ce projet.

CHAPITRE II :

I. PROPOSITION DE MATERIELS ET EVALUATIONS


FINANCIERES
Devis estimatif

Nous allons utiliser des ordinateurs portables et une imprimante dont les caractéristiques sont
citées ci- dessous énumérer. A ces matériels il faut ajouter le coût de l’application.

Coût de matériel

Modèle Caractéristique Prix Quantité Montant


Dual Core,
2.4 GHz,
PC DELL mémoire 4Go
DDR3, 40000 DZ 1 40000 DZ
disque dur 500
Go

Coût des logiciels

Logiciel Caractéristique Prix unitaire Quantité Montant

Libre (open
VS Code 0 DA 01 0 DA
source)

Libre (open
XAMP 0DA 01 0 DA
source)

Libre (open
GITBASH 0 DA 01 0 DA
source)
Invité de commande MS- Libre (open
0 DA 01 0 DA
DOS Windows source)
Libre (open
Navigateur Chrome 0 DA 01 0 DA
source)
Libre (open
MS libreoffice 0 DA 01 0 DA
source)

Le coût global du projet est estimé à : soixante seize mille (76 000) Dinar Algérien avec une
main d’œuvre de trois mille (3 000) Dinar Algérien

II. REALISATION DU MODULE


1. Structure du module

Vous aimerez peut-être aussi