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....