MCC ou Modèle conceptuel de la communication

Télécharger le fichier pdf d’un mémoire de fin d’études

Inconvénients

L’architecture client/serveur possède tout de mêmequelques lacunes parmi lesquelles :
· un coût élevédû à la technicité du serveur.
· l’importance des attaques.

Force du modèle relationnel [5]

Une relation est une structure de données tabulaire. Une relation est composée d’attributs ; chaque attribut prend sa valeur dans un domaine. Une relation est donc un sous-ensemble du produit cartésien desdomaines des attributs.
Un SGBD implantant ce concept est appelé un système de gestion de base de données relationnel (SGBDR). Des opérateurs algébriquespermettent d’effectuer des opérations entre les relations; les principales opérations envisageables sont :
· les opérations ensemblistes : union, différence, produit cartésien.
· les opérations relationnelles : projection, restriction.
· les opérations dérivées: intersection, division.
Le SGBDR est muni d’un langage de programmation unique, non procédural et normalisé, et basé sur le langage SQL, qui permet :
· de déclarer et de créer toutes les entités de la base de données (tables, index, clés, contraintes, …).
· de manipuler les données mémorisées dans les tables(insertion, modification et suppression de lignes).
· d’interroger la base de données et d’en extraire des informations en fonction d’un certain nombre de critères exprimés à l’aide desopérateurs algébriques.
· de contrôler l’accès aux données (vues) et d’affecter des privilèges à des utilisateurs.
De ce qui précède, on peut dégager les principalesforces du modèle relationnel. Ce sont :
· les fondements mathématiques rigoureux sur lesquels le modèle repose ; ceux-ci permettent en particulier au moteur du SGBDR d’optimiser automatiquement les requêtes qui lui sont soumises en appliquant des théorèmes de l’algèbre relationnelle .
· l’indépendance des données et des programmes de traitement, permettant un partage aisé d’informations entre les applications .
· un langage de programmation non procédural puissant, concis et normalisé, le SQL, permettant de décrire, de mettre à jour et d’interroger les données mémorisées, d’effectuer des opérations algébriques complexes sur ces données, de spécifier des contraintes d’intégrité ainsi que de contrôler les accès aux données et de gérer des utilisateurs .
· un langage de programmation universel qui rend la base active.

Introduction à la méthode MERISE[5][6]

La conception d’un système d’information n’est pasévidente car il faut réfléchir sur l’ensemble de l’organisation que l’on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s’appuyer. La modélisation consiste à créer une représentation virtuelle d’une réalité tellede façon à faire ressortir les points auxquels on s’intéresse. Il existe plusieurs méthodes d’analyse, mais la plus utilisé est la méthode MERISE.
La méthode MERISE est basée sur la séparation des onnéesd et des traitements, c’est le modèle relationnel, qui s’effectue en plusieurs modèles conceptuels et physiques. La séparation des données et des traitements assure une longévité aumodèle. En effet, il n’est pas nécessaire de manipuler souvent l’agencement des données, contrairement aux traitements qui peuvent être modifiés fréquemment.Les données représentent la atiquest du système d’information et les traitements sa dynamique. Comme le centre de préoccupation est principalement les données, les systèmes de gestion de base de données (SGBD) se sont trouvés particulièrement bien adaptés à l’implantation de ce concept.
L’enjeu de toute entreprise est de mettre en place un système destiné à collecter, mémoriser, traiter et distribuer l’information avec un temps de réponse suffisamment bref.

Phase de réalisation

La conception du système d’information se fait par étapes, afin d’aboutir à un système d’information fonctionnel reflétant une réalité physique. Il s’agit donc de valider une à une chacune des étapes en prenant en compte des résultats de laphase précédente. D’autre part, les données étant séparées des traitements, il faut alors vérifier la concordance entre données et traitement afin de vérifier la présence de toutes les données nécessaires aux traitements et d’éviter les données superflues.
Les étapes sont donc :
· L’expression des besoins aboutit au MCC (Modèle conceptuel de la communication) qui définit les flux d’informations à prendre compte.
· L’étape suivante consiste à mettre au point le MCD (Modèle conceptuel des données) et le MCT (Modèle conceptuel des traitements) décrivant les èglesr et les contraintes à prendre en compte.
· Le modèle organisationnel consiste à définir le MLD (Modèle logique des données) qui représente un choix logiciel pour le système d’information.
· Le modèle physique des données (MPD) permet d’établir la manière concrète dont le système sera mis en place.

MCC ou Modèle conceptuel de la communication

La première étape de ce modèle est d’arriver à isoler le système en le délimitant. Il s’agit donc de définir le système et les éléments externes avec squelsle il échange des flux d’information. Ces éléments extérieurs sont appelésacteurs externes (ou partenaires).
La seconde étape consiste à découper l’organisationen entités appeléesacteurs internes (ou domaines). Lorsque les domaines d’une organisation sont trop importants, ils peuvent être décomposés eux-mêmes ensous-domaines.
La dernière étape est l’analyse des flux d’information, c’est-à-dire la définition des processus.

MCD ou Modèle Conceptuelle de Donnée

Elle consiste à identifier, à partir d’une descript ion exprimée en langage naturel, les entités et les associations et les cardinalités en appliquant lesrègles suivantes :
· les noms deviennent des entités : c’est une population d’individus homogènes. Il possède un identifiant et des propriétés.
· les verbes deviennent des associations : c’est une liaison qui a une signification précise entre plusieurs entités. L’attribut est une propriété d’entité ou d’une association. Elle est l’information élémentaire prise sur une entité.
· les cardinalités : c’est un lien entre entité et asociation qui précise le nombre de fois (minimum et maximum) qu’un individu de l’entité peut être concerné par l’association.C’est un couple comportant une borne maximale et une borne minimale.
Concevoir un MCD permet de répondre aux requêtes suivantes :[6]
· Quelle est la liste des propriétés d’une entité?
· Quel est le nom de la propriété identifiant d’une ntité?e
· Quelle est la liste des entités sous-types d’une entité?
· Quelle est la liste des entités, participant à une association, avec pour chaque segment, reliant une association à une entité, le couple de cardinalités?
· Quelle est la liste des associations avec, éventuelement, les propriétés portées?
· Quels sont les rôles associés aux segments d’une association réflexive?

MLD ou Modèle Logique de Donnée

La description conceptuelle a permis de représenter le plus fidèlement possible les réalités de l’univers à informatiser. Mais cette représentation ne peut pas être directement manipulée et acceptée par un système informatique. Il est alorsnécessaire de passer du niveau conceptuel au second niveau plus proche des capacités des système informatiques.
Ce niveau, appelé niveau logique et consiste à choisir l’un des trois modèles suivants :
· modèle hiérarchique.
· modèle réseau.
· ou modèle relationnel.
Chacun de ces modèles repose sur des techniques d’organisation des données particulières que des logiciels peuvent de gérer. Et c’est le modèle relationnel que nous allons utiliser.

MPD ou Modèle Physique de Donnée [7]

La traduction d’un MLD conduit à un MPD qui précise notamment le stockage de chaque donnée à travers son type et sa taille.
La traduction d’un MLD relationnel en un modèle physique est la création (par des requêtes SQL de type CREATE TABLE et ADD CONSTRAINT) d’une base de données hébergée par un SGBD relationnel particulier.

Le verbe ALTER TABLE

La commande ALTER TABLE permet de modifier certaines caractéristiques d’une table ou de l’une de ses colonnes. Elle est fréquemment utilisée pour ajouter une colonne à une table.
Cette commande permet également :
· d’ajouter une clé unique : ALTER TABLEtableadd unique (colonnes).
· supprimer une colonne : ALTER TABLE tabledrop columncolonne.
· changer le nom et le type d’une colonne : ALTER TABLE tablechange columncolonne nouveau_nomnouveau_type.
· renommer une table : ALTER TABLE tablerename as nouveau_nom.
Les commandes CREATE DATABASE et DROP DATABASE permettent de créer ou de supprimer une base de données.
Leur syntaxe est simple. Attention ! L’utilisation de DROP DATABASE nécessite des précautions afin d’éviter l’effacement des données.
· CREATE DATABASE nombase.
· DROP DATABASE nombase.

LMD ou langage de manipulation des données

LMD est constitué de quatre verbes : SELECT, INSERT, UPDATE, DELETE.
Lorsqu’elles sont entrées dans l’utilitaire MySQL,les commandes SQL doivent se terminer par un point-virgule. Par exemple : SELECT * FROM membres WHERE nom=’Koto’.
La clause FROM permet de spécifier le nom de la table qui est interrogée, la clause WHERE permet de préciser un critère de sélection.
Les chaînes de caractères sont entourées par des apostrophes simples. Si une apostrophe simple est présente dans la chaîne, elle doit être doublée.

La requête SELECT

Le verbe SELECT permet de faire des requêtes sur une ou plusieurs tables.
Une forme simple de select est : SELECT colonnes FROM tables WHERE condition .
Pour sélectionner toutes les colonnes d’une table,on utilise le caractère « * ».
Par exemple :SELECT * FROM membres ORDER BY id DESC.
Les opérateurs de comparaison sont les suivants :
· arithmétiques : = <><= >= !=.
· plage de valeur : betweenv1 and v2.
· etc.
Opérateur booléens : and et or.

La requête INSERT

Le verbe INSERT permet d’ajouter des lignes à une table et son utilisation est :
· INSERT INTO table (colonnes) VALUES (valeurs)
La liste des colonnes entre parenthèses est optionnelle. Si elle est omise la liste des valeurs doit fournir une valeur pour toutes les colonnes de la table dans l’ordre dans lequel elles ont été spécifiées lors de la création de la table.
Exemple : INSERT INTO membres VALUES (‘Koto’).

La requête UPDATE

Le verbe UPDATE permet de modifier des lignes déjà présentes dans une table et sa syntaxe est la suivante :
· UPDATE table SET colonne=valeur, colonne=valeur WHERE condition.
La clause WHERE est optionnelle. Si elle est omise, les modifications sont appliquées à la totalité des lignes de la table.
Par exemple, nous changeons la catégorie Koto d’étudiant en prof :
UPDATE membres SET categorie = ‘prof’ WHERE id = 7 .

La requite DELETE

Le verbe DELETE est utilisé pour supprimer des lignes d’une table et sa syntaxe est la suivante :
· DELETE FROM table WHERE condition La clause WHERE est optionnelle. Toutes les lignes sont supprimées si elle est omise.
Dans une base de données relationnelle, il n’est pas possible de supprimer des lignes d’une table si des lignes d’une autre table font référence à l’unedes valeurs de ces lignes (clé étrangère). Cependant MySQL n’implémente pas ce genre de contraint d’intégrité. Il conviendra donc de vérifier au préalable que de telles références n’existent pas avant d’effectuer la suppression.

Notion sur HTTP et HTTPS

Le protocole HTTPS est l’implémentation du protocole HTTP (Hyper Text Transfer Protocol) au-dessus de SSL. Du fait que le démarrage d’une session SSL se fait à l’initiative du client, l’utilisation de HTTPS pour le transfert de pages www doit être spécifiée dans l’URL (Uniform ResourceLocator). Ainsi, pour une URL de la forme http://www.domaine.fr, le client établira une connexion HTTP classique, alors que pour une URL de la forme https://www.domaine.fr, le client ouvrira une session SSL avec le serveur et utilisera ensuite le protocole HTTP au-dessus de cette session.

Principe de fonctionnement

La plupart des navigateurs informent l’utilisateur lorsqu’une page a été obtenue par HTTPS.
En outre, au cours de navigation on passe d’une page obtenue par HTTP à une page obtenue par HTTPS, ou inversement, le navigateur affiche un avertissement à l’utilisateur et dans le bar URL il y a un petit cadenas.
Notons qu’il est fréquent d’entendre parler de « serveur WWW sécurisé » dès qu’il est en mesure d’échanger des pages par HTTPS. Si HTTPS est, probablement, la meilleure solution pour échanger des informations en toute sécurité entre nuclient et un serveur, il faut garder à l’esprit que seul ce transfert est réellement sécurisé. L’utilisation de HTTPS n’augmente en rien la sécurité du serveur lui-même, ni de l’application basée surHTTPS.
Les échanges HTTPS sont cryptés et décryptés à l’aide d’un couple de « clés informatiques » qui sont propres à un serveur :
· La clé privée, qui n’est connue que de ce serveur .
· La clé publique qui est connue du monde entier.
Le navigateur qui accède à un serveur doit récupére la clé publique de ce serveur. Celle-ci lui est transmise depuis le serveur, encapsulée dans un certificat X509 (c’est un fichier informatique). Ce certificat contient donc la clé publique du serveur, validée (« signée ») par un organisme reconnu, appeléCertificateAuthority (CA).

HTML ou HyperText MarkupLanguage [9]

HTML est un langage de description (et non de programmation).Il va nous permettre de décrire l’aspect d’un document, d’y inclure des informations variées (textes, images, sons, animations etc.) et d’établir des relations cohérentes entre ces informations grâce aux liens hypertextes.
La description d’un document HTML passe par l’utilisation de BALISES (ou « TAGS » en anglais).
Une balise est délimitée par les signes <«  » et « > » entre lesquels figure le nom de la balise.
Exemple, la balise de retour à la ligne est <br />.
La plupart du temps, on utilise une balise de début et une balise de fin, qui définissent les propriétés de l’intervalle squelette d’un fichier HTML :
· <!DOCTYPE HTML PUBLIC « -//W3C//DTD HTML 3.2//EN »> : DocType est une directive permettant d’identifier un document comme étant de type HTML. Mais la commande est facultative.
· <HTML>Document à écrire </HTML> : C’est le premier marqueur ou tag que l’on trouve dans un document HTML. Tout le document qui sera écrit par la suite (texte ou marqueur) sera compris entre le tag <HTML> et </HTML>.
· <HEAD> : l’en-tête du document est réservé aux méta-informations (les informations relatives au document) telles que le titre. Ces méta-informations doivent être placées entre les tags <HEAD>de début et </HEAD>de fin. Même si l’en-tête est optionnel, il est important de l’inclure dans un document pour éviterque le logiciel serveur n’ait à balayer
tout le document pour y retrouver l’information recherchée.
• <TITLE>Titre </TITLE> : chaque document HTML, pour être correct, doit disposer d’un titre. Le titre apparaît le plus souvent dans la barre de titre du navigateur Web.
• <LINK > : indique un lien entre le présent document et un autre fichier par exemple les feuilles de style CSS ou des fichiers JavaScript.
· <BODY>et </BODY> : c’est dans cette balise que sera écrit le corps du document qui sera affiché par le navigateur web.

Syntaxe et avantage du CSS

L’un des objectifs majeurs de CSS est de proposer une stylisation indépendante de la structure du document. HTML, par exemple, ne décrit que l’architecture interne, tandis que CSS décrit tous les aspects de la présentation. Cette différence de fonctionnement fournit un certain nombre de bénéfices permettant d’améliorer l’accessibilité, dchanger plus facilement de structure et de présentation, et de réduire la complexité de l’architecture d’un document.
On peut écrire le code CSS à 3 endroits différents,au choix du développeur : [11]
· Méthode A: dans un fichier .css (le moyen le plus recommandé).
· Méthode B: dans l’en-tête du fichier XHTML.
· Méthode C: dans les balises.
La Méthode Ale plus souvent, on inscrit le code CSS dans un fichier spécial ayant l’extension .css (contrairement aux fichiers HTML qui ont l’extension .html). Cette solution apporte de nombreux avantages parmi lesquels la possibilité de pouvoirproposer facilement plusieurs designs différents à os visiteurs

Intérêt et syntaxe JavaScript

JavaScript possède de nombreuses fonctionnalités :
JavaScript permet de réagir à des évènements particuliers.
JavaScript sert de contrôle instantané de donnéesaisies dans le formulaire HTML.
JavaScript livre aux concepteurs de pages web un outil de programmation avec une syntaxe élémentaire. Contrairement à un vrai langage, presque tout le monde peut insérer un petit bout de code JavaScript dans leur page web .
JavaScript permet l’utilisation de textes dynamiques dans une page web. Un texte dynamique est un texte qui change selon les conditions de son environnement (on peut par exemple afficher la date d’aujourd’hui).
Le bout de code représenté dans laFigure 2.09 ci-dessous permet d’afficher une fenêtre avec le texte « Hello world ! ».
De nos jours de nombreux sites implémentent JavaScript pour leur coté design très développés. Cependant JavaScript ne permet de vérifier qu’une petit partie de l’exactitude des valeurs saisies par l’internaute. C’est là qu’intervient PHP pour t outes les vérifications afin de valider l’exactitude de toutes informations susceptibles d’être et peuvent être envoyées à la base de données.

Introduction en PHP [13][14]

L’origine de PHP remonte à 1995 quand RasmusLerdorf a créé PHP/FI, une librairie de scripts Perl. Au fur et à mesure des évolutions, la librairie a été portée en C et agrémentée par de nouvelles fonctionnalités pour créer des pages dynamiques simples pour le web et accéder à quelques sources de données. PHP/FI signifiePersonal Home Page/FormsInterpreter.
· PHP/FI 2.0 sort en 1997 avec succès : 50.000 sites sont déjà tourné.
· PHP 3.0 sort en Juin 1998 possédant des API (Application Programming Interface) et s’identifie sous le nom connu actuellement « PHP: HypertextPreprocessor ».
· PHP 4.0 sort en mai 2000 et apport des performances comme la sécurité, les sessions. Mais c’est encore une programmation procédurale.
· PHP 5.0 basé sur la programmation Orienté objet sortie en 2004.
PHP (HypertextPreprocessor) c’est un langage de script côté serveur c’est à d ire c’est le serveur qui va interpréter le code et générer les codes HTML, CSS, JavaScript qui pourront être retournés et interprétés par le navigateur web. On peut configurer le serveur HTTP pour masquer la qualité dynamique des pages.

Les atouts de PHP

PHP doit sa réputation, par rapport aux autres langages de développement, à des avantages:
· la gratuité et la disponibilité du code source (PHPest distribué sous licence GNU GPL).
· sa richesse fonctionnelle : PHP comporte plus de 1000 fonctions.
· la simplicité d’écriture des scripts.
· la disponibilité sur le Web de nombreux scripts PHPprêts à l’emploi.
· la possibilité d’inclure le script PHP au sein d’une page Htmlpar appel à un fichier .php par la fonction include(‘fichier.php’) ou require(‘fichier.php’) .
· la simplicité de liaison avec des bases de données.De nombreux systèmes de base de données peuvent la supporter, mais le plus utiliséavec le PHP est MySQL, un système de base de données gratuit et disponible sur les plateformes Unix, Linux, et Windows.

Interprétation du code PHP par le serveur[15]

Contrairement au code HTML, le code PHP n’est pas exécuté coté client mais coté serveur. Voici donc le chemin parcouru par ces codes pour être vuspar les clients sur son navigateur après avoir fait des requêtes comme par exemple le remplissaged’un formulaire :
· Votre navigateur envoie la requête que vous avez saisie.
· Le serveur Web cherche dans son arborescence si le fichier existe et si celui-ci porte une extension reconnue comme une application PHP (.php, .php3, …). Si c’est le cas, le serveur Web transmet ce fichier à PHP.
· PHP interprète le fichier, c’est-à-dire qu’il va analyser et exécuter le code PHP. Si ce code contient des requêtes vers une base de données MySQL, PHP envoie la requête SQL. La base de données renvoie alors les informations voulues au script qui peut les exploiter (pour les afficher par exemple).
· PHP continue d’interpréter la page, puis retourne el fichier dépourvu du code PHP (puisqu’il est exécuté) au serveur Web.
· Le serveur Web renvoie finalement le fichier au navigateur de l’utilisateur. Ce fichier ne contient plus que du HTML.
Un script PHP commence toujours par le tag <?phpcode php?>.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

CHAPITRE 1 : SYSTEME D’INFORMATION
1.1 Base de données
1.1.1 Introduction à la base de données
1.1.2 Architecture client/serveur
1.1.2.1 Architecture à 2 niveaux
1.1.2.2 Architecture à 3 niveaux
1.1.2.3 Architecture multi-niveaux
1.1.2.4 Avantages et Inconvénients
1.1.3 Force du modèle relationnel
1.2 Le concept MERISE
1.2.1 Introduction à la méthode MERISE
1.2.2 Phase de réalisation
1.2.2.1 MCC ou Modèle conceptuel de la communication
1.2.2.2 MCD ou Modèle Conceptuelle de Donnée
1.2.2.3 MLD ou Modèle Logique de Donnée
1.2.2.4 MPD ou Modèle Physique de Donnée
1.2.3 Passage du MCD au modèle relationnel
1.3 Interface MySQL
1.3.1 LDD ou Langage de Description de Données
1.3.1.1 Le verbe CREATE
1.3.1.2 Le verbe ALTER TABLE
1.3.2 LMD ou langage de manipulation des données
1.3.2.1 La requête SELECT
1.3.2.2 La requête INSERT
1.3.2.3 La requête UPDATE
1.3.2.4 La requite DELETE
1.4 Notion sur HTTP et HTTPS
1.4.1 Introduction
1.4.2 Principe de fonctionnement
1.5 Protocol SSL
1.5.1 Présentation du Protocol SSL
1.5.2 Les services de SSL
1.6 Conclusion
CHAPITRE 2 : ENVIRONNEMENT WEB
2.1 Généralité sur les sites web
2.1.1 Introduction
2.1.2 Site statique
2.1.3 Site dynamique
2.2 Les langages de développement d’un site web
2.2.1 HTML ou HyperText Markup Language
2.2.2 Les balises HTML dans le corps
2.2.2.1 Les balises de présentation
2.2.2.2 Les unités de mesure en HTML
2.2.2.3 Les couleurs
2.2.3 Le CSS
2.2.3.1 Introduction
2.2.3.2 Syntaxe et avantage du CSS
2.2.4 Le JavaScript
2.2.4.1 Introduction
2.2.4.2 Intérêt et syntaxe JavaScript
2.2.5 Le langage PHP
2.2.5.1 Introduction en PHP
2.2.5.2 Les atouts de PHP
2.2.5.3 Interprétation du code PHP par le serveur
2.2.5.4 Quelque fonction PHP
2.2.5.5 La sécurité de PHP
2.3 Sécurité contre les injections SQL
2.3.1 Introduction
2.3.2 Principe d’attaque par injection SQL
2.3.3 Comment contrer les attaques ?
2.4 Conclusion
CHAPITRE 3 : REALISATION DU PROJET AVEC UN SERVEUR LINUX
3.1 Mise en place d’un système d’information
3.1.1 Introduction
3.1.2 Le MCD de notre système d’information
3.1.3 Le MLD de notre système d’information
3.2 Installation d’un serveur web sous Linux
3.2.1 Présentation du système d’exploitation Linux
3.2.1.1 Introduction
3.2.1.2 Ses avantages et inconvénients
3.2.1.3 Les serveurs Linux possibles
3.2.2 Linux et Apache
3.2.3 Installation du serveur web Apache
3.2.3.1 Pendant l’installation du système
3.2.3.2 Installation avec les paquetages
3.2.3.3 Compiler les fichiers sources
3.2.4 Installation des différents paquets utiles au serveur Web
3.2.4.1 Installation de PHP5
3.2.4.2 Installation de MySQL
3.2.4.3 Installation de PhpMyAdmin
3.2.5 Installation de serveur DNS
3.2.5.1 Introduction
3.2.5.2 Installation de Bind et configuration
3.2.6 Comment les fichiers sont envoyés sur le serveur
3.3 Familiarisation les interfaces du site web
3.3.1 Les détails du site
3.3.1.1 Les parties clients
3.3.1.2 Les parties administrateurs
3.3.2 L’accès à la partie forum
3.4 Conclusion
CONCLUSION GENERALE
ANNEXES
ANNEXE 1 : LES OUTILS DE DEVELOPPEMENT WEB
ANNEXE 2 : CODE SOURCE D’AUTHENTIFICATION
ANNEXE 3 : CODE SOURCE DE TELECHARGEMENT DE FICHIER
BIBLIOGRAPHIE

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *