Summer 2013: Currently M.D. at Smongdee IT ASIA Co., Ltd.: www.IT-Asia.com
Go to the French version

Irish PHP User's Group

Un peu d'histoire des SGBD sur le web et ailleurs
Dossier "SAM l'Informaticien" du 13 novembre au 26 novembre 2000
par
Stéphane Lambert

a conception d'une base de donnée est une étape cruciale dans le développement d'un site Web. Indépendamment des autres choix techniques (langages de programmations, système d'exploitation du serveur, etc...), son architecture et sa construction détermineront en grande partie la cohésion et le bon fonctionnement du site. De part l'histoire et les évolutions de l'Internet, beaucoup d'informaticiens ont du se former tout seul à la base de donnée. A l'heure où les sites se font de plus en plus complexes, il n'est plus possible de négliger cet aspect qui finira bientôt par reprendre les techniques bien connues de nos collègues du Client/Serveur.

La base en fichiers textes...

Nombre d'entreprises ont développé en interne de petits systèmes dynamiques en C ou en PERL, généralement à base de fichiers textes. La construction de ces bases était bien souvent directement influencée par les requêtes désirées, dans un soucis d'optimisation des temps de réponse. Des balises particulières étaient alors placées dans le HTML aux endroits ou l'on désirait faire apparaître les données dynamiques. Chaque fichier HTML était parcouru par un programme qui remplaçait les dites balises particulières par le contenu des fichiers textes avant de l'envoyer au serveur.
Pour éviter les manipulations des données, les développeurs prenaient en compte l'ordre d'insertion des enregistrements pour éviter les tris, très gourmands en mémoire et ressources car effectués en scripts plus ou moins bien optimisés. De même, un script recevait les formulaires afin d'écrire leur contenu au bon endroit dans des fichiers eux aussi au format texte.
Ces systèmes ont rendus par le passé de fiers services pour de petits développements comprenants une ou deux tables. Néanmoins, ils ont montré leurs limites dès qu'il y eu besoin d'afficher des résultats de tris faisant intervenir plusieurs types d'informations.
Par exemple, supposons que l'on veuille afficher 'les titres des Disques de Rocks vendu chez SAM'. Il faut prendre en compte les Magasins, les Styles de musique et tout les Disques référencé. Chaque requêtes de ce type demandait un nouveau développement spécifique. Et là, ça devenait très compliqué
.

La généralisation du SQL

Le SQL est un langage naturel proche du discours humain, signifiant Structured Query Language (Langage d'Interrogation Structuré). Développé par le laboratoire de recherche d'IBM à San José en Californie à la fin des années 70, il est reconnu en tant que norme officielle de language de requête relationnelle par l'institut ANSI et par l'organisme ISO. Il facilite grandement la manière d'indiquer ce que l'on désire obtenir à la machine.
La commande principale est " SELECT ". Ainsi, " les titres des Disques de Rocks vendu chez SAM " devient " SELECT Titres FROM Disques WHERE Style='Rock' AND Magasin='SAM' ", ce qui est beaucoup plus facile à programmer qu'un tri de tableaux ou de fichiers.
Les informaticiens du Web ont alors développé des interpréteurs SQL pour mieux gérer leur développement. Comme très souvent dans l'Internet, il a surtout été question de faire vite, souple, efficace, facile à utiliser et répondant très vite.
Le meilleur exemple de cette évolution est MySql, une des bases de donnée les plus utilisées dans le Web. Très rapide, fiable, efficace, elle est capable de supporter une très grande quantité d'enregistrement. Elle n'est actuellement pas relationnelle car cela ne correspondait pas aux besoins auquel elle était chargée de répondre.
Très rapidement, les langages de programmation Internet ont été munis des librairies nécessaires (DBI) pour fonctionner avec ces bases de données. Devant la facilité et les gains de temps apportés par ces technologies, les développeurs se sont engouffré dans l'utilisation du SQL qui s'est ainsi très largement généralisé
.

L'influence de la Bureautique

Un grand nombre de personnes ont eu accès aux techniques informatiques par le biais des outils Bureautique. Avec Access par exemple, il est possible de stocker et de classer un grand nombre d'informations que l'on pourra retrouver ensuite avec ou sans tris. Le nombre d'ouvrages sur le sujet, les formations internes, la pratique au quotidien et surtout l'accessibilité de ces outils ont amenés beaucoup d'utilisateurs au développement et au Visual Basic.
Et c'est tout naturellement qu'ils ont utilisé ces technologies quand ils ont eu à réaliser des sites Web pour eux même ou pour leurs entreprises. Bien que nombre de développeurs Access soient autodidactes ou formés uniquement à Access lui même, ces outils ont néanmoins permis la constructions d'un nombre important de sites Internet, même si les informaticiens formés aux bases de données Microsoft ont plutôt comme choix professionnel d'utiliser SQL SERVEUR pour la conception Web (Cette solution est néanmoins plus onéreuse). Il est de plus reconnu que l'usage de ces outils spécifiques est peu formateur aux standards existants en SGBDR. Ces solutions sont surtout valables pour de petites bases comprenant quelques tables et supportant une charge petite ou moyenne
.

Et à l'école ?

Mis à part au sein des filières orientées " Informatique de Gestion " (Bac Pro, IUT, BTS), la base de donnée est très peu enseigné dans les filières traditionnelles de l'Education Nationale. En effet, dans certaines universités, il faut attendre le DESS d'Informatique pour que cette matière soit exposée aux étudiants, soit cinq années après le Bac. Ainsi, il n'est pas rare qu'un informaticien ayant une Maîtrise d'informatique n'est jamais abordé en cours l'étude théorique et pratique des méthodes de conception et d'utilisation d'un SGBDR.
De même, les étudiants d'écoles d'ingénieurs ont seulement 3 heures par semaines de cet enseignements en première année (Bac +3), et l'on y constate un taux de participation variant entre 6% et 50% des inscrits par promotions suivant les instituts.
Il est donc possible d'affirmer que les informaticiens issues de la formation scolaire traditionnelle sont insuffisamment formés aux base de données. Ce constat est d'ailleurs généralement le même pour tout ce qui touche aux technologie Web modernes : il suffit de prendre un stagiaire ou un jeune diplômé pour constater que s'il connaît le PHP et le SQL (par exemple), c'est généralement qu'il s'est formé tout seul sur ces technologies
.

.. l'avenir est à la base

L'avenir sur Internet est aux sites dynamiques gérant un très grand nombre d'entrée/sortie d'informations. Une boutique avec une gestion des moyens de paiements, promotions, TVA, Catégories, produits, caddy, etc... comporte au minimum une vingtaine de tables. Un site gérant des compétitions sportives peux nécessiter près d'une centaine de table selon ce que l'on veut gérer.

Dorénavant plus que jamais, on ne peux se permettre de bâcler un cahier des charges et de négliger la conception de sa base de données. Il n'est plus possible de se lancer à corps perdu dans la conception en créant ses tables au fur et à mesure, au petit bonheur la chance, sous peine de gros soucis de développements.
Les symptômes sont classiques : évolution du cahier des charges au fur et à mesure du développement, absence de cahier technique, et donc : Non-respect des délais, projet se retrouvant rapidement très compliqué, données fausses ou incompréhensibles à l'affichage. Un des risque peut être aussi l'impossibilité de reprendre ou de modifier l'existant rapidement en l'absence du concepteur.

Les techniques pour construire celles-ci existent depuis maintenant plusieurs années, et ont fait leurs preuves dans des secteurs nécessitants la gestion de très gros Systèmes d'Informations. La plus connue est MERISE, qui provient directement des travaux des français MOULIN, TARDIEU et TEBOUL, vers le début des années 70, et rendue célèbre par l'américain Peter CHEN en 1976. A ce jour, tous les spécialistes du domaine de l'analyse orientée base de données se servent de ce modèle comme outil d'analyse et de conception avec la plupart des logiciels de construction d'applications de bases de données comme PARADOX, ORACLE, SQL Server, Informix, Ingres, Sybase… Appliquer ces méthodes est un moyen efficace d'arriver à un développement fiable et évolutif, et donc à une réussite technique et commerciale.

...à suivre....

Stéphane Lambert http://www.vediovis.fr/

Spécialisé dans le développement Web, Stéphane LAMBERT
a fondé VEDIOVIS PRODUCTIONS en Mai 2000.
Son expérience couvre essentiellement les sites à fortes audiences,
institutionnels ou audiovisuels.