|
ous �tes
encore nombreux � ne pas �tre vraiment convaincus de la n�cessit�
de passer par la phase d'analyse avant de commencer r�ellement
� coder. Peut-�tre est-ce due � cette impression qu'a souvent
l'autodidacte (ou le d�butant) que ce travail n'est pas r�ellement
rentable. De m�me, un client (ou un patron) peut avoir le sentiment
de jauger l'�volution d'un travail au nombre de lignes �crites,
� la rapidit� ou les pages lui sont fournies, et donc � ce qu'il
voit. Apr�s �tre revenus sur ces ph�nom�nes tr�s r�pandus, je
vous pr�senterais une introduction � une analyse beaucoup plus
cons�quente, analyse qui a servie de base � un logiciel g�rant
la coupe du monde en France en 1998. Car quand les choses se compliquent
un tout petit peu (et cela arrive tr�s tr�s vite, et de plus en
plus couramment), il n'est plus question d'amateurisme sous peine
de risquer, cette fois, le naufrage total...
"Vite ! Pas Ch�re ! Et tout de suite."
Comme tout un chacun, l'investisseur (client, directeur)
raisonne tr�s souvent � court terme et exige rapidement des preuves
que l'argent qu'il investit est correctement utilis�, et que le
temps de travail qu'il paye est rentabilis� au maximum. Lui expliquer
que quelques jours ou quelques heures de r�flexions sont parfois
n�cessaires pour l'analyse peut le plonger dans un �tat suspicieux,
avec parfois m�me le sentiment d'�tre tromp� sur le temps de travail
factur�. Pourtant, cette phase pr�liminaire repr�sente les fondations
m�me de son projet : il vaut mieux qu'il ait son site quelques
jours plus tard mais que celui-ci soit correctement pens� et d�velopp�
de mani�re professionnelle. Ainsi, son bon fonctionnement, son
�volutivit� et sa maintenance rentabiliseront largement son tr�s
l�ger investissement.
"Analyser ? R�fl�chir ?? Mais pour quoi faire ???"
Un autre ph�nom�ne tr�s r�pandu est celui du "bidouilleur"
: r�guli�rement autodidacte, et g�n�ralement brouillon, il pense
�tre capable de tout faire en mettant lui-m�me la main � la p�te.
Tr�s souvent, il s'agit d'un commercial persuad� qu'il pourra
faire seul ce qui lui semble long et cher sans raison. Dans un
premier temps, il semblera y arriver, � force de pers�v�rances
et d'interventions qui lui para�tront �tre de petites astuces
tr�s intelligentes et qu'il ajoutera ici et l�, tr�s content de
lui-m�me et de son r�sultat imm�diat. Mais cela se termine toujours
de la m�me mani�re : son code et ses fichiers se r�velent �tre
devenus si foullis et si incompr�hensibles qu'il finira par �tre
incapable de faire fonctionner quoi que ce soit, et devra se r�soudre
� appeler au secours. Seulement, il est souvent trop tard, et
la seule solution viable pour son site Web est de le re-d�velopper
enti�rement et correctement. Et l�, �a co�te beaucoup plus cher
que quelques heures d'analyse ou les conseils d'un professionnel.
Improviser : �limination directe ?
Prenons un nouvel exemple un plus complexe : en
1998, a eu lieu en France la coupe du monde de Football. De tr�s
nombreux sites Web ont alors entam� des d�veloppements sp�cifiques,
afin de pr�senter un certain nombre d'informations concernant
la comp�tition aux internautes. Leur besoin a tout d'abord �t�
de fournir � leurs journalistes des outils r�dactionnels afin
de leur permettre d'afficher en ligne les articles concernant
la comp�tition. La plupart de ces sites �tant d�j� dot�s d'interfaces
de travail pour les autres secteurs d'actualit�s, cette tache
s'est g�n�ralement r�v�l�e assez simple. Mais, pour ce qui concernait
le stockage et la pr�sentation des r�sultats et des statistiques,
ce fut une tout autre histoire...
Extraits d'un petit briefing de l'�quipe technique :
"Ecoute, le webmaster, vient voir : L�, il y a la coupe du
monde qui commence la semaine prochaine. On va pr�senter les scores
des matchs, et deux trois petits classements faciles. Tu nous
fais un machin hyper-simple pour qu'on puisse faire un max d'audience
avec tous les footeux. Tu vois, un petit programme o� l�, on rentre
les buts et les cartons, et quand on clique ici, sur le site,
on voit tout comme il faut. Comme �a, les journalistes, ils marquent
dans une petite fen�tre que le match a eu lieu ici, avec les joueurs
qui jouent, les buteurs qui marquent, les remplac�s qui sortent
et le type qui arbitre. Comme dans le journal, quoi.... Toi, tu
leur fais gentiment une moulinette pour stocker tout �a et tout
afficher tranquillement sur le site quand le surfeur il le demande.
OK ? Ca va ? Tu vois, un truc comme �a, tranquille..."
Eh ben c'�tait pas gagn�...
Tacle
en retard : carton Rouge !
Je
ne sais pas si vous vous souvenez du spectacle alors offert par
certains des sites Web concern�s : joueurs ayant marqu� 327 fois
en 4 matchs, Barthez dans l'�quipe du Br�sil, Zidane finaliste en
totalisant 23 minutes de jeux sur le terrain, r�sultats farfelus,
quand r�sultats tout court il y eut. Car bien souvent, le d�veloppement
se r�suma en dernier ressort � afficher en catastrophe des pages
statiques avec les feuilles de match, les classements et les r�sultats
�crits directement en dur, dans des pages HTML fixes. Il y eu m�me
des sites tr�s connus (qu'on ne citera pas) qui furent totalement
incapables de pr�senter le moindre r�sultat avant la fin de l'�preuve
!
Pour ceux qui seraient interress�s, j'ai concoct� une petite analyse
sur cette �preuve. Bien �videmment, selon les informations que l'on
voudra stocker ou pr�senter, certaines modifications peuvent �tre
apport�es. Il ne faut pas perdre de vue que dans ce type d'analyse,
il n'y a pas UNE mais bien souvent plusieurs solutions. Tout d�pend
de ce que l'on veut r�ellement faire. N�anmoins, cela devrait tout
de m�me ressembler � cela :
Cliquez sur les sch�mas pour les agrandir :
MCD
|
MPD
|
Bien
g�rer les individualit�s
Un
petit mot sur ce MCD et ce MPD :
-
On remarque tout d'abord les cardinalit�s (1,1) mises entre
parenth�ses : elles d�crivent ce que l'on appelle des entit�s
d�pendantes. En effet, une Equipe est li�e � son Groupe,
de m�me qu'un But et un TirsAuBut ne peuvent exister
sans le Match lors duquel ils ont �t� marqu�s. Cela s'appelle
un identifiant relatif. La cons�quence d'un identifiant relatif
est que la table g�n�r�e par l'entit� a comme double cl� primaire
son propre identifiant ainsi que l'indentifiant de l'entit�
dont elle d�pend.
- Le
champ NBPOINTS de la table EQUIPE : ce renseignement
pourrait �tre retrouv� par une requ�te appropri�e prenant en
compte les r�sultats des matchs jou�s pr�c�demments. N�anmoins,
le nombre de points pouvant �tre modifi� sur tapis vert, il
est judicieux de pr�voir qu'il puisse ne pas correspondre aux
r�sultats pr�c�dents. Il ne s'agit donc pas d'une redondance,
un facteur externe pouvant intervenir et modifier sa valeur.
Cela implique tout de m�me que le d�veloppeur devra pr�voir
� la fois de le mettre � jour lors de la saisie des r�sultats
(par proc�dures stock�es ou par une fonction de son script),
et une interface permettant d'y acc�der et d'y �crire directement.
- le
champ CODEPROLONGATION de la table MATCH sert
� savoir si un match a eu ou non des prolongations, renseignements
non indiqu�s par tous les score.
- Il
y a une double relation 1,1 entre les entit�s Equipe
et Pays. Normalement, cela voudrait dire que Pays
est un argument de Equipe, et ne devrait pas devenir une table.
Mais ici, Pays sert aussi pour les Arbitres, et
est donc une entit� reli�e � Arbitre par une relation
(1,1)-(0,n). Cette l�g�re disgression se trouve donc justifi�e
par la liaison Pays-Arbitre.
Cela
para�t compliqu� ? Pourtant, il n'y a que 21 tables. Certains syst�mes
d'informations sont bien plus complexes que cela, il n'est pas rare
qu'une boutique compl�te repose sur une base de donn�es de pr�s
de 70 tables. Mais d�j�, l�, il n'est plus question d'improviser
et de cr�er ses tables au hasard, sous peine de se retrouver coinc�
et d'avoir rapidement de tr�s gros soucis. Avec un poil d'exp�rience,
une telle analyse peut �tre r�alis�e en quelques jours. Comme d'habitude,
si elle correspond effectivement au besoin du client, le d�veloppement
se r�sumera ensuite � une interface d'administration pour remplir
correctement la base, puis � un moteur d'affichage � base de requ�tes
pour en afficher le contenu.
Ne pas trop exag�rer
Il conviendra tout de m�me de ne pas tomber dans
l'exc�s inverse : l'analyse est l� pour nous faire gagner du temps,
pas pour nous en faire perdre. Merise, Gare Yourdon et les autres
sont des m�thodes tr�s compl�tes qui peuvent n�anmoins se r�v�ler
excessivement lourdes et contraignantes. Il n'est pas question
ici d'utiliser au pied de la lettre ces proc�d�s dans leur int�gralit�.
Mais les techniques du Client/Serveur sont en train d'arriver
sur le Web, les sites dynamiques se compliquent et se professionalisent.
Et la m�thode que je vous propose dans mes articles est simple,
toujours vrai, rapide, efficace, et vous rendra donc de fiers
services.
A bient�t...
St�phane Lambert
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.
Tous
droits réservés - Reproduction même partielle interdite sans
autorisation préalable
|