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