Conception et réalisation d’un navigateur de base de données en PHP
64
0
0
Texte intégral
(2)
(3) 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écialement Mr. 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.
(4) 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.
(5) 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..
(6) 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)..
(7) Table des matières 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. Fonctions des SGBD ………………………………………………………………. 9. 5.1. Description des données …………………………………………………………... 10. 5.. 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 Conception et réalisation d’un navigateur de base de données en PHP. ii.
(8) Table des matières 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 Le diagramme utilisé …………………………………………………………………….... 22. 5.1. Définition ………………………………………………………………………………….. 22. 5.2. Les catégories de message ……………………………………………………….... 22. 5.3. Les messages réflexifs …………………………………………………………….. 24. Modélisation avec langage UML ………………………………………………………….. 24. 5.. 6.. Conclusion ………………………………………………………………………………………… 28. Conception et réalisation d’un navigateur de base de données en PHP. iii.
(9) Table des matières 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. Conception et réalisation d’un navigateur de base de données en PHP. iv.
(10) Liste des tableaux et des figures Lise des tableaux : Tableau 1: Types de diagrammes ........................................................................................ 20. Liste des figures :. 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. Conception et réalisation d’un navigateur de base de données en PHP. v.
(11) Liste des tableaux et des figures Figure 26:. La page de suppression………………………………………………….... 40. Figure 27:. Liste des administrateurs……………………………………………….... 41. Conception et réalisation d’un navigateur de base de données en PHP. vi.
(12) Introduction générale.
(13) Introduction générale. 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.. Conception et réalisation d’un navigateur de base de données en PHP. viii.
(14) Problématique et Objectif 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.. Conception et réalisation d’un navigateur de base de données en PHP. vii.
(15) Chapitre I Présentation générale du navigateur.
(16) Chapitre I. présentation générale du navigateur. 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 Conception et réalisation d’un navigateur de base de données en PHP. 2.
(17) Chapitre I. présentation générale du navigateur. 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 Conception et réalisation d’un navigateur de base de données en PHP. 3.
(18) Chapitre I. présentation générale du navigateur. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 4.
(19) Chapitre I. présentation générale du navigateur. 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 Conception et réalisation d’un navigateur de base de données en PHP. 5.
(20) Chapitre I. présentation générale du navigateur. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 6.
(21) Chapitre II Méthode de recherche dans une BDD.
(22) Chapitre II. méthode de recherche dans BDD. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 8.
(23) Chapitre II. méthode de recherche dans BDD. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 9.
(24) Chapitre II. méthode de recherche dans BDD. 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. Conception et réalisation d’un navigateur de base de données en PHP. 10.
(25) Chapitre II. méthode de recherche dans BDD. 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). Figure3 : modèle hiérarchique [5] 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. Figure4 : modèle réseau [5]. Conception et réalisation d’un navigateur de base de données en PHP. 11.
(26) Chapitre II. méthode de recherche dans BDD. 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. Figure5 : Modèle relationnel [5] 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. Figure6 : Modèle objet [5] 7. Les différents SGBDR [6]. Figure6 : Modèle objet. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 12.
(27) Chapitre II. méthode de recherche dans BDD. 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. Conception et réalisation d’un navigateur de base de données en PHP. 13.
(28) Chapitre II. méthode de recherche dans BDD . 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.. Conception et réalisation d’un navigateur de base de données en PHP. 14.
(29) Chapitre II. méthode de recherche dans BDD. 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.... Conception et réalisation d’un navigateur de base de données en PHP. 15.
(30) Chapitre II. méthode de recherche dans BDD. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 16.
(31) Chapitre II . méthode de recherche dans BDD. 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.).. Conception et réalisation d’un navigateur de base de données en PHP. 17.
(32) Chapitre II. méthode de recherche dans BDD. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 18.
(33) Chapitre III Conception du système par UML.
(34) Chapitre III. Conception du système par l’outil UML. 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 modélisation unifié) est une notation permettant. traduire par "langage de. 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 - Diagramme de cas d’utilisation - Diagramme d’états transition et diagramme d’activité. Structurelle -Diagramme de classe - Diagramme d’objet - Diagramme de composant - Diagramme de déploiement - Diagramme de paquetages -Diagramme de structures composites. Dynamique -Diagramme de séquence -Diagrammes de communication -Diagramme global d’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.. Conception et réalisation d’un navigateur de base de données en PHP. 20.
(35) Chapitre III. Conception du système par l’outil UML. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 21.
(36) Chapitre III. Conception du système par l’outil UML. 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]. Conception et réalisation d’un navigateur de base de données en PHP. 22.
(37) Chapitre III. Conception du système par l’outil UML. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 23.
(38) Chapitre III. Conception du système par l’outil UML. 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 Conception et réalisation d’un navigateur de base de données en PHP. 24.
(39) Chapitre III. Conception du système par l’outil UML. recherche d’administrateur mais il ya une autorisation de modification et de suppression des objets après la connexion de l’administrateur.. Utilisateur. Accès à site () Affichage la page de la recherche LOOP :. Saisie mot à recherchez () Accès à BDD Affichage des résultats () Vérification de l’existence Consultation les fichiers désirés () Sinon Afficher n’existe pas. 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’’.. Conception et réalisation d’un navigateur de base de données en PHP. 25.
(40) Chapitre III. Conception du système par l’outil UML. Administrateur. Accès à la page d’insertion. Affichage formulaire d’ajout LOOP : LOOP :. Remplissage le formulaire Vérification de formulaire Accès à BDD Affichage un message d’existe Vérification dans BDD Sinon ajouter dans BDD. 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’’. Conception et réalisation d’un navigateur de base de données en PHP. 26.
(41) Chapitre III. Conception du système par l’outil UML. Administrateur. Accès à la page de modification Affichage la page de modification Consultation de la BDD. LOOP :. Affichage des résultats Choix de(s) fichier(s) autorisation de modifier Modification de(s) fichier(s). Mise à jour de la BDD. Figure 16:Modification d’un objet. Conception et réalisation d’un navigateur de base de données en PHP. 27.
(42) Chapitre III. Conception du système par l’outil UML. Administrateur. Accès à la page de suppression Affichage la page de suppression Consultation de la BDD. LOOP :. Affichage des résultats Choix de(s) fichier(s) Autorisation de suppression Suppression le(s) fichier(s) Mise à jour de la BDD. 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.. Conception et réalisation d’un navigateur de base de données en PHP. 28.
(43) Chapitre IV Les langages utilisés et implémentation.
(44) Chapitre IV. les langages utilisés et l’implémentation. 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" Conception et réalisation d’un navigateur de base de données en PHP. 30.
(45) Chapitre IV. les langages utilisés et l’implémentation. "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. Conception et réalisation d’un navigateur de base de données en PHP. 31.
Documents relatifs