Conception et deploiement d'un gestionnaire numerique de documentation de l'universite des sciences et techniques de Masukupar Ghandy Steeve MBONGO ESSINGONE Université des Sciences et Techniques de Masuku - Ingénieur de Conception en Génie des Réseaux et Télécommunications 2017 |
CHAPITRE 3 : DEFINITION DES METHODOLOGIES3.1 LOGICIELS ET OUTILS UTILISES DANS LE PROJET Pour mener à bien notre projet, il nous faut au préalable configurer l'environnement de développement. Ainsi, il convient de faire l'inventaire des logiciels et outils indispensables à la mise en place de notre plateforme. 3.1.1 METHODES DE CONCEPTION Dans toute conception de logiciels ou d'applications destinés à répondre à un besoin spécifique, il faut procéder avant toute chose à la modélisation du Système d'Informations (SI). L'objectif étant de se faire une représentation abstraite du fonctionnement de notre système, et d'en ressortir des schémas de données pertinents, puis un script qui permettra à l'ordinateur de pouvoir comprendre la logique de nos données. Parmis les méthodes de conception communément utilisées nous avons : UML (Unified Model Language) : ce n'est pas vraiment une méthode, c'est quasiment un support de communication performant facilitant la représentation et la représentation objet à travers des diagrammes. MERISE : C'est un acronyme qui signifie Méthode d'Etude et de Réalisation Informatique pour les Systèmes d'Entreprise. Ainsi, notre choix s'est porté sur une méthode de conception et de modélisation de Système de Gestion de Base de Données (SGBD) appelée : MERISE. La raison de notre choix est que nous voulons que notre SI soit facilement compréhensible pour le MAO et pour les éventuels développeurs qui assureront sa mis à jour ou son évolution. De plus, MERISE a l'avantage d'offrir de la clarté et de l'accessibilité et est idéale pour le type d'applications qui gère les données moins complexes. 3.1.1.1 DEFINITION DE LA METHODE MERISE C'est une méthode d'analyse, de conception et de gestion de projet complètement intégrée, ce qui constitue son principal atout. Modèle Physique Figure 4 : Illustration du fonctionnement de la méthode MERISE Page 12 sur 57 Elle fournit un cadre méthodologique rigoureux. En effet, elle est basée sur des schémas entité-association depuis le modèle conceptuel, pour aboutir après normalisation au modèle relationnel, ce qui nous permettra de ressortir le modèle physique de données, pour enfin écrire le code SQL de notre base de données. 3.1.1.2 MODELE CONCEPTUEL DE DONNEES (MCD) Figure 5 : Exemple de Modèle Conceptuel de Données Le modèle conceptuel des données (MCD) a pour but d'écrire de façon formelle les données qui seront utilisées par le SI. Il s'agit donc d'une représentation des données, facilement compréhensible, permettant de décrire le SI à l'aide d'entités. Entités Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le système que l'on désire décrire. Associations Une association (appelée aussi parfois relation) représente les liens sémantiques qui peuvent exister entre plusieurs entités. Attributs Un attribut est une caractéristique ou une qualité d'une entité ou d'une association. Il peut prendre une (ou plusieurs) valeur(s). Identifiant Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une et une seule entité. La définition originale est la suivante : « L'identifiant est une propriété particulière d'un objet telle qu'il n'existe pas deux occurrences de cet objet pour lesquelles cette propriété pourrait prendre une même valeur ». Page 13 sur 57 Cardinalités Les cardinalités permettent de caractériser le lien qui existe entre une entité et la relation à laquelle elle est reliée. La cardinalité d'une relation est composée d'un couple comportant une borne maximale et une borne minimale, intervalle dans lequel la cardinalité d'une entité peut prendre sa valeur :
3.1.1.3 MODELE LOGIQUE RELATIONNEL DE DONNEES Figure 6 : Exemple du Modèle Logique Relationnel de Données Une fois le MCD établi, nous sommes en mesure de le traduire en système logique : MLD. Le modèle logique de données consiste à décrire la structure de données utilisée sans faire référence à un langage de programmation. Il s'agit donc de préciser le type de données utilisées lors des traitements. Ainsi, le modèle logique est dépendant du type de base de données utilisé. Il est constitué de : tables, lignes, colonnes, clés primaires, clés étrangères décrivant un schéma relationnel qui résulte du MCD. Lignes, tables et colonnes : Lorsque les données ont la même structure nous pouvons alors les organiser en tables dans lesquelles : les colonnes décrivent les champs en commun, les lignes contiennent les valeurs de ces champs pour chaque enregistrement. Figure 7 : Exemple de table Page 14 sur 57 Clés primaires et clé étrangères : Les lignes d'une table étant uniques, il existe de ce fait au moins une colonne qui sert à identifier ces lignes : il s'agit de la clé primaire de la table. Propriétés requises : la valeur vide (NULL) est interdite. La valeur de la clé primaire d'une ligne ne devrait pas changer au cours du temps. Une clé étrangère, dans une base de données relationnelle, est une contrainte qui garantit l'intégrité référentielle entre deux tables. Une clé étrangère identifie une colonne ou un ensemble de colonnes d'une table comme référençant une colonne ou un ensemble de colonnes d'une autre table (la table référencée). En faisant un zoom sur la figure précédente nous obtenons la figure suivante : 1 2 Figure 8 : Illustration de clé primaire et de clé étrangère
MCD MID Figure 9 : Traduction du MCD en MLD Page 15 sur 57
Page 22 sur 57
Langage de stylisation CSS : CSS signifie Cascading Style Sheet que l'on peut traduire comme feuille de style en cascade. C'est l'un des langages principaux du Web ouvert et a été standardisé par le W3C. Ce standard évolue sous forme de niveaux (levels), CSS1 est désormais considéré comme obsolète. CSS2.1 correspond à la recommandation et CSS3, qui est découpé en modules plus petits, est en voie de standardisation (W3C, 2016). Figure 18 : Fonctionnement du code CSS Ce langage s'exécute sur le navigateur et permet d'ajouter du style (couleur, taille, position, transition etc.) à une page web afin qu'elle soit plus attrayante. Tout comme javascript il peut aussi bien être écrit dans le html ou être inclus comme un fichier externe. 3.1.4.2 TECHNOLOGIE DU WEB A l'instar des langages de programmation, nous allons utiliser d'autres technologies web à savoir : HTTP : il signifie HyperText Transfer Protocol. C'est un protocole utilisé pour transmettre des informations entre le navigateur et les serveurs web (Kumar, 2019). API Web : c'est l'ensemble des Applications d'interfaces Programmables qui permettent de rendre le web interactif et scriptable. AJAX (requêtes asynchrones) : (Illustré par la figure 20) Page 23 sur 57 Figure 19 : Illustration du fonctionnement d'AJAX Généralement, lorsque que nous cliquons sur des liens hypertextes, ou que nous soumettons des formulaires sur des pages web, nous envoyons au serveur une requête synchrone. Dans ce contexte, tant que le serveur ne répond pas à la requête nous ne pouvons pas interagir avec le navigateur car il reste figé en attendant la réponse. Ce qui est limitant car en mode synchrone « seul une requête peut être passée au serveur à la fois. » (Turc, 2019) En mode asynchrone, le serveur est capable de traiter plusieurs requêtes en provenance d'une même session bien que leurs réponses respectives n'aient pas été reçues par le navigateur. AJAX est la technologie web construit en javascript qui permet de faire des requêtes asynchrones. Il signifie Asynchronous Javascript and XML. Le schéma ci-dessus illustre le déroulement d'un dialogue en AJAX entre le client et le serveur. Expliquons ce schéma :
3.1.5 EDITEURS DE TEXTES Un éditeur de texte est un logiciel qui permet de créer et d'éditer des fichiers textes (Fauchié, 2020). Pour le développement de notre application web, nous allons utiliser un Page 24 sur 57 éditeur de texte appelé « Sublime text 3 ». Il offre l'avantage de la colorisation syntaxique des mots clés des langages de programmation utilisés, ce qui permet de mieux visualiser le code. De plus, il offre la possibilité d'inclure plusieurs dépendances permettant d'optimiser le temps de conception. 3.1.6 LOGICIELS Un logiciel informatique désigne un ensemble de séquences d'instructions interprétables par une machine et d'un jeu de données nécessaires à ces opérations (METTIER, 2008). Le développement d'application web nécessite l'utilisation de plusieurs logiciels. Dans le cadre de notre conception nous allons utiliser les logiciels suivants : SublimeText 3 : c'est un éditeur de texte payant qui nous permettra d'écrire notre code source. Adobe Photoshop : C'est un logiciel payant de la série de logiciel d'Adobe Créative Cloud qui permet de faire de la retouche photo. Mozilla Firefox : c'est un navigateur web gratuit qui nous permettra de visualiser et de tester au fur et à mesure de notre conception les résultats obtenus. Boîte à couleur pour Windows : c'est un logiciel gratuit qui permet de calculer les valeurs d'une couleur selon plusieurs modes : RVB, TLS, TSV, CMJ ou CMJN. De plus il permet de sélectionner la couleur d'un élément en particulier sur le bureau d'un ordinateur et d'en ressortir le code hexadécimal. Figure 20 : Boîte à couleurs Draw.io : c'est une application web gratuite permettant de créer des schémas de visualisation. Il est utile pour la conception du SI. WAMPSERVER : c'est une plateforme de développement web gratuit s'exécutant sous Windows. Il permet de créer des applications web dynamiques. Il est composé du serveur Apache2, du langage de script PHP et du SGBDR MySQL. De plus, il est muni d'une application web appelé PhpMyAdmin permettant de gérer facilement les bases de données (Bourdon, 2013). GANTT PROJECT : C'est un logiciel open source éditer en java qui permet de créer un programme capable de produire des graphiques représentant la distribution des tâches et des ressources inhérentes à la réalisation d'un projet à court, moyen et long terme. Page 25 sur 57 3.1.7 SERVEUR WEB Un serveur web est, soit un logiciel de service de ressources web, soit un serveur informatique qui répond à des requêtes du World Wide Web sur un réseau public ou privé, en utilisant principalement le protocole HTTP.(Bourdon, 2013) Figure 21 : Fonctionnent du serveur Dans le cadre de notre étude, nous allons utiliser comme serveur web Apache2. Ce logiciel permet l'établissement d'une connexion entre un serveur et les navigateurs web et permet le partage des fichiers entre eux. 3.1.8 SERVEUR DE BASE DE DONNEES C'est un serveur qui fait usage d'une application qui fournit des services de base de données à des programmes informatiques ou à des ordinateurs, selon le modèle client-serveur. (Bourdon, 2013) Dans le cadre de notre étude, nous allons utiliser le serveur de base de données MySQL. MySQL est un SGBDR. Il permet de stocker les données sous forme de tables pour permettre leur manipulation par l'entremise du langage SQL. 3.1.9 FRAMEWORK Un Framework (ou infrastructure logicielle en français) désigne en programmation informatique un ensemble d'outils et de composants logiciels à la base d'un logiciel ou d'une application (Salas-Zárate et al., 2015). Il existe deux types de Framework : ceux dérivant des langages de programmation s'exécutant sur le serveur (backend) et ceux dérivant des langages de programmation s'exécutant sur le navigateur (frontend). Vu que notre code source côté backend sera développé en dur (sans Framework), nous n'utiliserons qu'un seul Framework pour nous faciliter la mise en place de notre frontend : BOOTSTRAP 3. Nous avons choisi la version 3 de bootstrap à cause du fait qu'il intègre la bibliothèque javascript JQuery. Page 26 sur 57 3.1.10 LIBRAIRIES C'est un ensemble regroupant des fonctions et des classes codées dans un langage donnée, ce qui permettra aux développeurs de les utiliser en fonction des besoins spécifiques. La principale librairie que nous utiliserons est une librairie Javascript appelée JQuery. 3.1.11 OUTILS DE DEPLOIEMENT Notre application sera déployée en intranet sur un serveur KWARTZ. 3.2 PREREQUIS Le développement de notre solution nécessite les prérequis suivants : notre application sera développée sur un ordinateur exécutant le système d'exploitation MS Windows Professionel 20h1 (qui était la dernière version lorsque nous avons dévéllopé la solution); la version de PHP est 7.4 ; la version du SGBDR est MariaDB 10.4.10. L'odinateur hebergeant le serveur de dévéllopement a les caractéristiques suivantes : Processeur : Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz 2.60 GHz ; Mémoire RAM utilisée : 8,00 Go (7,87 Go utilisable) ; Type de système : Système d'exploitation 64 bits, processeur x64. |
|