République Algérienne Démocratique et Populaire
Ministère de l’Enseignement Supérieure et de la Recherche Scientifique
Université Ahmed Draia - Adrar
Faculté des Sciences et de la Technologie
Département des Mathématiques et Informatique
Mémoire de fin d’étude, en vue de l’obtention du diplôme de Master en informatique
Option : Réseaux et Systèmes Intelligents
Thème
Conception et réalisation d’un navigateur de base dedonnées en PHP
Préparé par :
BADJENNA Meriem. BOUCHENTOUF Naoual.
Soutenu le : 04/06/2015 devant le jury composé de :
Mr. OUAHAB Abd elouahab Président
Mr. TOUABI Abdelkader Encadreur
Mr. KADDI Mohammed Examinateur
Mr. BENATILLAH Djelloul Examinateur
Année Universitaire 2014/2015.
Remerciement« Qui ne remercie pas les gens ne remerciera pas le Dieu »
Premièrement et avant tous nous remercions ALLAH, qui nos a donné la force et le
patience pour réaliser ce modeste travail.
Nous exprimons toutes nos gratitudes à notre encadreur Mr "A.TOUABI ",
pour la confiance qu’il nous a accordée pour la réalisation de ce travail.
Nous exprimons nos reconnaissances à touts les enseignants de la faculté des
Sciences et de la Technologie. Merci pour la bonne formation de base que nous avons
bénéficié auprès de vous.
Nous tenons à remercier spécialementMr. BELAGGOUN pour leurs informations.
Nous tenons à remercier, également, tous ceux qui ont participé de près ou de loin à
la réalisation de ce modeste travail.
MERCI
Dédicace
Nous dédions ce travail à :
Nos très chers parents.
Nos très chers frères et sœurs.
Les deux familles BADJENNA et
BOUCHENTOUF.
A notre encadreur A.TOUABI.
A tous les enseignements du département MI.
A tous les étudiants d’informatique,
promotion 2014/2015
Naoual & Meriem
Résumé
Résumé
L’importance de navigateur depuis plusieurs années ou les éditeurs de navigateurs, qu'il
s'agisse, de Microsoft, Google, Apple, ou Mozilla renforcent l'implémentation des
technologies du HTML5 et peaufinent toujours un peu plus les moteurs de rendu et
d'exécution JavaScript. Pour Brendan Eich, directeur technique de Mozilla et créateur du
langage JavaScript, la nature même du projet Firefox est un argument non négligeable.
L'homme rappelle que le gouvernement finira toujours par accéder aux données de
l'utilisateur, quelle que soit la position de la société et les mesures de protection mises en
place car « la plupart des grosse sociétés doivent se soumettre à la loi ». Ou « aujourd'hui
chaque navigateur est édité par une organisation potentiellement dans le champ d'action des
lois de surveillance ».
L’intérêt de ce travail est l’utilisation du navigateur de base de données, pour une
meilleure recherche et sous différentes formes de données.
La conception de cette application informatique est faite par utilisation de la méthode de
conception orientée objet UML. La base de données et l’application ont été respectivement
crées par le SGBD MySQL et le langage PHP, réputés par leurs puissances et dynamismes.
Les mots clés : (Navigateur, HTML5, navigateur BDD, navigateur web, PHP, UML).
Summary
The importance of browser for several years or browser vendors, whether, Microsoft,
Google, Apple, and Mozilla strengthen the implementation of HTML5 technologies and
always refine a little more rendering engines and 'JavaScript execution. Brendan Eich, CTO
of Mozilla and creator of JavaScript, the nature of the Firefox project is a significant
argument.
The man said that the government will ultimately always access the user data, regardless
of the position of the company and protective measures in place because "most of the big
companies must submit to the law." Or "now each browser is published by an organization
potentially within the scope of surveillance laws."
The interest of this work is the use of the database browser for better research and data
in various forms.
Résumé
The design of this computer application is made by using the UML object-oriented
design method. The database and application were respectively created by the MySQL DBMS
and PHP, known by their power and dynamism.
Keywords: (Navigator, HTML5, DB browser, web browser, PHP, UML).
Table des matières
Conception et réalisation d’un navigateur de base de données en PHP ii
Table des matières :
Résumer ………………………………………………………………………………….. i
Table des matières ………………………………………………………………………... ii
Liste des figures ……………………………………………………………………….... v
Problématique ……………………………………………………………………………. vii
Introduction général ……………………………………………………………………… viii
Chapitre I : Présentation générale du projet
Introduction ………………………………………………………………………………. 2
1. Histoire de navigateur ……………………………………………………………… 2
2. C'est quoi un navigateur internet ou navigateur web? ……………………………… 3
2.1. Présentation ………………………………………………………………………… 4
2.2. Principe et fonctionnement d’un navigateur ……………………………………...... 4
2.3. La structure haute niveau d'un navigateur ………………………………………… 5
Conclusion ………………………………………………………………………………... 6
Chapitre II : Méthode de recherche dans BDD
Introduction ……………………………………………………………………………..... 8
1. Définition d’un SGBD ……………………………………………………………. 8
2. Objectifs d'un SGBD ……………………………………………………………… 8
3. Pourquoi des SGBD ? …………………………………………………………….. 9
4. Caractéristiques des SGBD ….…………………………………………………... 9
5. Fonctions des SGBD ……………………………………………………………… 9
5.1. Description des données ………………………………………………………….. 10
5.2. Recherche de données …………………………………………………………….. 10
5.3. Mise à jour des données ………………………………………………………….. 10
5.4. Transformation des données ……………………………………………………… 10
5.5. Contrôle de l’intégrité des données ……………………………………………….. 11
5.6. Gestion de transactions et sécurité ………………………………………………... 11
6. Les différents modèles de bases de données ……………………………………… 11
6.1. le modèle hiérarchique ……………………………………………………………. 11
6.2. le modèle réseau …………………………………………………………………... 11
Table des matières
Conception et réalisation d’un navigateur de base de données en PHP iii
6.3. le modèle relationnel ……………………………………………………………… 12
6.4. le modèle déductif ………………………………………………………………… 12
6.5. le modèle objet ……………………………………………………………………. 12
7. Les différents SGBDR ……………………………………………………………. 12
7.1. Microsoft Access …………………………………………………………………. 12
7.2. Microsoft SQL Server …………………………………………………………….. 13
7.3. MySQL …………………………………………………………………………… 13
7.4. Oracle ……………………………………………………………………………... 13
8. Application des SGBD ……………………………………………………………. 14
9. Méthodologie de la recherche documentaire ……………………………………... 15
9.1. La Méthodologie documentaire …………………………………………………... 15
9.2. Objectifs de la méthodologie ……………………………………………………... 15
9.3. Les buts de la recherche …………………………………………………………... 15
9.4. Préparer sa recherche ……………………………………………………………... 16
9.5. La recherche par expression ………………………………………………………. 17
Conclusion ………………………………………………………………………………... 18
Chapitre III : Conception du système par UML
Introduction ………………………………………………………………………………. 20
1. Définition …………………………………………………………………………. 20
2. Que ce qu'un diagramme UML ? …………………………………………………. 20
3. Caractéristiques des diagrammes UML …………………………………………... 20
4. Points forts et points faibles d'UML ……………………………………………………… 21
4.1. Points forts ………………………………………………………………………………... 21
4.2. Points faibles………………………………………………………………………………. 21
5. Le diagramme utilisé ……………………………………………………………………... 22
5.1. Définition …………………………………………………………………………………. 22
5.2. Les catégories de message ………………………………………………………... 22
5.3. Les messages réflexifs ……………………………………………………………. 24
6. Modélisation avec langage UML …………………………………………………………. 24
Conclusion ………………………………………………………………………………………… 28
Table des matières
Conception et réalisation d’un navigateur de base de données en PHP iv
Chapitre IV : Les langages utilisés et l’implémentation
1. Les langages utilisés …………………………………………………………….. 30
1.1. HTML …………………………………………………………………………… 30
1.1.1 Historique ……………………………………………………………………….. 30
1.1.2 Définition ………………………………………………………………………... 30
1.1.3 Structure de base d'un document HTML ………………………………………... 30
1.1.4 Caractères spéciaux dans HTML ………………………………………………... 31
1.2 PHP ……………………………………………………………………………… 31
1.2.1 Histoire de langage ……………………………………………………………… 31
1.2.2 Définition de PHP ……………………………………………………………….. 31
1.2.3 Syntaxe de PHP …………………………………………………………………. 32
1.2.4 Avantages ……………………………………………………………………..... 32
1.2.5 Inconvénients ……………………………………………………………………. 32
1.2.6 La différence entre HTML et PHP ……………………………………………… 32
1.3. MySQL ………………………………………………………………………...... 33
1.3.1 Définition ………………………………………………………………………... 33
1.3.2 Avantage ………………………………………………………………………… 33
1.3.3 Inconvénients ……………………………………………………………………. 33
1.3.4 Pourquoi utiliser PHP/MySQL ? ………………………………………………... 34
1.3.5 Les multiples possibilités du PHP/MySQL ……………………………………... 34
2. L’implémentation ……………………………………………………………….. 34
2.1. Définition de la structure ………………………………………………………... 34
2.2. Base de données …………………………………………………………………. 34
2.2.1 Structure de la base ……………………………………………………………… 34
2.3 L’organigramme général du projet ……………………………………………… 35
Conclusion générale …………………………………………………………………….. 43
Bibliographie ……………………………………………………………………………. 45
Glossaire
Liste des tableaux et des figures
Conception et réalisation d’un navigateur de base de données en PHP v
Lise des tableaux :
Tableau 1: Types de diagrammes ........................................................................................
Liste des figures :
20
Figure 1 : Quelque navigateur existe ......................................................................... 4
Figure 2 : Les composants principaux d'un navigateur ............................................. 6
Figure 3 : Modèle hiérarchique .................................................................................. 11
Figure 4 : Modèle réseau ............................................................................................ 11
Figure 5 : Modèle relationnel ..................................................................................... 12
Figure 6 : Modèle objet .............................................................................................. 12
Figure 7 : Architecture d’un SGBD à trois niveaux .................................................. 14
Figure 8 : Exemple d'un diagramme de séquence ..................................................... 22
Figure 9 : Message synchrone .................................................................................... 22
Figure 10 : Message asynchrone .................................................................................. 23
Figure 11 : Message procédure .................................................................................... 23
Figure 12 : Retour de procédure .................................................................................. 24
Figure13 : Les messages réflexifs……………………………………………………… 24
Figure 14 : Recherche d’utilisateur .............................................................................. 25
Figure 15 : Charger un objet ....................................................................................... 26
Figure 16 : Modifier un objet ...................................................................................... 27
Figure 17 : Supprimer d’un objet ................................................................................ 28
Figure 18 : L’organigramme général du projet. .............................................................. 35
Figure 19: L’interface principale de l’application…………………………………… 36
Figure 20: La page de recherche avant la connexion………………………………... 37
Figure 21: résultat de la recherche avant la connexion aussi………………………... 37
Figure 22: L’interface principale après connexion…………………………………... 38
Figure 23: Résultat de la recherche après la connexion…………………………… 39
Figure 24: La page d’ajout des objets……………………………………………….. 39
Figure 25: la page de modification…………………………………………………... 40
Liste des tableaux et des figures
Conception et réalisation d’un navigateur de base de données en PHP vi
Figure 26: La page de suppression…………………………………………………... 40
Figure 27: Liste des administrateurs………………………………………………... 41
Introduction générale
Introduction générale
Conception et réalisation d’un navigateur de base de données en PHP viii
Introduction générale
Le navigateur de base de données, ce n’est pas un navigateur web tel que Google,
Netscape ou Yahoo mais c’est un navigateur qui permettra de stocker des informations au
niveau d’une grande base de données dites une feuille de données.
La particularité de cette base de données est qu’elle est de taille importante et avec
différents types de données (des fichiers de type document ; des images et des fichiers
Acrobat Reader et autres …). Le stockage et extraction des informations dans une grande base
de données est plus difficiles surtout selon un type de recherche selon des critères différents.
Notre projet consiste à trouver une solution de recherche multicritères et de développer
une application en PHP un navigateur de cette base de données pour une consultation, une
recherche et le téléchargement des fichiers types.
Ce mémoire est organisé en en quatre chapitres, dans le premier chapitre une présentation sur
les navigateurs en générale. Dans le deuxième chapitre on présentera une méthode de
recherche dans une base de données. Troisième chapitre concernera les quelques notions de
base sur la méthode UML sont rappelées (Conception du système par la méthode UML) et
quelques diagrammes de notre objet de travail. Le dernier chapitre sera sujet du langage
utilisé pour la réalisation et les différentes interfaces d’implémentation du navigateur de Bases
de données.
Problématique et Objectif
Conception et réalisation d’un navigateur de base de données en PHP vii
Problématique
Le volume d’information dans les bases de données ne cesse d’augmenter journalier ment
et dans différentes formes d’où la nécessité de stocker les différentes types d’information dans
une même base de données et de développer un outil d’interrogation de cette base de données
pour la restauration et l’affichage de ces données dans leur différentes formes telles qu’elles
sont créés.
Les méthodes classiques d’indexation des fichiers ne répondent plus ou devient de plus
en plus faible vu le temps de réponses dans la recherche d’information est de plus en plus long
ce qui nous pousse à trouver une nouvelle façon de faire à savoir de développer un navigateur
pour consulter plus rapidement et dans n’importe qu’elle forme et pour une meilleure
utilisation.
Objectif
L’objectif de ce projet se résume au le développement et la réalisation d’une application
informatique qui permettra aux utilisateurs de bien rechercher au niveau de la base de données
et sous plusieurs formes d’information. Et offrir la possibilité de consultation et le chargement
des fichiers désirés.
Chapitre I
Présentation générale du
navigateur
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 2
Introduction
Aujourd’hui, la science et la technologie se développent rapidement. Les navigateurs Web
sont probablement des logiciels les plus utilisés, pour accès à l’internet tel que l’internet est
une application des technologies nouvelles qui joue un rôle très important dans la recherche
scientifique. C’est quoi un navigateur internet ou navigateur web?
1. Histoire de navigateur [1]
Le premier navigateur a été créé - au cours de l'année 1990 - par Tim Berners Lee au
moment où celui-ci pose les bases du futur Web mondial. Baptisé « WorldWideWeb », ce
navigateur fonctionnait alors sur la plateforme NeXT et proposait un nombre important de
fonctionnalités dont un module d'édition WYSIWIG permettant l'ajout d'informations.
Toutefois, les plateformes NeXT n'étaient pas très répandues et il devenait important de
développer une version moins complète mais plus universelle.
C'est Nicola Pellow, une mathématicienne du CERN, qui crée ce premier navigateur en
mode texte et utilisable sur n'importe quel système. Ainsi, la période 1991-1993 est marquée
par la naissance de plusieurs navigateurs. On peut évoquer Erwise, le navigateur développé
par des étudiants de l'université d'Helsinki, Midas (pour PC) conçu par Tony Johnson du
SLAC, mais également Viola (Unix/PC) de l'étudiant Pei Wei de Berkeley, ainsi que Samba
(pour Mac) créé par Robert Cailliau.
Au mois de février 1993, un certain Marc Andreessen, étudiant à l'Université de l'Illinois,
propose Mosaic, premier navigateur graphique développé au début pour Unix et X Windows
puis rapidement disponible pour les environnements PC et Macintosh. Mosaic supporte
l'affichage des images (reconnaissance de la balise IMG) ce qui contribue à donner un
nouveau souffle au monde des navigateurs et, par conséquent, au Web.
Mosaic va commencer à susciter de plus en plus d'intérêts et Marc Andreessen décide alors de
fonder Mosaic Communications Corp.
Des améliorations sont apportées à l'outil et Mosaic évolue progressivement vers une
société et un logiciel du même nom : Netscape. On assiste alors à l'apparition de Mosaic
Netscape suivi, à la fin de l'année 1994, par la mise à disposition de Netscape 0.9. Le succès
est immédiat. Distribué gratuitement aux universités et aux chercheurs, Netscape est en
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 3
téléchargement libre sur l'Internet. Il devient le navigateur le plus utilisé, bien loin devant les
autres (y compris Mosaic).
Dans le même temps, d'autres navigateurs tentent de se créer un espace. On peut citer, par
exemple, Cello, IBM webExplorer, CyberDog, Amaya ou encore Lynx qui est d'ailleurs
encore utilisé aujourd'hui.
Bill Gates avait déclaré en 1994 : « Le Web ça ne marchera jamais ». Mais l'année suivante,
celui-ci décide de livrer un navigateur baptisé MSIE avec le système d'exploitation Windows
95 (sorti le 24 août 1995). Si la première approche de Microsoft est strictement propriétaire, la
société de Redmond commence à réorienter sa stratégie pour mieux grignoter des parts de
marché. Mais, en 1996, Netscape - appelé également Netscape Navigator - réagit en sortant
une version V2.0 encore plus performante et qui intègre différentes technologies : module
d'extension RealAudio, éditeur HTML WYSIWYG, client messagerie intégré.
Aujourd'hui, Internet Explorer domine largement le marché. Mais pour combien de temps
encore ? En effet, un concurrent de taille - Firefox - est apparu et sa progression semble
fulgurante. Le jour de son lancement - le 9 novembre 2004 - plus d'un million de copies
auraient été téléchargées. 23 jours plus tard, le chiffre dépassait la barre des 8 millions
dépassant les pronostics les plus optimistes des développeurs de Firefox qui visaient le chiffre
de 10 millions pour la fin décembre. Le 16 décembre 2004, la fondation Mozilla annonçait
que le navigateur avait atteint - 99 jours après la sortie de Firefox 1.0 - la barre des 25
millions de téléchargements (Voir communiqué de la fondation Mozilla).
Il est vrai que Mozilla Firefox est un navigateur puissant et convivial qui facilite notamment
la gestion de ses marque-pages (terme consacré par Firefox pour nommer les signets) à travers
les fonctions de création de dossiers, d'ajout de notes, de tri des marque-pages selon certains
critères, …etc.
2. C'est quoi un navigateur internet ou navigateur web? [1]
Le navigateur web, ou navigateur internet ou navigateur tout court, est la fenêtre qui
s'ouvre et dans laquelle s'affichent les sites Internet que je visite. Je surfe sur Internet grâce
à un navigateur. Autrement dit, sans navigateur, impossible d'accéder à Internet.
Il existe plusieurs logiciels offrant ce service. Par défaut, j'utilise celui que m'a proposé
mon fournisseur d'accès à Internet (Alice, AOL, Free, Neuf, Numéricable, Orange...), mais
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 4
il en existe d'autres. Le logo en haut à gauche de la fenêtre de navigation me permet de
savoir lequel j'utilise actuellement. Par exemple :
Figure 1: quelque navigateur existe [1]
2.1. Présentation du navigateur
Un navigateur web est un logiciel conçu pour surfer sur le World Wide Web et en consulter
les pages.
Sur le plan technique, un navigateur est au minimum un client http c’est-à-dire un logiciel
conçu pour se connecter à un serveur http.
Ce type de logiciel comprend un moteur de rendu des standards du web, une interface
utilisateur et, éventuellement, un gestionnaire d'extensions ou plugins.
La grande majorité des navigateurs présente une interface utilisateur composée d'une zone
d'affichage (éventuellement gérée sous forme d'onglets), d'une barre de menus déroulants
d'une barre d'outils et d'une barre d'état.
2.2. Principe et fonctionnement d’un navigateur [2]
Le but principal d'un navigateur est de présenter la ressource Web que vous choisissez, en
faisant la demande à partir du serveur et de l'afficher sur la fenêtre du navigateur. La
ressource est généralement un document HTML, mais peut aussi être un PDF, une image ou
un autre type. L'emplacement de la ressource est spécifié par l'utilisateur à l'aide d'une URL.
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 5
La façon dont le navigateur interprète et affiche les fichiers HTML est précisée dans les
spécifications HTML et CSS. Ces spécifications sont maintenues par l'organisation W3C
(World Wide Web Consortium), organisation des normes du Web.
Les interfaces des navigateurs ont beaucoup d'éléments en commun. On y trouve :
une barre d'adresse pour insérer l'URL ;
des boutons « Précédent » et « Suivant » ;
des options de marque-pages ;
des boutons d'actualisation et d'arrêt pour se rafraîchir et arrêter le chargement des
documents courants ;
un bouton « Accueil » qui vous ramène à votre page d'accueil.
2.3. La structure haut niveau d'un navigateur
Les principaux composants d'un navigateur sont :
1. L'interface utilisateur - ce qui inclut la barre d'adresse, les boutons avant et arrière, le
menu de marque-page, etc. En fait, chacune des parties affichées par le navigateur
excepté la fenêtre principale dans laquelle vous voyez la page demandée ;
2. Le moteur du navigateur - contrôle les actions entre l'interface et le moteur de
rendu ;
3. Le moteur de rendu - responsable de l'affichage du contenu demandé. Par exemple,
si le contenu demandé est au format HTML, il est chargé d'analyser le code HTML et
CSS et d'afficher le contenu analysé à l'écran ;
4. Le réseau - utilisé pour les appels réseau, comme les requêtes HTTP. Il possède une
interface indépendante de la plateforme et en dessous des implémentations pour
chaque plateforme ;
5. L'interface utilisateur (UI backend) - utilisée pour dessiner des widgets de base
comme des listes déroulantes et des fenêtres. Le navigateur expose une interface
générique qui n'est pas spécifique à la plateforme. En dessous, il utilise l'interface
utilisateur du système d'exploitation ;
6. L'interpréteur JavaScript - utilisé pour analyser et exécuter le code JavaScript ;
7. Le stockage de données - il s'agit d'une couche de persistance. Le navigateur doit
enregistrer toutes sortes de données sur le disque dur, par exemple, des cookies. La
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 6
nouvelle spécification HTML (HTML5) définit le terme « base de données Web », qui
est un système complet (bien que léger) de base de données dans le navigateur.
Figure 2 : les composants principaux d'un navigateur [2]
Conclusion
Il existe plusieurs navigateurs internet et dans ce chapitre nous avons présentés en générale
des idées sur les navigateurs existant, donc nous volons proposés un nouveau navigateur et on
va vu les détailles dans le chapitre suivant.
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 6
nouvelle spécification HTML (HTML5) définit le terme « base de données Web », qui
est un système complet (bien que léger) de base de données dans le navigateur.
Figure 2 : les composants principaux d'un navigateur [2]
Conclusion
Il existe plusieurs navigateurs internet et dans ce chapitre nous avons présentés en générale
des idées sur les navigateurs existant, donc nous volons proposés un nouveau navigateur et on
va vu les détailles dans le chapitre suivant.
Chapitre I présentation générale du navigateur
Conception et réalisation d’un navigateur de base de données en PHP 6
nouvelle spécification HTML (HTML5) définit le terme « base de données Web », qui
est un système complet (bien que léger) de base de données dans le navigateur.
Figure 2 : les composants principaux d'un navigateur [2]
Conclusion
Il existe plusieurs navigateurs internet et dans ce chapitre nous avons présentés en générale
des idées sur les navigateurs existant, donc nous volons proposés un nouveau navigateur et on
va vu les détailles dans le chapitre suivant.
Chapitre II
Méthode de recherche dans une
BDD
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 8
Introduction :
L’écriture des programmes par des programmeurs d’application utilisant le système de
gestion de fichiers pour gérer et exploiter les données liés au manque de sécurité et la
multiplication des efforts.
1. Définition d’un SGBD [3]
Un SGBD est un logiciel qui prend en charge la structuration, le stockage, la mise à jour et
la maintenance d'une base de données. Il est l'unique interface entre les informaticiens et les
données (définition des schémas, programmation des applications), ainsi qu'entre les
utilisateurs et les données (consultation et mise à jour).
Exemples :
Oracle est un SGBD relationnel (et relationnel-objet dans ses dernières versions)
très reconnu pour les applications professionnelles.
MySQL est un SGBD relationnel libre (licence GPL et commerciale), simple
d'accès et très utilisé pour la réalisation de sites Web dynamiques. Depuis la version
4 MySQL implémentent la plupart des fonctions attendues d'un SGBD relationnel.
PosgreSQL est un SGBD relationnel et relationnel-objet très puissant qui offre une
alternative open source aux solutions commerciales comme Oracle ou IBM.
Access est un SGBD relationnel Microsoft, qui offre une interface conviviale
permettant de concevoir rapidement des applications de petite envergure ou de
réaliser des prototypes à moindre frais.
2. Objectifs d'un SGBD:
Les objectifs d’un système de gestion de bases de données sont :
Masquer les aspects de stockage.
- Indépendance logique
- Indépendance physique
Gérer efficacement les données.
Faciliter l'extraction et l'ajout d'information.
Optimiser les traitements de l’information.
Assurer la sécurité des données.
Éviter les conflits lors d’exploitation partagée.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 9
3. Pourquoi des SGBD ?
Avant l'avènement des SGBD, chaque application informatique dans l'entreprise
impliquait sa propre équipe de développement, ses propres supports physiques, ses
propres fichiers, ses propres normes, ses propres langages, etc.
Conséquences :
L'existence conjointe et croissante de ces applications indépendantes a des effets
négatifs, tels que :
La multiplication des tâches de saisie, de développement et de support informatique
La redondance anarchique des informations dans les fichiers
L'incohérence des versions simultanées de fichiers
La non-portabilité des traitements en raison des différences dans les formats et
langages.
La multiplication des coûts de développement et de maintenance des applications.
4. Caractéristiques des SGBD [4]
La conception d'un système d'information pour être rationnelle à l'échelle d'une
entreprise se doit d'adopter un certain nombre de principes, tels que :
Une description des données indépendante des traitements
Une maintenance de la cohérence de données
Le recours à des langages non procéduraux, interactifs et structurants
5. Fonctions des SGBD :
Il supporte de plus en plus fréquemment des fonctions avancées pour la gestion de
procédures et d’événements. Toutes ces fonctionnalités sont illustrées par des exemples
simples.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 10
5.1. Description des données :
Un SGBD offre donc des interfaces pour décrire les données. La définition des différents
schémas est effectuée par les administrateurs de données ou par les personnes jouant le rôle
d’administrateur.
Dans un SGBD ou un environnement de développement de bases de données supportant
trois niveaux de schémas, les administrateurs de données ont trois rôles :
Administrateur de bases de données : L’exécutant de ce rôle est chargé de la
définition du schéma interne et des règles de correspondance entre les schémas
interne à conceptuel.
Administrateur d’entreprise : Le porteur de ce rôle est chargé de la définition du
schéma conceptuel.
Administrateur d’application : L’attributaire est chargé de la définition des
schémas externes et des règles de correspondance entre les schémas externe et
conceptuel.
5.2. Recherche de données :
Tout SGBD fournit des commandes de recherche de données. Les SGBD modernes offrent
un langage d’interrogation assertion permettant de retrouver les données par le contenu sans
préciser la procédure d’accès. Les SGBD de première génération offraient des langages
procéduraux permettant de rechercher un objet dans la base de données par déplacements
successifs. Afin d’illustrer un langage de requête non procédural, nous introduisonsin
formellement un langage dérivé du langage QUEL adapté au modèle entité-association.
5.3. Mise à jour des données :
Insertion, modification, suppression: Grâce à un Langage de Manipulation de Données
(LMD)
5.4. Transformation des données :
Ex : Changement de format : date sur 2 chiffres →date sur 4 chiffres
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 11
Figure3 : modèle hiérarchique [5]
Figure4 : modèle réseau [5]
5.5. Contrôle de l’intégrité des données :
Exactitude des données stockées dans la base (respect des contraintes d’intégrité)
Maintien de la cohérence entre les copies multiples d’une même donnée.
5.6. Gestion de transactions et sécurité :
Gestion des transactions = s’assurer qu’un groupe de mises à jour est totalement exécuté ou
pas du tout (atomicité des transactions).
Sécurité = personnalisation des accès à la base, mots de passe.
6. Les différents modèles de bases de données [5]:
Les bases de données sont apparues à la fin des années 60, à une époque où la nécessité d'un
système de gestion de l'information souple se faisait ressentir.
Il existe cinq (5) modèles de SGBD, différenciés selon la représentation des données qu'elle
contient :
6.1. le modèle hiérarchique : les données sont classées hiérarchiquement, selon une
arborescence descendante. Ce modèle utilise des pointeurs entre les différents
enregistrements. Il s'agit du premier modèle de SGBD (ex : DLI)
6.2. le modèle réseau : comme le modèle hiérarchique ce modèle utilise des pointeurs
vers des enregistrements. Toutefois la structure n'est plus forcément arborescente
dans le sens descendant
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 11
Figure3 : modèle hiérarchique [5]
Figure4 : modèle réseau [5]
5.5. Contrôle de l’intégrité des données :
Exactitude des données stockées dans la base (respect des contraintes d’intégrité)
Maintien de la cohérence entre les copies multiples d’une même donnée.
5.6. Gestion de transactions et sécurité :
Gestion des transactions = s’assurer qu’un groupe de mises à jour est totalement exécuté ou
pas du tout (atomicité des transactions).
Sécurité = personnalisation des accès à la base, mots de passe.
6. Les différents modèles de bases de données [5]:
Les bases de données sont apparues à la fin des années 60, à une époque où la nécessité d'un
système de gestion de l'information souple se faisait ressentir.
Il existe cinq (5) modèles de SGBD, différenciés selon la représentation des données qu'elle
contient :
6.1. le modèle hiérarchique : les données sont classées hiérarchiquement, selon une
arborescence descendante. Ce modèle utilise des pointeurs entre les différents
enregistrements. Il s'agit du premier modèle de SGBD (ex : DLI)
6.2. le modèle réseau : comme le modèle hiérarchique ce modèle utilise des pointeurs
vers des enregistrements. Toutefois la structure n'est plus forcément arborescente
dans le sens descendant
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 11
Figure3 : modèle hiérarchique [5]
Figure4 : modèle réseau [5]
5.5. Contrôle de l’intégrité des données :
Exactitude des données stockées dans la base (respect des contraintes d’intégrité)
Maintien de la cohérence entre les copies multiples d’une même donnée.
5.6. Gestion de transactions et sécurité :
Gestion des transactions = s’assurer qu’un groupe de mises à jour est totalement exécuté ou
pas du tout (atomicité des transactions).
Sécurité = personnalisation des accès à la base, mots de passe.
6. Les différents modèles de bases de données [5]:
Les bases de données sont apparues à la fin des années 60, à une époque où la nécessité d'un
système de gestion de l'information souple se faisait ressentir.
Il existe cinq (5) modèles de SGBD, différenciés selon la représentation des données qu'elle
contient :
6.1. le modèle hiérarchique : les données sont classées hiérarchiquement, selon une
arborescence descendante. Ce modèle utilise des pointeurs entre les différents
enregistrements. Il s'agit du premier modèle de SGBD (ex : DLI)
6.2. le modèle réseau : comme le modèle hiérarchique ce modèle utilise des pointeurs
vers des enregistrements. Toutefois la structure n'est plus forcément arborescente
dans le sens descendant
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 12
Figure5 : Modèle relationnel [5]
Figure6 : Modèle objetFigure6 : Modèle objet [5]
6.3. le modèle relationnel (SGBDR, Système de gestion de bases de données
relationnelles) : les données sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes). La manipulation de ces données se fait selon la
Théorie mathématique des relations
6.4. le modèle déductif : les données sont représentées sous forme de table, mais leur
manipulation se fait par calcul de prédicats
6.5. le modèle objet (SGBDO, Système de gestion de bases de données objet) : les
données sont stockées sous forme d'objets, c'est-à-dire de structures appelées
classes présentant des données membres. Les champs sont des instances de ces
classes
7. Les différents SGBDR [6]
7.1. Microsoft Access :
Pour qui ? SGBDR destiné au grand public et aux PME.
simple d'utilisation, dispose d'une interface graphique conviviale permettant
notamment de générer des requêtes d'extraction de données grâce a des
assistants ou a une technologie propriétaire appelée QBE.
budget beaucoup plus faible que les autres SGBDR puisque Accès est livré
avec Microsoft Office pour Windows en standard.
Peu performant pour les bases très volumineuses car non adapté à ces dernières
et ne permet pas de créer des applications multi-plateformes car il n'est
compatible qu'avec les systèmes d'exploitation Microsoft.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 12
Figure5 : Modèle relationnel [5]
Figure6 : Modèle objetFigure6 : Modèle objet [5]
6.3. le modèle relationnel (SGBDR, Système de gestion de bases de données
relationnelles) : les données sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes). La manipulation de ces données se fait selon la
Théorie mathématique des relations
6.4. le modèle déductif : les données sont représentées sous forme de table, mais leur
manipulation se fait par calcul de prédicats
6.5. le modèle objet (SGBDO, Système de gestion de bases de données objet) : les
données sont stockées sous forme d'objets, c'est-à-dire de structures appelées
classes présentant des données membres. Les champs sont des instances de ces
classes
7. Les différents SGBDR [6]
7.1. Microsoft Access :
Pour qui ? SGBDR destiné au grand public et aux PME.
simple d'utilisation, dispose d'une interface graphique conviviale permettant
notamment de générer des requêtes d'extraction de données grâce a des
assistants ou a une technologie propriétaire appelée QBE.
budget beaucoup plus faible que les autres SGBDR puisque Accès est livré
avec Microsoft Office pour Windows en standard.
Peu performant pour les bases très volumineuses car non adapté à ces dernières
et ne permet pas de créer des applications multi-plateformes car il n'est
compatible qu'avec les systèmes d'exploitation Microsoft.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 12
Figure5 : Modèle relationnel [5]
Figure6 : Modèle objetFigure6 : Modèle objet [5]
6.3. le modèle relationnel (SGBDR, Système de gestion de bases de données
relationnelles) : les données sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes). La manipulation de ces données se fait selon la
Théorie mathématique des relations
6.4. le modèle déductif : les données sont représentées sous forme de table, mais leur
manipulation se fait par calcul de prédicats
6.5. le modèle objet (SGBDO, Système de gestion de bases de données objet) : les
données sont stockées sous forme d'objets, c'est-à-dire de structures appelées
classes présentant des données membres. Les champs sont des instances de ces
classes
7. Les différents SGBDR [6]
7.1. Microsoft Access :
Pour qui ? SGBDR destiné au grand public et aux PME.
simple d'utilisation, dispose d'une interface graphique conviviale permettant
notamment de générer des requêtes d'extraction de données grâce a des
assistants ou a une technologie propriétaire appelée QBE.
budget beaucoup plus faible que les autres SGBDR puisque Accès est livré
avec Microsoft Office pour Windows en standard.
Peu performant pour les bases très volumineuses car non adapté à ces dernières
et ne permet pas de créer des applications multi-plateformes car il n'est
compatible qu'avec les systèmes d'exploitation Microsoft.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 13
7.2. Microsoft SQL Server :
Pour qui ? SGBDR beaucoup plus professionnelle qu'Access. elle est donc
destinée à des applications beaucoup plus volumineuses et complexes
possède comme son nom l'indique de fonctions client/serveur évoluées lui
permettant ainsi d'être utilisé dans de grosses infrastructures informatiques
SQL Server peut facilement être interfacé avec les principaux langages de
programmation comme le C++, l'ASP notamment grâce à la suite Visual
Studio destinée aux développeurs.
Il va de soit que cette solution est beaucoup plus onéreuse que son homologue
grand public/PME (Access).
7.3. MySQL :
MySQL est une base de données Open Source, c'est à dire qu'elle est
totalement gratuite et qu'elle donne la possibilité aux développeurs
expérimentés de la modifier à volonté pour étendre ses capacités
Ce SGBDR est donc destiné à tout public, sauf pour les grosses infrastructures
à cause de son manque de maturité.
MySQL est très simple d'utilisation et s'interface parfaitement avec les
langages orientés web et particulièrement le PHP.
7.4. Oracle :
Oracle est le maitre des bases de données, il est le SGBDR le plus abouti et le
utilisé dans les grosses entreprises notamment grâce à sa fiabilité sur des bases
très volumineuses
Par exemple une banque choisira ce SGBDR sans la moindre hésitation.
Mais qui dit fiabilité, maturité, notoriété, dit gros budget. Les PME et
particuliers s'en passeront pour des alternatives moins onéreuses.
8. Niveaux de schémas : Dans ce niveau on parle sur le niveau d’abstraction
8.1.Niveaux d’abstraction :
a- niveau conceptuel :
structure canonique des données qui existent dans une entreprise sans souci
d’implantation en machine
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 14
une vue intégrée de tous les utilisateurs (schéma conceptuel = schéma
relationnel)
b- niveau interne :
structure de stockage supportant les données
fichiers (localisation), organisation du fichier, chemins d’accès (index…)
c- niveau externe :
vision spécifique du schéma conceptuel par un groupe d’utilisateurs
Figure7 : Architecture d’un SGBD à trois niveaux [7]
9. Application des SGBD [8]
Informatique de gestion
informatique décisionnelle : fouille de données (datamining), entrepôts de données
(data ware house), modèle multidimensionnel
Types de données liés aux applications spécifiques : données multimédia, application
géographiques (SIG), données techniques, ...
Gestion de documents et web : arbres XML, graphes RDF, NOSQL.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 15
10. Méthodologie de la recherche documentaire [9]
10.1. Définition
C'est l'ensemble des étapes permettant de chercher, identifier et trouver des documents
relatifs à un sujet par l'élaboration d'une stratégie de recherche.
Pourquoi ?
Dans un contexte de surabondance d'informations (infobésité) et de diversité de ses
supports, les processus de recherche documentaire et de validation de l'information requièrent
la mise en application d'une méthodologie efficace.
10.2. Objectifs de la méthodologie :
La finalité d'une bonne méthodologie de recherche est de faciliter la production d'un travail
universitaire alliant richesse documentaire et rigueur scientifique.
Elle va s'articuler autour de 5 étapes successives :
1. Préparer sa recherche
2. Sélectionner les sources d'information
3. Chercher et localiser les documents
4. Évaluer la qualité et la pertinence des sources
5. Mettre en place une veille documentaire
10.3. Les buts de la recherche
Les questions préalables :
1. Quelle est la nature du travail à produire ?
- exposé, mémoire, article, rapport d'étude, etc.
2. Quel est le niveau attendu de l’information ?
- information de base : un ou deux ouvrages et une encyclopédie suffiront
- information plus pointue ou plus développée : se diriger vers des articles de
périodiques, conférences, rapports, thèses, normes…
3. Quelle est la nature de l’information recherchée ?
- développements sur un sujet, données statistiques, schémas techniques, etc.
4. Quel est le degré d’actualité de l’information recherchée ?
- des documents d'archives aux derniers résultats connus de la recherche...
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 16
10.4. Préparer sa recherche :
Il s'agit de questionner le sujet dans toutes ses dimensions, de le formuler en une phrase
courte, de sélectionner les concepts importants et de chercher des synonymes.
Cette étape doit permettre de poser la problématique, de cerner les besoins documentaires et
de sélectionner les concepts/mots clés nécessaires à l'interrogation des sources documentaires.
a- Définir le sujet :
Choix du sujet :
Vos connaissances préalables et vos intérêts personnels sur le sujet ainsi que sa pertinence
par rapport à l'enseignement auquel il se rattache sont des éléments fondamentaux qui doivent
guider votre choix.
Première approche documentaire :
Pour clarifier le sujet et l'appréhender globalement, on peut consulter des documents qui
donnent une vue d'ensemble sur la question.
Quels types de documents ?
A ce stade, la documentation utilisée concernera essentiellement des dictionnaires et
encyclopédies (support papier ou en ligne), des manuels ou des articles de synthèse.
b- Cerner le sujet :
La méthode QQQOCP :
C'est un moyen mnémotechnique permettant de retenir un ensemble de questions simples
qui vont être utilisées pour cerner, préciser et approfondir un sujet :
Qui ? = Quels sont les acteurs, les personnes impliquées ?
Quoi ? = Quels sont les aspects qui m'intéressent ?
Quand ? = Quelle est la période concernée ?
Où ? = Le sujet est-il circonscrit à une zone géographique précise ?
Comment ? = Quelles approches ou points de vue faut-il considérer ? (historique,
sociologique, économique, politique, etc.).
Pourquoi ? = Quelle est l'importance du sujet dans le contexte actuel ?
c- Formuler le sujet :
Une phrase courte :
Le sujet doit être exprimé en une phrase courte, si possible sous forme de question et à l'aide
de termes significatifs. Cet énoncé de recherche doit être le plus précis possible.
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 17
Des concepts clés :
Chaque terme de l'énoncé est important et va correspondre à des concepts/mots clés qui
vont servir à élaborer les équations de recherche.
Une sélection de termes :
Il est conseillé pour chaque concept, de rechercher un ou plusieurs synonymes ou termes
associés ainsi que leur traduction en langue anglaise.
10.5. La recherche par expression :
L'utilisation des guillemets « » permet de lancer une recherche sur une « chaîne de
caractères » (mêmes mots dans le même ordre). Elle est particulièrement utile lorsqu'une
recherche entraîne un trop grand nombre de résultats ou pour rechercher précisément une
expression.
Ex. : « vitamine C » recherchera les références contenant cette expression dans l'ordre où
sont saisis les termes.
La casse (majuscules, mots vides) :
Il est recommandé pour toute recherche sur une base de données ou un catalogue de
bibliothèque de n'utiliser que des lettres minuscules non accentuées. Les mots vides sont les
mots non significatifs tels que les articles, les prépositions, les pronoms, etc. A l'exception
d'une recherche par expression, ils sont totalement inutiles.
Evaluer la qualité et la pertinence des sources :
Pourquoi évaluer ses sources ?
Un travail de recherche doit s’appuyer sur des informations fiables. Cela est
particulièrement vrai lorsque les recherches portent sur des sites web. Toute information dont
on ignore la provenance devrait a priori être écartée.
Quels sont les principaux critères de fiabilité des sources ?
- L'auteur, l'éditeur de la ressource,
- La date de publication du document,
- Le domaine de la ressource (adresse URL),
- L'objectif du site,
- La notoriété, l'indice de popularité du site,
- Le contenu de l'information (structuration, argumentation, sources, etc.).
Chapitre II méthode de recherche dans BDD
Conception et réalisation d’un navigateur de base de données en PHP 18
Conclusion
Dans ce chapitre, on a étudié les méthodes de recherche dans BDD
ainsi qu’une initiation à l’utilisation d’un navigateur de base de données et surtout comment
effectuer une recherche.
Chapitre III
Conception du système par UML
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 20
Introduction
Dans ce chapitre, on découvrira le principe de modélisation d'objet. Le sigle « UML »
signifie Unified Modeling Language, que l'on peut traduire par « langage de modélisation
unifié ». Il ne s'agit pas d'un langage de programmation, mais plutôt d'une méthode de
modélisation.
1. Définition : [10]
UML (Unified Modeling Language, que l'on peut traduire par "langage de
modélisation unifié) est une notation permettant de modéliser un problème de façon
standard. Ce langage est né de la fusion de plusieurs méthodes existant auparavant , et est
devenu désormais la référence en terme de modélisation objet , à un tel point que sa
connaissance est souvent nécessaire pour obtenir un poste de développeur objet .
2. Que ce qu'un diagramme UML ? [12]
Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect
précis du modèle ; c'est une perspective du modèle. Chaque type de diagramme UML possède
une structure (les types des éléments de modélisation qui le composent sont prédéfinis) et
véhicule une sémantique précise (il offre toujours la même vue d'un système).
UML s’articule maintenant autour de 13 diagrammes différents, qui sont classifiés
dans le tableau suivant :
Fonctionnelle Structurelle Dynamique- Diagramme de casd’utilisation- Diagramme d’étatstransition et diagrammed’activité
-Diagramme de classe- Diagramme d’objet- Diagramme de composant- Diagramme de déploiement- Diagramme de paquetages-Diagramme de structurescomposites
-Diagramme de séquence-Diagrammes decommunication-Diagramme globald’interaction et temps.
Tableaux1:Types de diagrammes [12]
3. Caractéristiques des diagrammes UML [11]
Les diagrammes UML supportent l'abstraction. Leur niveau de détail caractérise le
niveau d'abstraction du modèle.
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 21
La structure des diagrammes UML et la notation graphique des éléments de
modélisation est normalisée (document "UML notation guide").
Rappel : la sémantique des éléments de modélisation et de leur utilisation est définie par
le méta-modèle UML (document "UML semantics").
4. Points forts et points faibles d'UML [13]
4.1. Les points forts:
UML est un langage formel et normalisé
gain de précision
gage de stabilité
encourage l'utilisation d'outils
UML est un support de communication performant
Il cadre l'analyse.
Il facilite la compréhension de représentations abstraites complexes.
Son caractère polyvalent et sa souplesse en font un langage universel.
4.2. Les points faibles:
La mise en pratique d'UML nécessite un apprentissage et passe par une période
d'adaptation.la nécessité de s'accorder sur des modes d'expression communs est vitale en
informatique.
UML n’est pas à l'origine des concepts objets, mais en constitue une étape majeure, car
il unifie les différentes approches et en donne une définition plus formelle.
Le processus (non couvert par UML) est une autre clé de la réussite d'un projet. L’intégration
d'UML dans un processus n'est pas triviale et améliorer un processus est une tâche complexe
et longue.
Les auteurs d'UML sont tout à fait conscients de l'importance du processus, mais
l'acceptabilité industrielle de la modélisation objet passe d'abord par la disponibilité d'un
langage d'analyse objet performant et standard.
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 22
5. Le diagramme utilisé :
On utilise le diagramme de séquence pour la conception et on va définie quelque
notions sur ce diagramme.
5.1. Définition [14]
Les diagrammes de séquences sont la représentation graphique des interactions entre les
acteurs et le système selon un ordre chronologique dans la formulation UML, comme les
diagrammes de collaboration mais ils ne rendent pas compte du contexte des objets de
manière explicite.
Figure 8: Exemple d'un diagramme de séquence
5.2. Les catégories de message
Les diagrammes de séquence distinguent trois (3) catégories d’envois de message :
flot de contrôle à plat
Cette catégorie d’envois est utilisée pour indiquer la progression vers la prochaine étape
d’une séquence
Figure 9: Message synchrone [15].
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 23
Alternativement, une demi-flèche peut être utilisée pour représenter explicitement des
messages asynchrones pour des systèmes concurrents (la flèche pleine correspond alors à un
message avec attente de prise en compte).
Figure 10: Message asynchrone [15]
appel de procédure (ou flot de contrôle emboîté)
Dans un contrôle emboîté, la séquence emboîtée doit se terminer pour que la séquence
englobant reprenne le contrôle.
Un objet poursuit donc son exécution une fois le comportement initié par le message
terminé.
Figure11: message procédure [15].
L’objet 1 récupère le contrôle quand l’objet 2 a fini sa tâche.
Retour de procédure
Le retour de procédure est implicite à la fin d’une activation. Néanmoins, en cas
d’envois de messages asynchrones, il s’avère utile pour montrer la fin de l’exécution d’une
sous procédure et le renvoi éventuel de paramètres.
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 24
Figure 12: Retour de procédure [14]
5.3. Les messages réflexifs
Un objet peut s’envoyer un message.
Figure13: Les messages réflexifs [15].
6. Modélisation avec langage UML
Tout le long de ce paragraphe, on citera tous les schémas selon la modélisation et
concepts d’UML représentant les différents diagrammes de notre application :
La première figure représente la recherche de l’utilisateur qui contient des messages
synchrone, un message réflexive et un bloc ’’LOOP’’. Cette recherche d’utilisateur comme la
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 25
recherche d’administrateur mais il ya une autorisation de modification et de suppression des
objets après la connexion de l’administrateur.
Figure 14:Recherche d’utilisateur
La deuxième figure représente l’insertion des objets. Elle contient des messages
synchrones, des messages réflexifs et un bloc ’’LOOP’’.
LOOP :
Accès à site ()
Accès à BDDSaisie mot à recherchez ()
Vérification de l’existence
Affichage des résultats ()
Consultation les fichiers désirés()
Sinon Afficher n’existe pas
Utilisateur
Affichage la page de la recherche
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 26
Figure 15:Ajouter ou insertion un objet
La troisième et la quatrième figure représentent successivement la modification et la
suppression des objets les deux contient des messages synchrones et un bloc ’’LOOP’’
LOOP :
Sinon ajouter dans BDD
Vérification dans BDD
Accès à BDD
Vérification de formulaire
Affichage un message d’existe
Remplissage le formulaire
Administrateur
Accès à la page d’insertion
Affichage formulaire d’ajout
LOOP :
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 27
Figure 16:Modification d’un objet
Affichage la page de modification
Accès à la page de modification
Administrateur
Consultation de la BDD
Affichage des résultats
Choix de(s) fichier(s)
autorisation de modifier
Modification de(s) fichier(s) Mise à jour de la BDD
LOOP :
Chapitre III Conception du système par l’outil UML
Conception et réalisation d’un navigateur de base de données en PHP 28
Figure 17: Suppression d’un objet
Conclusion
Ce chapitre est consacré à la conception UML de l’ensemble des composantes de
notre navigateur. Bien sûr en expliquant quelques concepts d’UML qui permettront de mieux
comprendre la modélisation de notre application.
LOOP :
Choix de(s) fichier(s)
Accès à la page de suppression
Consultation de la BDD
Affichage des résultats
Autorisation de suppression
Suppression le(s) fichier(s)
Mise à jour de la BDD
Administrateur
Affichage la page de suppression
Chapitre IV
Les langages utilisés et
implémentation
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 30
Chapitre IV : Les langages utilisés et l’implémentation
1. Les langages utilisés
1.1. Hyper Text Markup Language
1.1.1. Historique [16]
Le langage HTML tire son origine du langage SGML (Standard Generalized Markup
Language). Il s'agit d'un type particulier d'annotations destiné au WWW et qui correspond à
une collection de styles reconnaissables par les navigateurs. Un navigateur (en anglais
"browser") est donc un logiciel qui interprète à l'écran les commandes HTML contenues dans
un document accessible sur le WWW.
Le langage HTML est utilisé sur le WWW depuis 1990. La version actuellement en
vigueur est HTML 2.0. Des discussions sont en cours (voir le document de Berners-Lee et
Connolly en bibliographie) pour l'adoption de nouvelles annotations pour une version HTML
3.0 notamment en matière de tableaux et de commandes de formatage définissant les
exposants et indices.
1.1.2. Définition [17]
Le langage HTML (Hyper Text Markup Language) est le langage universel utilisé sur
les pages Web lisibles par tous les Navigateurs Web (Internet Explorer, Netscape, Mozilla,
…etc.). Ce langage fonctionne suivant l'assemblage et la combinaison de balises permettant
de structurer et donner l'apparence voulue aux données textes, images et multimédias suivant
la mise en page voulue.
1.1.3. Structure de base d'un document HTML [18]
Il faut d'abord spécifier qu'un document contenant des annotations en HTML n'est rien
de plus qu'un fichier texte. Il peut donc être reconnu sans problèmes de conversion d'un
environnement à un autre. Une page peut donc être lue et interprétée par n'importe quel
navigateur sur n'importe quelle plateforme.
Pour créer un document HTML, il faut insérer les commandes suivantes au début du
document:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 31
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Titre affiché dans la barre de titre du navigateur</title>
</head>
<body>
<!-- C'est ici que vous mettrez votre contenu -->
</body></html>
1.1.4. Caractères spéciaux dans HTML [16]
Certains caractères ont une signification spécifique dans HTML. Pour les utiliser
comme tels dans une page, il faut utiliser les commandes alternatives pour les afficher
correctement à l'écran. Ces commandes sont:
< pour: <> pour: >& pour: &" pour: "
1.2. PHP
1.2.1. Histoire de langage [19]
1994 : Mise au point par Rasmus Lerdorf. Ce langage lui permettait de conserver la trace des
utilisateurs venant consulter son CV sur son site.(Grâce à l’accès à une BDD par
l’intermédiaire de requête SQL).
1995 : Il met la 1ère version en ligne, vu son succès il décide de l’améliorer.
1997 : Zeev Suraski et Andi Gurmans le rejoignent pour former une équipe de programmeurs
afin de mettre au point PHP3.
1.2.2. Définition de PHP : [19]
Le langage PHP (PreHyertext Processor) est un langage de programmation web
côté serveur, ce qui veut dire que c'est le serveur qui va interpréter le code PHP (langage de
scripts) et générer du code HTML qui pourra être interprété par votre navigateur.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 32
Le PHP permet d'ajouter des fonctionnalités de plus en plus complexe, d'avoir des sites
dynamiques, de pouvoir gérer une administration de boutique en ligne, de modifier un blog,
de créer des réseaux sociaux. Le PHP fut crée en 1994 par Ramus Lerdorf, c'est un langage
libre et gratuit, avec une grande communauté mondiale.
1.2.3. Syntaxe de PHP
• La syntaxe de PHP ressemble à celle de famille "C" (C, C++, Java, Perl, etc.)
• Chaque instruction se termine par ";"
• Les commentaires sont soit précédés de // ou #, soit entourés de /* et */
1.2.4. Avantages
Gratuit
rapide
stable (le serveur n’a pas besoin d’être réinitialisé souvent, le logiciel ne change pas
radicalement d’une version à l’autre)
simplicité d’écriture
possibilité d’inclure le script PHP au sein d’une page HTML facilement
Simplicité d’interface avec les BDD, PHP et les BDD sont comme les 2 doigts de la
main.
Intégration au sein de nombreux serveurs (Apache, Microsoft...)
1.2.5. Inconvénients :
PHP est sensible à la casse.
La manipulation pour les images est fastidieuse dans les premiers temps.
Il faut connaître le code HTML pour maîtriser PHP.
Il n’est pas disponible sur la plateforme Macintosh.
1.2.6. La différence entre HTML et PHP [20]
Lorsqu’on navigue sur des pages écrites en html :
Le navigateur envoie une requête au serveur web.
Le serveur web, dans le cas où il trouve le fichier demandé, renvoie le code html au
navigateur.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 33
Dans le cas où le navigateur veut accéder à une page écrite en PHP, les choses sont un
peu différentes:
Le navigateur envoie une requête au serveur web.
Si le serveur web trouve le fichier demandé, il le transmet au paire, ou analyseur
syntaxique, PHP.
Le paire interprète le code PHP et communique éventuellement avec le serveur
MySQL, puis, si le script est sans erreur, génère du code html et le renvoie au serveur
web.
Le serveur renvoie ensuite le code html au navigateur.
1.3. MySQL
1.3.1. Définition [21]
MySQL est un gestionnaire de base de données libre. Il est très utilisé dans les projets
libres et dans le milieu industriel. MySQL est très souvent utilisées avec PHP.
1.3.2. Avantage :
Simplicité
Natif dans MySQL
Stable
Possibilité d'utiliser SSL
Possibilité de mélanger différents moteurs
1.3.3. Inconvénients
Asynchrone
Pas de basculement automatique
Pas « scalable » en écriture
Le maître est le goulot d'étranglement
Le maître est SPOF
Loadbalancing non géré par MySQL.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 34
1.3.4. Pourquoi utiliser PHP/MySQL ?
Lors de l'implémentation de notre application sous forme d'un site web électronique,
nous avions le choix entre de nombreux produits. Nous devions notamment choisir :
La plate-forme matérielle du serveur Web.
Un système d'exploitation.
Un logiciel de serveur Web.
Un système de gestion de base de données (SGBD).
Un langage de programmation ou de script.
L'une des caractéristiques intéressantes de PHP est qu'il existe des versions pour
Windows, pour la plupart des versions d'Unix, et pour la plupart des serveurs Web
professionnels. MySQL est tout aussi flexible.
Quel que soient la plate-forme, le système d'exploitation ou le serveur (Linux et Apache ou
Windows et IIS), nous pensons que PHP/MySQL sont des options très intéressantes.
1.3.5. Les multiples possibilités du PHP/MySQL:
Authentification de Sessions, gestion de formulaires, Chat, Messagerie(Interne,
Email),Gestion Dates/Heures/Agenda, E-Commerce, Gestion de fichiers/FTP, Livres
d'or, MailingList/NewsLetter, Menus, Moteurs de recherche interne, News, Petites
Annonces, Portails, Statistiques, Tâches CRON...
2. L’implémentation2.1. Définition de la structure
La dernière partie de ce projet présente la description de la conception et réalisation
d’un navigateur de base de données, avec une manière de gestion très facile et simple.
2.2. Base de données
2.2.1. Structure de la base
La base de données est initiée par la création d’une base nommée ‘’ test’’. Ensuite, la
création des tables bd, utilisateur, en fonction des besoins énoncés ci-dessus :
Table utilisateur (id, login, password.).
Une table bd contient leur identifiant, le nom de ficher avec leur extension et leur description.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 35
2.3. L’organigramme général du projet :
Afficher
Ajouter Rechercher Modifier Supprimer Déconnecter
Afficher Modifier Supprimer
Figure 18 : L’organigramme général du projet.
Index.php
Liens
RechercherAccueilConnecter
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 36
L’application contient une page index.php, qui offres des liens de connexion pour tous les
utilisateurs, ainsi que d’autres liens pour l’administrateur après sa connexion;
Figure 19: L’interface principale de l’application
L’utilisateur peut choisir de cliquer sur un parmi les deux liens « Accueil » ou
« Rechercher », ce dernier permet de trouver les consultations des fichiers recherchés. Par la
suite, des copies d’écran de l’application sont présentées pour des différents essais.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 37
Figure 20: La page de recherche avant la connexion
Figure 21: résultat de la recherche avant la connexion aussi.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 38
Si l’administrateur se connecte, un nouveau ensemble de liens apparaissent; avec un
message « Bienvenue: le nom d’administrateur ».
Figure 22: L’interface principale après connexion
Après le lancement d’une opération de recherche, si votre mot demandé existe, on
trouve des liens « affiche » qui permet la consultation des objets, « modifier » qui permet à
l’administrateur la modification sur les objets recherchés et le lien « supprimer » qui permet
aussi à l’administrateur la suppression.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 39
Figure 23: Résultat de la recherche après la connexion.
Figure 24: La page d’ajout des objets.
La page de modification permet à l’administrateur de modifier juste la description de
fichier pas le contenu, la page de modification contient la consultation ou l’affichage de la
BDD avec le lien « modifier » à chaque objet, et le nombre totale des objets existant dans la
BDD. Même chose avec la page de suppression.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 40
Figure 25: la page de modification
Figure 26: La page de suppression.
Chapitre IV les langages utilisés et l’implémentation
Conception et réalisation d’un navigateur de base de données en PHP 41
En fin la page liste des administrateurs est divisée en trois parties, on affiche les
propriétés de premier administrateur existe dans la BDD dans le premier coté, et dans le
deuxième un menu contient "ajouter administrateur" et le dernier contient un tableau des
administrateurs avec les liens "supprimer administrateur" et "modifier administrateur", aussi
le nombre total d’administrateur. Enfin un lien « déconnecter »
Figure 27: Liste des administrateurs.
Conclusion générale
Conclusion générale
Conception et réalisation d’un navigateur de base de données en PHP 43
Conclusion générale :
Notre projet est une proposition d’une application en ligne pour la gestion d’un
navigateur de base de données. Nous avons exploité nos efforts et les connaissances acquises
pour bien analyser le sujet de recherche de données au niveau d’une grande base de données
dites une feuille de données.
L’étude développée est basée sur l’outil UML. Elle a permet l’apport d’une expérience
supplémentaire dans les langages de programmation relatifs au web. Comme elle nous a
permet aussi d’améliorer nos compétences du point de vue conception, modélisation et
astuces de programmation.
Notre travail nous a permis d’acquérir une conception d’une base de données orientées
objets à l’aide du langage de modélisation UML, une maitrise de l’utilisation d’un système de
gestion de base de données et un perfectionnement et acquisition d’un savoir-faire en langage
de programmation. Comme il nous a permis aussi de faciliter la recherche, autoriser et
responsabiliser l’administrateur à insérer et modifier des objets dans la base de données et
enfin la consultation des objets de différents types par l’utilisateur.
Pour les perspectives, on souhaitera que notre système pourrait être affiné et enrichi par
d’autres fonctionnalités telles que :
1. L’enrichissement du système par un choix multiple des Templates
2. Affiliation de notre navigateur à un site bien conçue et connue,
Bibliographie
Bibliographique
Conception et réalisation d’un navigateur de base de données en PHP 45
Bibliographique :
[1]:http://www.gralon.net/articles/internet-et-webmaster/logiciel/article-le-navigateur-web-
presentation-et-fonctionnement-1722.htm Consulter le 20/11/2014 19 :19
[2] :http://www.lenumeriquefacile.com/internet/vocabulaire/navigateur_web/ Consulter le
15/11/2014 23 :25
[3] Delvin DIUMI OMOKOKO, « conception et réalisation d'une base de données pour la
gestion de facturation à l'office congolais de contrôle direction provinciale du Kasaà¯
occidental. ». Université Notre-Dame du Kasayi - Diplôme de graduat en informatique de
gestion 2009
[4] :http://www.scenariplatform.org/mobilesource/opaledemo/co/01_introduction_web/co/nx1
7UL001.html Consulter le 20/12/2014 21:15
[5]:comment ça marche, ‘’Les différents SGBDR’’, Juin 2014
[6] : Les différents SGBDR. DocJuin 2014
[7] :‘’Bases de Données’’, Oracle 50% (MySQL et Oracle Data Base), IBM, 2008.
[8] : Anne-Cécile Caron, *Bases de données relationnelles*, Licence MIAGE – BDD, 2014-
2015
[9] : Université d’AVIGNON,’’ Méthodologie de la recherche documentaire : principes clés’’,
Service Formation des Publics
[10] T. Chaari, Cours « Atelier UML », ISECSE.
[11]J.STEFFE – ENITA de Bordeaux, (COURS UML13.doc), janv 2003.
[12] Y.BOUAYAD AGHA & L.AKBI, Mme. A.HALFAOUI, «Application web de gestion
d’une agence de voyage (Travel Manager System TMS) », Mémoire Master 2013/2014.
[13] :http://www.maisondugsm.com/a/encyclopedie/definition/4/systeme_d_exploitation.html
Consulté le 30 / 3/2015 10:45h
[14] RumBaugh J., Jacobson I,Booch G. «UML 2.0 guide de référence.»CampusPress, 2004.
[15] J.STEFFE – ENITA de Bordeaux, (COURS UML13.doc), Mars 2005.
[16] Daniel J. Boivin et Laurent Gauthier, « Un manuel illustré de programmation en
HTML », 26 mars 1996.
Bibliographique
Conception et réalisation d’un navigateur de base de données en PHP 46
[17] M. BADJENNA &N. BOUCHENTOUF, Mr.Y.ELMIR, « Un système en ligne pour la
gestion des infractions de la circulation routière cas la daïera d’Adrar », Mémoire licence
2012-2013.
[18]http://fr.wikibooks.org/wiki/Le_langage_HTML/Structure_de_base_d’un_document_HT
ML Consulter le 12/01/2015 15 h30.
[19] Pierre PATTARD Julien BENOIT, « Formation PHP/MySQL », Avril 2005.
[20]K. BEN KADI & F. LAKRIM, Mr. D.BOUSMAHA, « réalisation d’un site web
dynamique-inscription en linge à l’université d’Adrar », Mémoire licence 2008/2009.
[21] Support de cours: « introduction à SQL et MYSQL », Sébastien 2003.
Glossaire
Glossaire
Conception et réalisation d’un navigateur de base de données
Glossaire
A
Apache : logiciel serveur web, gratuit, occupant 60% du marché.
B
Browser : client web, butineur ou navigateur (en France), brouteur (au Québec). Logiciel
navigation sur le web. Exemple : Microsoft internet explorer, Opera…
BDD : Base De Données.
C
C, C++: est un langage de programmation impératif, généraliste, issu de la programmation
système.
CV (curriculum vitae) : Le CV est stratégique dans votre recherche d'emploi.
E
E-Commerce: Le commerce électronique ou vente en ligne, désigne l'échange de biens, de
services et d'informations entre les réseaux informatiques, notamment Internet.
F
FTP : File Transport Protocol.
H
Html: Hyper Text Markup Language, est ensemble des règles et des commandes d’affichagepermettant de définir un document pouvant être intégré à un site web.
HTTP: Hyper Text Transfer protocole.
I
IBM: International Business Machines.
IMG: International Management Group.
Glossaire
Conception et réalisation d’un navigateur de base de données
J
Java : Langage de programmation universel surtout utilisé pour développer des applets.
L
LAMP : Linux Apache MySQL PHP.
Linux: Linux ou GNU/Linux est un système d'exploitation libre fonctionnant avec le noyau
Linux.
Logiciel: Software en anglais. Un logiciel est l’ensemble des éléments informatiques qui
permettent d’assurer une tache ou une fonction. Exemple : logiciel de traitement de texte.
LMD : Langage de Manipulation de Données
M
MSIE: Master of Science in Industrial Engineering
MySQL: dérive directement de SQL (structured Query Language) qui est un langage de
requête vers les BDD exploitant le modèle relationnel.
P
PC: personale computer.
PHP : Pre Hyertext Processor.
Perl: est un langage de programmation créé par Larry Wall en 1987 et reprenant desfonctionnalités du langage C et des langages de scripts sed, awk et shell (sh).
S
Scalable: Scalable Information propose une solution de gestion des données et conseille pour
la mise en place d’un schéma organisationnel des données financières et opérationnelles.
SGBD: Système de Gestion de Bases de Données.
SGBDR: Système de gestion de bases de données relationnelles
SGML: Standard Generalized Markup Language.
SLAC: Stanford Linear Accelerator Center.
Glossaire
Conception et réalisation d’un navigateur de base de données
SPOF: Un point unique de défaillance (Single Point of Failure ou SPOF en anglais) est un
point d'un système informatique dont le reste du système est dépendant et dont une panne
entraîne l'arrêt complet du système.
SQL : est le langage d’intérogation de base de donnée le plus populaire dans le monde
(gratuit, documentation disponible, sa rapidité, sa robustesse et sa facilité d’utilisateur).
SSL : Secure Sockets Layer.
T
Tâches CRON: corn est un programme qui permet aux utilisateurs des
systèmes Unix d'exécuter automatiquement des scripts, des commandes ou des logiciels à une
date et une heure spécifiées à l'avance, ou selon un cycle défini à l'avance.
U
UML: Unified Modeling Language
URL: Uniform Resource Identifier
V
Version: Numéro qui accompagne le nom d’un logiciel et qui indique son niveau de mise àjour. Il peut y avoir plusieurs éditions d’une même version d’un logiciel.
W
Web: Application la plus court et la plus commune pour designer le word Wide Web.
Windows : Termes relatives à l’interface utilisateur et aux systèmes d’exploitation Microsoft
Windows.
WWW: (Word Wide Web) Toile d’araignée mondiale. Système de navigation hypertext et
hypermedia développé au CERN à partir de 1989 par Tim-Berners-Lee et son équipe. Le Web
est devenu la vitrine d’internet et attire aujourd’hui les innovations les plus importantes.