publier sur le web : implications techniques et ...bdid-intd.cnam.fr/memoires/2004/dard.pdf · la...
TRANSCRIPT
-
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
INSTITUT NATIONAL DES TECHNIQUES DE LA
DOCUMENTATION
MEMOIRE
pour obtenir le
DESS en Sciences de l’information et de la documentation spécialisées
présenté et soutenu par
Raphaël Dard
le 5 novembre 2004
Publier sur le Web : implications techniques etorganisationnelles de la création d’un site Web
dynamique.Mise en œuvre au Haut Commissariat des Nations Unies pour
les Réfugiés
Membres du jury :Madame Brigitte GUYOT – INTD
Maître de conférenceMonsieur Bernard BONNET – ONISEP
Chargé de mission : informatique et développement
Cycle supérieur Promotion XXXIV
-
2
Remerciements
Parmi les différentes personnes à qui je dois de pouvoir réaliser ce mémoire
aujourd’hui, je tiens à remercier particulièrement :
Annie Bauer qui m’a encouragé à réaliser le DESS de l’INTD,
Andrew Mayne, pour l’opportunité qu’il m’a donné de réaliser un projet
particulièrement intéressant au sein du Haut Commissariat des Nations Unies pour
les Réfugiés – projet de site web dynamique qui me permet d’illustrer ce mémoire,
Karl Steinacker, pour l’impulsion qu’il a donné au projet,
Bernard Bonnet, pour l’aide précieuse qu’il m’a apporté pour la réalisation de ce
mémoire,
Brigitte Guyot, pour ses cours et sa disponibilité, en particulier pour la soutenance,
Natacha Henrard, pour son soutien permanent,
et toute l’équipe de l’INTD qui forme le noyau de ce DESS d’ « info/doc ».
-
3
Résumé
Les sites web dynamiques sont constitués de pages créées « à la volée » à chaque
requête. Dans ce dessein, ces pages puisent leur contenu dans une ou plusieurs bases
de données. Ces systèmes d’information reposent sur une séparation du contenu et de
la présentation des pages. La création de ce type de produit implique de recourir à la
technologie des langages de programmation dits « orientés serveur » et requiert, par
conséquent, des compétences techniques plus importantes que pour la réalisation de
sites web dits statiques. Mises à part ces implications techniques, la mise en place
d’un site web dynamique nécessite une organisation adaptée, à la fois à un mode
particulier d’édition et à un ensemble de contraintes liées à la publication rapide de
grandes quantités d’informations.
Mots clés :
site web
publication web
web dynamique
projet web
création web
site dynamique
-
4
Table des matières
Liste des tableaux..................................................................................................... 7
Liste des figures....................................................................................................... 8
Liste des annexes ..................................................................................................... 9
Introduction ............................................................................................................10
Première partie : Concepts, étendue du sujet et limites choisies.......................12
1.1 Eclairages sur le titre de ce mémoire............................................................13
1.1.1 Publier sur le Web ...............................................................................13
1.1.2 Implications techniques .......................................................................13
1.1.3 Implications organisationnelles ............................................................13
1.1.4 Création...............................................................................................13
1.2 Que recouvre l’expression « site web dynamique » ? ..................................15
1.2.1 Le principe ..........................................................................................15
1.2.2 Publication dynamique.........................................................................17
1.2.3 Présentation interactive........................................................................17
1.2.4 Publication dynamique et édition en ligne............................................18
1.2.5 Applications en ligne et services web ...................................................20
1.2.6 Note sur la terminologie existante ........................................................21
1.3 Périmètre choisi...........................................................................................22
1.4 Bilan sur les recherches d’informations .......................................................23
1.5 La problématique de mon stage au Haut Commissariat des Nations Unies
pour les Réfugiés (HCR) .........................................................................................24
Deuxième partie : Implications techniques .........................................................26
2.1 Architecture générale des sites web dynamiques..........................................27
2.2 La base de données : l’entrepôt structuré de l’information du site ................29
2.2.1 Modélisation des flux d’information et schéma de base de données .....29
2.2.1.1 Modélisation ....................................................................................29
-
5
2.2.1.2 Schéma de base ou « modèle physique » ..........................................29
2.2.1.3 Flexibilité et évolution .....................................................................29
2.2.2 L’outil d’exploitation de base de données ............................................30
2.2.3 Chargement des données et reprise de données existantes ....................30
2.2.4 Le choix d’une base de données en environnement Web ......................32
2.3 Le programme passerelle .............................................................................33
2.4 Le liant ........................................................................................................34
2.4.1 Fonctionnement d’un langage de programmation orienté serveur .........34
2.4.2 Les fonctions .......................................................................................35
2.4.3 Ce qui peut guider le choix d’un langage de programmation ................35
2.5 Conception de l’interface du site web ..........................................................37
2.5.1 Les étapes ............................................................................................37
2.5.2 Quelques outils d’aide à conception .....................................................38
2.6 Le cas du projet au HCR..............................................................................39
2.6.1 Le choix des « technologies Web » et la conception du site.................39
2.6.2 Le travail de la transformation de la source de statistiques au format de
la base de données...............................................................................................41
Troisième partie : Implications organisationnelles.............................................42
3.1 L’équipe du projet et les différents acteurs impliqués ..................................44
3.1.1 Le personnel technique ........................................................................44
3.1.2 Le personnel dit « expert métier » ........................................................45
3.2 Impact du facteur dynamique sur l’organisation du projet de site web..........47
3.2.1 Les caractéristiques propres........................................................................47
3.2.2 Entre un projet de site web et de développement d’application.............48
3.2.2.1 Parallèle avec une méthodologie de conception de site web statique.48
3.2.2.2 Parallèle avec une méthodologie de conception de logiciel...............50
3.2.3 L’orchestration ....................................................................................51
3.2.3.1 Maintien du cap ...................................................................................52
3.2.3.2 Adaptation du planning et gestion des priorités ....................................52
3.2.3.3 Communiquer......................................................................................52
3.2.4 Les facteurs clés de succès et autres garants de la pérennité du produit 53
3.3 Impact au niveau du département concerné..................................................54
3.3.1 Un contenu à produire et à publier .......................................................54
-
6
3.3.1 Un contenu à produire et à publier......................................................... 54
3.3.2 Préparer la structure pour les réactions extérieures................................ 54
3.4 Le cas du projet au HCR................................................................................ 55
3.4.1 Les sujets soulevés par la mise en œuvre du projet............................... 55
3.4.2 Une organisation du travail en quatre sous projets ................................ 56
Conclusion................................................................................................................. 57
Glossaire .................................................................................................................... 61
Bibliographie............................................................................................................. 67
Annexe 1 -Diagramme global d’un projet de site dynamique ................................... 76
Annexe 2 - Interface d’un assistant au SGBD MySQL (phpMyAdmin).................... 77
Annexe 3 – Structure des tables du projet au HCR.................................................... 78
Annexe 4 – Grille (gabarit) pour le positionnement méthodique des éléments de
l’interface graphique .................................................................................................. 79
Annexe 5 – Schéma du traitement nécessaire des données, du format source à la base
de données MySQL.................................................................................................... 80
Annexe 6 – Exemple d’arborescence logique d’un site web dynamique ................... 81
Annexe 7 – Schématisation des sources d’information d’un site dynamique dans un
but organisationnel..................................................................................................... 82
-
7
Liste des tableaux
Tableau 1. - Parallèle avec une méthodologie de conception de site web statique 49
Tableau 2. - Parallèle avec une méthodologie de conception de logiciel 51
-
8
Liste des figures
Figure 1. – Fonctionnement des balises HTML (pages web statiques) 15
Figure 2. – Fonctionnement simplifié d’une page web dynamique 16
Figure 3. – Trois options de présentation d’un même site web 18
Figure 4. – Exemple de formulaire web servant à écrire un courriel en ligne 19
Figure 5. – Structure logicielle de site web 27
Figure 6. – Colonne vertébrale du site web et symboles des niveaux géographiques 40
Figure 7. – Le personnel technique et ses domaines de compétences 44
Figure 8. – Les quatre principales parties du projet de site d’information sur les
camps de réfugiés 56
-
9
Liste des annexes
Annexe 1 -Diagramme global d’un projet de site dynamique 76
Annexe 2 - Interface d’un assistant au SGBD MySQL (phpMyAdmin) 77
Annexe 3 – Structure des Tables du projet du HCR 78
Annexe 4 – Grille (gabarit) pour le positionnement méthodique des éléments de
l’interface graphique 79
Annexe 5 – Schéma du traitement nécessaire des données, du format source à la base
de données MySQL 80
Annexe 6 – Exemple d’arborescence logique d’un site web dynamique 81
Annexe 7 – Schématisation des sources d’information d’un site dynamique dans un
but organisationne l 82
-
10
Introduction
-
11
L’arrivée de l’Internet et en particulier du World Wide Web1 dans le grand public a
vu se succéder deux techniques de publications sur ce nouveau support. Comme cela
arrive fréquemment avec les outils d’invention humaine, il y a un temps pour la
découverte et les techniques rudimentaires et un autre pour des perfectionnements,
eux-mêmes possibles grâce à de solides bases.
C’est ainsi que je considère, à la lumière de mes lectures, la publication sur le Web
grâce aux sites web dits dynamiques. C’est une évolution de la gestion du contenu
sur ce nouveau support d’information.
Ce qui m’a poussé à me pencher sur le sujet de ce mémoire est l’importance
considérable que revêt, à mes yeux, cette méthode relativement neuve pour gérer
l’information. En effet, le couple « interface web - base de donnée » constitue déjà la
base de milliers d’applications permettant aux organismes du monde entier de
rationaliser la gestion de leur information et de publier rapidement des informations
chaudes. Nombreux aussi sont les exemples d’entreprises qui souhaitent passer à une
gestion en temps réel de leurs produits. Mais l’adaptation aux nouvelles technologies
de l’information et de la communication requiert la connaissance et la maîtrise des
implications techniques et organisationnelles de la mise en place de ces nouveaux
outils.
Pour illustrer mon propos tout au long de ce mémoire, j’ai choisi de conclure
chacune des parties par l’exemple du projet de site web dynamique réalisé au Haut
Commissariat des Nations Unies pour les Réfugiés (HCR), à Genève.
Dans une première partie, le lecteur est invité à considérer l’étendue du sujet et la
définition de chacun des termes du titre de ce mémoire, ainsi qu’un bilan sur la
littérature trouvée et étudiée. Les deuxième et troisième parties sont successivement
consacrées aux implications techniques et organisationnelles de la création de ce type
de site web.
Enfin, la quatrième et dernière partie ouvre une réflexion sur l’impact des sites web
dynamiques sur la gestion des organisations.
1. : L’abréviation Web est dorénavant utilisée pour World Wide Web (par ailleurs, la distinction estfaite entre le Web et un site web où l’on ne gardera pas la majuscule).• Les mots inscrits en italique sont définis dans le glossaire, en fin de mémoire.
-
12
Première partie :
Concepts, étendue du sujet et limites choisies
-
13
1.1 Eclairages sur le titre de ce mémoire
1.1.1 Publier sur le WebDans le présent document, avec l’expression « publier sur le Web » nous souhaitons
inclure tout projet de publication de pages hypermédias et destiné à un public cible.
Cela signifie que nous entendons le format du Web et non pas un réseau
d’ordinateurs particuliers. Les réseaux intranets, extranets et l’Internet sont, ici, tous
concernés par cette expression.
1.1.2 Implications techniquesL’objet de ce mémoire n’est pas de pourvoir le lecteur d’un manuel de mise en place
d’une base de donnée (BDD) ou d’un site web dynamique. De nombreux travaux,
qu’ils soient en ligne ou sur papier, font très bien ce travail et il ne s’agit pas là de le
répéter. En revanche, nous nous attacherons, dans la deuxième partie, à brosser un
tableau complet des techniques et outils informatiques nécessaires à la mise en ligne
d’un projet de site web dynamique. Nous verrons également le rôle de ces outils
informatiques.
1.1.3 Implications organisationnellesLa création d’un site web dynamique, si celui-ci doit répondre aux besoins d’un
public particulier et exigeant, nécessite la participation de plusieurs acteurs. Ce
groupe d’acteurs rassemble initiateur du projet, direction, coordinateurs, experts
techniques et experts en contenu et futurs utilisateurs. Le terme organisationnel
recouvre ici l’ensemble des interactions, planifiées et non planifiées, entre ces
différents acteurs, tout au long de la création de la publication électronique. Il
recouvre également la coordination du projet.
1.1.4 CréationNotons dès à présent que nous étudions essentiellement les implications liées à la
création d’un tel produit et non pas à sa maintenance ou à ses mises à jour. Les
implications organisationnelles du suivi d’un site web dynamique sont d’un autre
-
14
ordre et c’est pourquoi nous ne les aborderons que très brièvement dans la sous partie
3.2 du présent document.
-
15
1.2 Que recouvre l’expression« site web dynamique » ?
1.2.1 Le principeUn « site web dynamique » est composé de pages web au « contenu dynamique ».
Cela signifie que, par opposition aux page dites « statiques », tout ou partie du
contenu des pages est récupéré sur un autre fichier informatique que la page elle-
même, qu’il s’agisse d’une base de données, de fichiers XML, ou encore d’un autre
fichier au format différent.
Mais revenons rapidement sur quelques notions de base. Le langage de base pour
concevoir des pages destinées à être publiées sur un navigateur web est le langage
HTML. Ce n’est pas un langage de programmation mais un langage de description
de pages. Les pages HTML contiennent du texte et des balises encadrant ce texte qui
servent à indiquer au navigateur la façon dont le texte doit être présenté (grand, petit,
gras, italique, de couleur, etc.). Le langage HTML est un langage d’affichage et il ne
permet aucun calcul. Les pages réalisées avec ce langage sont dites « statiques ».
Figure 1. – Fonctionnement des balises HTML (pages web statiques)
Navigateur
Web
Titre
Texte
TitreTexte
Balise HTML interprétéepar le navigateur
Document
HTML
-
16
La dynamique des pages web dynamiques vient du fait que chaque demande de
visualisation d’une page web de ce type provoque une « requête » automatique
auprès de la source ou des sources de son contenu. On parle ainsi de création de page
« à la volée » (traduction littérale de l’expression anglaise "on the fly").
Figure 2. – Fonctionnement simplifié d’une page web dynamique
Cette technique consistant à puiser de l’information dans un autre fichier que celui
"lu" par le navigateur représente un intérêt particulier dès lors que le contenu puisé
par la page peut évoluer dans le temps, à son propre rythme, sans que cela n’ait
aucun impacte sur d’autres.
Cette récupération de données se fait au moyen d’un code informatique dont l’une
des fonctions doit être cette capacité de référence (cf. sous partie 2.4). Ce code ou
langage informatique permet de disposer d’instructions conditionnelles, pour réaliser
des traitements différents en fonction de conditions diverses, d’instructions de calcul
NavigateurWeb
ref.1
ref.2
TitreTexte
Références au contenutextuel (ou multimédia)
DocumentDynamique
Base de
données
Source du contenu
-
17
et, suivant les langages, d’un jeu d’instructions très diverses pour réaliser toutes
sortes de tâches, des plus simples aux plus complexes (J.M. Herrelier [06]).
L’une des premières forces de cette méthode d’édition dynamique vient du fait que la
présentation peut être séparée du contenu.
Si le support traditionnel qu’est le papier possédait cette capacité, nous pourrions
avoir un annuaire dont le contenu se met à jour "automatiquement". Comme les
pages sont composées de références vers d’autres pages, situées elles-mêmes à des
emplacements géographiques indépendants et modifiés selon les besoins, il n’est plus
nécessaire de se procurer un nouvel annuaire. Il est à jour à tout moment, pourvu que
les différents responsables des données aient le souci et la possibilité de tenir leur
"portion d’information" à jour !
Depuis l’apparition des premiers sites dits dynamiques, de nombreuses innovations
techniques, notamment avec les langages de programmation orientés serveur que
nous abordons en partie 2.4, sont à l’origine de différents niveaux de dynamicité. Les
possibilités de traitement, d’organisation et de manipulation de l’information se sont
multipliées. Nous avons choisi de rassembler ces différents niveaux dans quatre
sous-ensembles. Nous présentons successivement, ci-après, ces quatre degrés de
dynamicité. Ce classement vise simplement à distinguer différentes caractéristiques,
de complexité croissante, rendues possibles grâce aux sites web dynamiques.
1.2.2 Publication dynamiqueLe premier degré relève du principe simple de publication d’information. Avec d’un
côté la source de l’information et de l’autre la mise en page et donc la partie
apparente pour le lecteur ou utilisateur. Dès lors qu’un site web dépasse une certaine
taille en quantité d’informations, cette séparation du contenu et de la présentation
s’avère nécessaire si l’on veut éviter un laborieux travail d’édition de pages HTML à
chaque mise à jour.
1.2.3 Présentation interactiveLe deuxième niveau comprend la notion de publication dynamique d’information,
mais donne en plus la capacité au lecteur d’intervenir sur la présentation du contenu.
Dans ce cas, la publication électronique comporte plusieurs options de présentation
-
18
qui ont pour effet de modifier l’affichage de l’information présentée. Dans ces
options, nous retrouvons parfois des éléments de couleur, des éléments de mise en
page (maquette), des éléments de quantité d’information par écran (typiquement un
nombre de lignes), et parfois un ensemble prédéfini de ces composantes dans des
feuilles de styles complètes que l’on peut choisir parmi une liste (www.standblog.org
et my.yahoo.com, par exemple). Dans les cas de publication de tableaux de données
(qu’il s’agisse de nombres ou de mots, noms, etc.) les sites offrant une interface
configurable permettent de réaliser des tris (alphabétiques, numériques croissants ou
décroissants, etc.).
Figure 3. – Trois options de présentation d’un même site web (ici
www.standblog.org)
Les entreprises ayant recours au commerce électronique et à la vente en ligne aux
particuliers ont énormément recours à ces méthodes qui permettent de personnaliser
l’environnement des prospects et clients. Ils ont en effet tout intérêt à ce que la visite
des potentiels acheteurs sur leur site web soit une expérience agréable, car
« personnalisation » rime alors avec fidélisation de la clientèle.
1.2.4 Publication dynamique et édition en ligneCe que nous choisissons de considérer comme le troisième niveau reprend les mêmes
caractéristiques que le niveau « publication dynamique », et peut offrir les fonctions
de manipulation de présentation du deuxième niveau, mais cette fois-ci s’ajoute la
capacité de l’utilisateur de se transformer en créateur de contenu, voire en auteur.
En effet, nombreux sont les sites web qui font appel à des systèmes de production en
ligne, que ce soit au travers de formulaires (méthode la plus courante) ou au travers
de moyens plus élaborés, comme le téléchargement de fichiers numériques.
-
19
Les sites web de gestion de courrier
électronique en ligne (les
webmails) sont probablement les
plus utilisés de cette catégorie.
Dans ce dernier cas, l’information
écrite dans des formulaires,
symbolisant le « corps » des
courriels, ne fait que transiter par le
site de gestion de courriel, avant
d’être expédié dans la boîte aux
le t t res é lec t ronique d’un
destinataire.
Figure 4. - Exemple de formulaire web
servant à écrire un courriel en ligne
Un autre sous ensemble de cette catégorie comprend les sites web dont le contenu
lui-même est écrit en ligne, et c’est également au travers de formulaires que se fait le
recueil de l’information. Par exemple, le site web Uzine.net (http://www.uzine.net)
fonctionne de cette façon, avec des rédacteurs géographiquement dispersés, au
moyen d’un système d’édition collaborative en ligne nommé SPIP
(http://www.spip.net).
Parmi les sites dont les utilisateurs peuvent intervenir sur le contenu, nous
distinguons deux utilisations courantes : la rédaction de texte, et l’entrée de données.
Dans le premier cas, les sites sont destinés à des lecteurs (webzines, weblogs,
journaux en ligne, presse, encyclopédies, etc.), dans le second, l’information, saisie
dans des champs successifs et caractérisés, est généralement destinée à un traitement
informatique ultérieur. Remarquons que les bases de données sont, depuis bien avant
l’avènement du Web, les outils logiciels privilégiés pour le traitement d’information
en grand volume.
-
20
Édition collaborative, travail collaboratif
Dès lors qu’il est possible de participer, en ligne, au contenu d’un site web, c’est à
dire d’un support commun d’information, la perspective de collaboration en ligne
s’ouvre et avec elle un champ considérable d’applications.
Les organisations très dispersées géographiquement découvrent de plus en plus le
potentiel des solutions de travail collaboratif. La sécurité et les procédures, parfois
complexes à mettre en place, comptent parmi les freins actuels à ce genre
d’initiative.
1.2.5 Applications en ligne et services webLa quatrième catégorie que nous choisissons de rassembler ici se distingue en ceci
qu’elle fait appel à un développement informatique qui s’apparente au
développement des logiciels tels que ceux utilisés hors du monde des réseaux, les
logiciels qui sont installés, localement, sur les machines des utilisateurs. Cette
utilisation des navigateurs web est née du développement très rapide du Web et fait
partie d’un mouvement général de migration des logiciels traditionnels vers des
applications en ligne. Une idée commune pousse le développement de ces
applications en ligne : donner des outils logiciels de plus en plus performants aux
utilisateurs connectés. Rendre les ordinateurs dits « clients légers » capables de
donner à leur utilisateur un accès à des fonctionnalités similaires à celles données par
les applications traditionnelles sans avoir l’obligation d’installer des logiciels « en
local » (Daniel [03]), c’est à dire sur le poste de l’utilisateur.
Cette catégorie comprend non seulement les éléments cités dans les familles
précédentes, mais elle comporte surtout des programmes réalisés sur mesure et
destinés à exécuter des opérations qui peuvent être assez complexes.
Il s’agit bien de sites web dynamiques, mais ces programmes sont mieux décrits par
l’expression « application en ligne ».
-
21
Certaines applications de ce type, de taille relativement petite, réalisant des tâches
précises, ont été baptisées services web. Remarquons qu’il s’agit d’un autre sens que
celui donné à la même expression dans le titre du livre d’Arnaud Le Guelvouit
« Comment concevoir un service Web » [39].
1.2.6 Note sur la terminologie existanteA un moment où les sites web dynamiques sont à leurs balbutiements, à l’échelle de
la vie des technologies nées de l’Internet, les appellations se multiplient. Parfois
« site web dynamique », parfois « site à usage intensif de données », parfois
« application web » et encore « data web » (G. Gardarin [34]), il n’est pas toujours
évident de s’y retrouver.
-
22
1.3 Périmètre choisi
Dans la partie 1.2 nous avons présenté rapidement, au travers de quatre catégories,
les différents niveaux de complexité des sites web dynamiques. Dans le présent
mémoire, nous nous penchons sur les implications de la création d’un site de
publication dynamique, sachant qu’il s’agit du tronc commun de ces quatre
catégories.
On abordera ces questions dans un contexte de conception, de production et de mise
en place de site.
-
23
1.4 Bilan sur les recherches d’informations
Mes recherches d’informations sur le sujet de ce mémoire, pourtant menées
méthodiquement, n’ont été satisfaites qu’à moitié.
En effet, en ce qui concerne la littérature technique, rien ne semble manquer, bien
que les différents ouvrages d’intérêt n’emploient que rarement les mêmes termes
pour parler d’un même sujet (cf. sous partie 1.2.6). Par ailleurs, comme les sites web
dynamiques font principalement appel à des compétences et métiers traditionnels de
l’informatique (bases de données, programmation, etc.), nombreux sont les livres
traitant des sujets qui nous intéressent ici. J’ai également réalisé qu’il existe autant
d’explications techniques sur les sites web dynamiques qu’il y a de langages de
programmation permettant d’en réaliser ! Ce n’est, en fait, pas étonnant et ça
comporte des avantages certains.
En revanche, sur les aspects organisationnels, on est forcé d’avoir recours à des
ressources touchant des sujets proches parce que sur le sujet lui-même, il ne semble
pas y avoir beaucoup de littérature. D’ailleurs, ma bibliographie sur ce deuxième
volet comporte plus de références, mais m’a moins aidé dans mon travail.
-
24
1.5 La problématique de mon stage au HautCommissariat des Nations Unies pour les Réfugiés(HCR)
Au 4 février 2004, premier jour de mon stage, le responsable de la section en charge
des données démographiques et géographiques au HCR me confie le projet
consistant à mettre en ligne des informations statistiques et géographiques sur les
camps et lieux de passage des réfugiés.
L'idée, dès le départ, est de faire une page ou une section pour chaque camp dont la
population est supérieure à cinq mille individus (environ 130).
Chaque section de camps devra pouvoir contenir cinq à dix pages web.
L’un des challenges techniques consiste à relier ces pages à une base de données
statistique (les raisons sont abordées plus loin), sachant que l’ensemble des données
existe, à ce moment là, sous forme de fichiers de tableur.
Au terme du premier mois, qui fût l’occasion de rassembler les différents points de
vues sur la vision de ce produit, l’état de la réflexion est de réaliser des pages
dynamiques, codées en HTML et PHP et reliées à une base de données MySQL
(j’explique, en partie 2.6, les raisons de ce choix).
La problématique sous-jacente consiste à conduire le projet en intégrant au maximum
les membres du HCR, tout en sachant que le temps de disponibilité des personnes qui
peuvent accompagner mon projet est une variable, à la fin du premier mois de stage,
quasi inconnue.
Cela signifie que le défi technique, relativement simple pour un informaticien, peut
constituer un travail assez important pour moi si je dois m'en débrouiller tout seul.
L'inconvénient, dans le cas où je m’occuperais de tout, est que le site (l'ensemble de
pages) risque d'être plus succinct car je pourrais passer moins de temps sur
l’organisation de son contenu (arborescence du site et interface graphique).
L'objectif ultime étant d'apporter un nouveau service d'information aux membres du
HCR, aux ONG, partenaires et donateurs, les facteurs clés de succès sont avant tout
-
25
(il s’agit des objectifs fixés à la fin du premier mois de stage, correspondant lui-
même à la première partie du stage) :
• des pages simples, claires et qui parlent au plus grand nombre ;
• une base de données solide et une solution technique stable ;
• une maintenance réduite au minimum (processus de mise à jour simple et court) ;
• une communication efficace au moment de la mis en ligne (au minimum un
communiqué interne) ;
• une place de choix sur l'intranet et le site web du HCR (à négocier).
La première partie du stage a été l’occasion de faire une recherche assez poussée sur
les projets similaires pouvant exister sur l’Internet, ainsi que de proposer un cahier
des charges à mon responsable direct.
-
26
Deuxième partie :
Implications techniques
-
27
2.1 Architecture générale des sites web dynamiques
Avant de décrire l’ensemble des implications techniques de la création d’un site web
dynamique, présentons rapidement la structure générale d’un tel système, afin de
compléter la sous partie 1.2 .
Le schéma suivant permet de considérer en un coup d’œil à la fois les différents
composants logiciel d’un site web dynamique et le cycle d’une requête faite depuis
un navigateur. Il va également nous permettre de suivre les explications du présent
chapitre.
Figure 5. – Structure logicielle de site web
La figure ci-dessus nous donne la trame nécessaire à l’explication du mécanisme de
base des requêtes ayant lieu au cœur des sites web dynamiques.
Dans la partie gauche (1), le navigateur lance une demande de page web vers le
serveur HTTP. Cette demande est soit une URL fixe, c’est à dire une référence à un
fichier statique présent sur le serveur (seules les parties 1 et 2 seront concernées),
soit une URL dynamique, c’est à dire une référence à un fichier (page web) qui n’est
à priori pas matérialisé, mais doit être créé « au vol ». Dans ce dernier cas, l’URL
contient un appel au programme applicatif, avec des paramètres identifiant de façon
unique la page que l’on désire construire. Dans les deux cas, la demande de page est
NavigateurWeb
(Client http)
Serveurhttp
ProgrammePasserelle
SGBD&
Base dedonnéesdonnées
demande de page paramètres (réf.)
HTMLHTML
Requête SQL
Structure desite Statique
Structure de siteDynamique
1 2 43
-
28
dirigée vers le serveur HTTP via le réseau. Le protocole HTTP permet à un client de
se connecter à un serveur, de lui envoyer une requête et de recevoir un document
HTML en réponse.
En partie 2, le serveur HTTP est en attente permanente. À l’arrivée d’une demande,
son action dépend du type de la demande. Dans le cas simple où la demande spécifie
un fichier HTML existant sur le serveur (avec une URL fixe), l’action du serveur se
limite à renvoyer le fichier désiré au client. Dans le deuxième cas, le serveur lance le
programme applicatif (3) en lui passant les paramètres d’appel (cf. sous partie 2.3).
4 : Le serveur de base de données reçoit des requêtes SQL, les exécute et renvoie les
données résultat au programme.
-
29
2.2 La base de données : l’entrepôt structuré del’information du site
2.2.1 Modélisation des flux d’information et schéma de base dedonnées
2.2.1.1 ModélisationDès lors que la majeure partie du contenu d’un site web est stockée dans une base de
données, on comprend aisément l’importance que revêt l’organisation du contenu de
cette base. Or, au préalable, on doit arriver à modéliser clairement les entrées et les
sortis d’informations pour contrôler complètement le contenu des entrepôts
d’information. Avant cette étape de contrôle du contenu de la base, on aura besoin de
modéliser dans le détail les flux d’information de l’intérieur de l’organisation, qui
sont propres à toucher le système d’information à construire. On parle, à cette étape,
de modèle conceptuel. Un modèle conceptuel élémentaire est présenté en annexe 7.
2.2.1.2 Schéma de base ou « modèle physique »Pour concevoir l’organisation de l’entrepôt des données, les experts en bases de
données réalisent ce qu’on appelle le « schéma » de la base de données. C’est dans ce
schéma que seront présentées les relations entre les différentes entités logiques
d’information. C’est à partir de ce schéma que la structure réelle de la base de
données sera réalisée (Ph. Mathieu [09]).
Ce schéma de la base est aussi appelé « modèle physique » de la base de données.
2.2.1.3 Flexibilité et évolutionS’il est une chose sur laquelle les experts en création de base de données insistent
avec force et constance, c’est l’importance de la réflexion en amont permettant la
conception de la structure d’une base. En effet, nombreux sont ceux qui, à un
moment ou à un autre, se sont retrouvés avec une base de données ayant une
structure pas assez bien pensée et qui ont rendu un produit beaucoup plus complexe
que prévu, voire obsolète. Lorsqu’on se retrouve dans cette situation, le choix est peu
enthousiasmant : soit on garde la structure du moment et aucune évolution du
-
30
système d’information n’est possible (ce qui remet en cause les investissements
passés et freine certaines activités présentes), soit le schéma de la base est à refaire
entièrement et c’est tout simplement un travail qui est repris à zéro. Bien sûr, tout
dépend de la composition et de la structure de chaque base de données. Certaines
bases atteignent un degré de complexité qui repousse même les informaticiens les
plus courageux, tandis que d’autres permettent une remise à plat du problème et une
reconstruction du système.
Ainsi, la conception d’une base sera mieux faite si le ou les concepteurs ont en main
un maximum d’éléments concernant les futures applications possibles pour le
système d’information reposant sur cette base de données. Pour ce faire, les experts
en la matière s’accordent à dire qu’il est nécessaire, pour les concepteurs, de partager
cette réflexion en amont avec des experts « métier », c’est à dire les personnes qui
connaissent le mieux le domaine d’application du futur système d’information (cf. §
3.1.2 et Comyn-Wattiau [02]) . Ils sont généralement dans la meilleure position pour
imaginer les caractéristiques du produit idéal, celui vers lequel le système devrait
tendre, lors d’évolutions postérieures.
2.2.2 L’outil d’exploitation de base de donnéesAfin de permettre aux informaticiens d’agir sur les bases de données autrement que
par des lignes de code informatique, des produits ont été créés qui permettent la
création et la modification des tables et des entrées des bases de données. Certains
permettent également la visualisation de la structure générale d’une base (par la
présentation des tables ainsi que des liens entre elles). Les plus connus ont pour nom
FileMaker Pro et Access, mais ces derniers n’ont pas été créés à l’origine pour les
bases de données de site web. Un outil d’exploitation de base de données très
répandu s’appelle phpMyAdmin. Il présente l’avantage d’être gratuit et distribué sur
l’Internet (annexe 2).
2.2.3 Chargement des données et reprise de données existantesUne fois la structure de la base de données du site définie et préparée, une étape
sensible concerne l’alimentation de cette base.
-
31
À l’instar de la réalisation de la structure de la base de données, plusieurs méthodes
existent. L’une d’entre elles consiste à entrer les données une à une dans le système
de gestion de base de données (SGBD). Pour éviter cette laborieuse méthode, une
autre consiste à réaliser un téléchargement de fichier. Dans cette deuxième méthode,
la difficulté réside dans l’obtention d’un fichier de données au format compatible
avec la base de données elle-même.
Lors d’une première alimentation de la base, quand la quantité de données est
conséquente, le chargement des données est rarement manuel en raison du travail
immense que cela peut représenter. Cependant, lors de la migration de données
depuis un fonds papier, le choix du passage au format numérique ne laisse que peu
de choix. Si une solution d’OCR n’est pas envisageable pour une raison ou une autre,
les responsables du projet se voient contraints de recourir à la saisie pure et simple et
de mobiliser l’énergie nécessaire (notamment avec l’aide de stagiaires…).
Mettre la source d’information au format de la base de données
Lorsque la source des données destinée à être publiée sur le site web dynamique
provient d’un support numérique, un bon morceau du chemin est parcouru ! S’il
s’agit d’une base de données, il s’agit d’une grande chance puisqu’en général, la
structure de ce genre de support, de par sa rigueur, permet une plus grande souplesse
dans l’étape de migration vers un autre entrepôt de données. En revanche, si les
données à importer dans la nouvelle base de données proviennent de documents de
traitements de texte, la tâche consistant à structurer les données peut s’avérer
laborieuse. Dans le cas où les données sources sont stockées dans des feuilles de
calcul de tableur (comme Excel de Microsoft), la structure de l’information en
tableaux peut faciliter grandement le travail de conversion.
Certains formats de fichiers numériques ont été créés pour les échanges entre
logiciels (le CSV par exemple) tandis que d’autres (TXT), par les avantages qu’ils
présentaient, se sont imposés comme des standards et ils remplissent le même rôle de
passerelle.
-
32
2.2.4 Le choix d’une base de données en environnement WebAfin de réaliser un choix judicieux de base de donnée et donc d’un système de
gestion de base de données pour un site web dynamique, il faut tenir compte de
plusieurs éléments :
• La quantité d’information à stocker ;
• La structure que l’on souhaite lui donner (relationnelle ou non) ;
• Le budget à disposition pour le projet ;
• Le service après-vente souhaité ;
• La main d’œuvre à disposition et son coût pour la maintenance ;
• Et de plus en plus, la communauté d’utilisateurs accessible sur l’Internet.
Le marché des bases de données est composé de quelques grands acteurs que l’on
retrouve en concurrence sur la plupart des projets (Microsoft, Oracle, IBM et Sybase
sont des acteurs fréquents dans les grands projets, MySQL se retrouve très souvent
dans les moins grands).
-
33
2.3 Le programme passerelle
Il s’agit de l’élément en partie 3 de la figure n° 5 (structure de site web).
Le programme passerelle ou programme applicatif a deux tâches principales :
extraire de la base de données les données nécessaires à la construction de la page
web demandée et produire la page HTML résultat, à partir de ces données.
Selon les applications, le protocole utilisé pour les programmes passerelle est soit le
protocole CGI (Common Gateway Interface – littéralement traduit de l’anglais
« interface de passerelle commune »), soit une API (Application Programming
Interface – « interface de programmation d’application ») propriétaire, telle que
NSAPI de Netscape ou ISAPI de Microsoft.
Il existe une grande variété d’interfaces d’accès au SGBD : ODBC (Open Database
Connectivity), JDBC (Java Database Connectivity), OLE-DB, etc. Le choix parmi
ces interfaces doit tenir compte, entre autres, du SGBD, du langage utilisé pour
l’implémentation du programme et de l’environnement logiciel existant.
Lorsque l’on construit un site web dynamique, on a bien sûr la possibilité de jouer
sur le choix des interfaces (par exemple CGI versus API), mais le point essentiel
réside dans les décisions de design du programme applicatif concernant la
méthodologie de mise en œuvre, et les fonctionnalités procurées par le programme.
Cependant, lors de la création de la majorité des sites web dynamiques, les
fonctionnalités des programmes passerelle sont considérées après les fonctionnalités
du langage de programmation orienté serveur (sous partie 2.4). De fait, lors du choix
du langage, un programme passerelle type accompagne souvent ce langage et le
choix n’a donc pas toujours besoin d’être réalisé.
-
34
2.4 Le liant
2.4.1 Fonctionnement d’un langage de programmation orientéserveur
Également appelé langage applicatif ou langage de script, le langage de
programmation orienté serveur communique avec le programme passerelle (cf. figure
5) qui lui-même effectue des requêtes directement auprès de la base de données.
Un langage de script est un langage de programmation qui n’est pas compilé, mais
interprété. Dans le cadre du Web, il est utilisé pour être exécuté sur un serveur web,
par le programme passerelle (cf. sous partie 2.3), mais il peut aussi fonctionner sur
un ordinateur non connecté à un réseau, dès lors qu’il possède un interpréteur adapté.
Dans un site web dynamique, ce type de langage va donc permettre de lier les pages
du site web à une ou plusieurs bases de données, ce qui a pour effet d’apporter à ces
pages le potentiel immense de stockage et d’organisation de l’information de ces
mêmes bases.
Dans ce dessein, le langage de programmation orienté serveur véhicule d’autres
langages, ceux des bases de données (par exemple le SQL) et récupère ainsi les
informations souhaitées au cœur de ces entrepôts de données.
Au delà des simples requêtes de bases de données, un langage de programmation
orienté serveur peut rendre d’autres services comme de réaliser des calculs à partir
des données récupérées dans une base de données, avant de restituer le résultat du
calcul à l’utilisateur qui émet la demande. On comprendra alors que les possibilités
sont immenses.
Enfin, comme nous l’avons vu dans la partie 1.2.1, ces langages permettent de
disposer d’instructions conditionnelles. On pourra par exemple présenter un contenu
particulier à un utilisateur en fonction de son pays d’origine ou de la date à laquelle il
consulte une même page.
-
35
2.4.2 Les fonctionsLes fonctions des langages de programmation pour les pages dynamiques ont pour
objectif principal de simplifier le travail de programmation.
Une fonction est ce que l'on peut appeler un sous programme du langage de
programmation orienté serveur, une procédure. On distingue deux types de
fonctions : les « fonctions intégrées » (en anglais « built-in ») qui sont incluses par
défaut avec les versions de la plupart des langages (notamment le PHP) et les
fonctions définies par le programmeur, dites aussi "fonctions utilisateur".
Les fonctions ont plusieurs buts :
• Éclaircir le code en regroupant certaines fonctionnalités d'un programme qui se
répètent dans une même fonction ;
• Pouvoir créer des fonctions génériques qui pourront être utilisées dans d'autres
programmes, ce qui évite de répéter pour chaque projet le même code ;
• Possibilité d'évolution du code plus facile dans la mesure où lorsque le contenu
d'une fonction est modifié, les répercussions sont effectuées sur l'ensemble du
programme sans que l’on ait à le modifier, dans la plupart des cas.
2.4.3 Ce qui peut guider le choix d’un langage de programmationParmi les différents langages de programmation orientés serveur existants : ASP, C,
C++, Java, JavaScript, PHP, PERL, VBScript (pour plus de détails, on se reportera
au livre « Création de pages Web dynamiques » de Ph. Mérigot et J.M. Hérellier
[06], p.6), plusieurs critères sont à connaître afin de guider son choix.
Pour un professionnel de l’information, deux solutions se présentent :
La première est de soumettre au personnel purement technique l’ensemble
(exhaustif) des fonctionnalités souhaitées pour le futur système d’information
dynamique. Les personnes tiendront compte de ces pré-requis ainsi que des
compétences disponibles au sein de l’équipe technique et de l’infrastructure
logicielle existante dans le parc informatique de l’organisation.
La seconde solution consiste à confronter la décision de ce choix à plusieurs
paramètres :
-
36
• La complexité de la programmation (certains langages sont très abordables,
même pour des néophytes de l’informatique - Ph. Rigaux [11]) ;
• Le nombre d’utilisateurs de ce langage, proportionnellement aux autres (ce
facteur est important si l’on souhaite avoir accès à une communauté d’utilisateurs
qui peut s’avérer d’une grande aide, via l’Internet en particulier) ;
• Savoir si les machines qui accueilleront l’interpréteur du langage (le programme
passerelle) sont en mesure de traiter un langage plutôt qu’un autre (par exemple,
les machines fonctionnant avec le système d’exploitation Windows NT seront
prédisposées à interpréter de l’ASP et celles fonctionnant avec le système Unix
seront plus aptes à fonctionner avec le langage PHP) .
-
37
2.5 Conception de l’interface du site web
Du point de vue de la perception cognitive, la conception de l’interface du site web
est toute aussi importante pour les sites web dynamiques que pour les sites web dits
statiques. Par ailleurs, la grande majorité des éléments de page, venant
principalement du langage HTML, sont communs entre ces deux types de sites. Par
conséquent, la réalisation implique les mêmes connaissances et compétences. Si, au
final, une page dynamique ne comportera pas le même code qu’une page statique,
l’étape de conception d’une page dynamique, elle, utilisera le même langage HTML,
pour présenter une maquette visualisable. En effet, une page dynamique ne doit
servir de maquette pour la simple raison que sa réalisation est beaucoup plus
laborieuse qu’une simple page au format HTML.
2.5.1 Les étapesLa réalisation de la maquette HTML comportera au minimum les étapes suivantes :
• Étapes préalables
- Connaissance du contenu futur du site ;
- Connaissance du public cible du site ;
- Dessin de l’arborescence du site, du plan du site ;
• Préparation de l’organisation des éléments des pages
- Dessin d’une grille (ce qu’on appelle le gabarit)
- Symbolisation des éléments logiques de la page – en tenant compte, si
possible, des parties qui seront dynamiques et de celles qui seront statiques
(le contenu des parties dynamiques modifie parfois la présentation et la mise
en page) ;
Note 1 : une même page web peut comporter des éléments statiques et
dynamiques en même temps. On l’appellera toujours page dynamique.
Note 2 : une application de dessin assez simple peu suffire (PowerPoint de
Microsoft par exemple).
-
38
- Création de l’interface en tenant compte des parties stables (parties
permanentes, comme les éléments de navigation, les logos, etc.)
- Multiplication de la grille par le nombre de niveaux dans l’arborescence et
adaptation ; toujours avec l’application de dessin ;
- Concevoir une charte graphique ;
• Conception de la maquette HTML
- Réaliser une feuille de style en même temps que les trois premiers écrans.
Pour la feuille de style, il faut avoir l’ensemble des niveaux de titres et
d’éléments de pages.
- Montrer la maquette aux intéressés (experts métier (sous partie 3.3.2) et futurs
utilisateurs) pour glaner des idées et des critiques. Améliorer l’interface à
plusieurs reprises avant de la soumettre à l’épreuve du comité directeur. Il
s’agit d’une procédure itérative.
- Mettre l’interface à l’épreuve de grilles de conseils en ergonomie et
d’évaluation d’interface web.
Note : l’avantage de la maquette HTML simple est que si elle est sur le réseau
informatique, l’ensemble des intervenants peut la visualiser et la tester et les
améliorations peuvent être faites simultanément par l’auteur. (Par exemple deux
personnes peuvent se parler au téléphone et être toutes les deux devant un écran
d’ordinateur et la page web commentée).
2.5.2 Quelques outils d’aide à conceptionPour la réalisation de la maquette HTML, on pourra utiliser Dreamweaver MX de
Macromédia (notons que cet éditeur contient plusieurs modules d’assistance à la
création de pages web dynamiques), HTML Editor de Mozilla ou Frontpage de
Microsoft. Ces logiciels ont pour point commun d’être des éditeurs wysiwyg, c’est à
dire qu’ils présentent les pages web, pendant leur création, d’une façon semblable à
ce à quoi la page ressemblera. D’autres logiciels existent et je ne cite ici que les plus
répandus.
Certaines personnes préfèrent de simples éditeurs de texte afin de mieux contrôler le
code des pages. C’est une question de goût et d’habitude.
-
39
2.6 Le cas du projet au HCR
2.6.1 Le choix des « technologies Web » et la conception du siteDès lors que le sujet de la mission de stage a été donné (cf. sous partie 1.5), le
nombre de pages web suggéré a été relativement simple à calculer : 130 camps
comptant entre 5 et 10 pages chacun, en ajoutant à cela les nécessaires pages de
navigation, nous aurions un site qui tourne autour du millier de pages au minimum.
La solution de créer les pages une à une était inenvisageable pour deux raisons. La
première étant que la durée du stage, quatre mois, ne suffirait certainement pas. La
seconde étant qu’une fois le site web réalisé, avec des pages statiques, il serait si
laborieux de le mettre à jour qu’on pourrait le considérer comme mort-né. La
solution d’un site web reposant sur une base de données et générant des pages
dynamiquement s’est imposée.
Quand la décision de réaliser un site web dynamique fût prise, le moment du choix
de la technologie était venu. Ce que j’avais entendu nommer le trio PHP – Apache –
MySQL semblait pouvoir répondre au besoin que nous avions formulé.
Le choix de ces technologies était principalement guidé par la contrainte financière.
Ce projet étant un projet de stage (les stagiaires du HCR ne sont pas rémunérés), il ne
devait pas coûter d’argent au Commissariat. Aucun budget n’existait pour ce projet et
c’est pourquoi le choix de logiciels libres, gratuits et au demeurant très fiables,
semblait le meilleur. Par ailleurs, lors des seules occasions que j’ai eu d’approcher
l’édition dynamique en ligne, nous avions opté pour ces technologies. Enfin, il s’est
trouvé que l’équipe technique qui acceptait de nous donner un coup de main sur la
partie de la programmation était justement en train d’explorer la possibilité d’avoir
recours à cette technologie de PHP, pour l’intranet de l’organisation en particulier.
Pour donner son corps au site web, il fallait réaliser son architecture et définir les
bases de sa logique de navigation.
Pour ce faire, je suis parti d’une mise en page traditionnelle, bien qu’adaptée au
format écran (cf. annexe 4), avec la logique de l’organisation des éléments de pages
de sites web.
-
40
En ce qui concerne la logique de navigation, la solution de navigation par zoom –
telle qu’une personne du HCR l’a décrite – m’est apparue comme la plus logique. En
effet, puisque la problématique du site concerne des camps de réfugiés dispersés
géographiquement sur la planète, la navigation par cartes géographiques semblait la
plus adéquate. En outre, pour ne pas obliger chaque utilisateur à passer constamment
par l’étape du « zooming » à chaque déplacement dans le site, j’ai décidé de placer
trois jump-menus comme éléments permanents de page. Les trois menus sont
géographiques, l’un concerne des régions du monde qui sont concernées par les
camps de plus de cinq mille réfugiés, un autre les pays concernés et le dernier les
localisations concernées (souvent les noms des camps eux-mêmes).
Figure 6. – Colonne vertébrale du site web et symboles des niveaux géographiques.
À nouveau, lors de la réalisation de la logique du site, j’ai pu constater combien le
design de la structure du site est imbriqué avec le design des pages elles-mêmes. De
fait, lors de la présentation du projet d’architecture du site à mon responsable et aux
-
41
personnes concernées, j’ai toujours montré la structure générale et le design des
pages à chaque niveau en même temps.
Dès que la maquette HTML montrait suffisamment l’idée du site, je l’ai téléchargée
vers un ordinateur distant, accessible sur le web, afin de permettre à mes
collaborateurs de le voir et de me transmettre leurs critiques. Il est resté en ligne
toute la durée de la deuxième partie de mon stage (mi-juin à mi-septembre 2004) et a
servi de modèle de base à la personne qui s’est occupé de la programmation en PHP.
(Cette maquette est encore en ligne au moment de la rédaction de ce mémoire à
l’URL suivante :http://radard.free.fr/RSIP-site001/)
2.6.2 Le travail de la transformation de la source de statistiques auformat de la base de données
Les données statistiques à présenter sur le site web étaient, à l’origine, réparties sur
autant de fichiers Excel que de camps de réfugiés concernés par le projet (130). L’un
des travaux d’un consultant du HCR fut, entre les deux parties de mon stage, de
compiler ces fichiers Excel dans un seul, pour des fins d’analyses statistiques. Cette
démarche de compilation fut une chance pour le projet de site web puisqu’il unifia
les 130 fichiers et simplifiait du même coup le travail d’importation qui devait suivre
(cf. annexe 5).
Le travail de formatage de la source des données (le fichier Excel global) au format
de la base de données MySQL a alors consisté à passer du format Excel à un format
ASCII délimité. Le format CSV en est un et c’est celui que nous avons choisi.
Un autre problème est alors apparu. La compilation des fichiers Excel s’était faite en
gardant l’ordre des fichiers Excel d’origine. Les données statistiques sur les camps
étaient en colonnes. Or le besoin pour la base de données et la programmation en
PHP était d’avoir les données sous forme de lignes. Sans entrer exagérément dans les
détails, nous avons dû procéder à une transposition des colonnes en ligne. Afin de
rendre cette transposition automatique, camp par camp, nous avons créé une macro
Excel qui faisait non seulement cette transposition mais aussi une série de
modifications nécessaires pour le format visé.
http://radard.free.fr/RSIP-site001/
-
42
Troisième partie :
Implications organisationnelles
-
43
Il ne serait pas très intéressant de détailler point par point les étapes
organisationnelles de réalisation d’un site web dynamique puisque celles-ci se
retrouvent pour une grande part dans les étapes de création d’un site web statique,
sujet très bien documenté aujourd’hui.
En revanche, il peut s’avérer utile de se concentrer sur ce que la notion de dynamique
entraîne, en termes d’organisation de projet, et que la publication de site statique ne
connaît pas. C’est d’autant plus attrayant si l’on considère la relative rareté des
documents sur ce sujet précis.
Ainsi, nous passerons assez rapidement sur les étapes communes avec la réalisation
de sites web statiques et nous nous attarderons sur ce qui fait d’un projet de site web
dynamique un projet particulier.
-
44
3.1 L’équipe du projet et les différents acteursimpliqués
La création d’un site web dynamique, pour diffuser les informations d’une
organisation, que ce soit en interne ou en externe, requiert la participation d’un
certain nombre de personnes aux compétences différentes. Les uns seront les mieux à
même de fournir une information pertinente pour le contenu du site, les autres auront
une expertise sur l’organisation de l’information sur ce système de publication et
d’autres encore auront une connaissance technique nécessaire à la réalisation du
produit. La quantité de personnes nécessaires à un projet dépendra naturellement de
la taille ainsi que de la complexité de réalisation du site.
3.1.1 Le personnel techniqueJ’ai choisi de m’inspirer d’une figure du livre « Les bases de données pour l’Internet
et l’intranet » de Imad Saleh [12] pour présenter les différentes compétences à
rassembler autour d’un projet de site web dynamique.
Figure 7. - Le personnel technique et ses domaines de compétences
-
45
En lisant cette figure de gauche à droite, nous avons d’abord les programmeurs qui
doivent maîtriser au moins un langage de programmation orienté serveur (cf. sous
partie 2.4) et, par conséquent, qui sont nécessaires à la réalisation des pages web
dynamiques. Ils prennent la maquette HTML et ses pages statiques comme modèle et
réalisent le code nécessaire pour rendre ces pages dynamiques.
Les concepteurs du site web seront ceux qui pensent l’organisation de l’information
et sa présentation. Une connaissance des sciences cognitives sera la bienvenue ainsi
qu’une bonne capacité à se mettre dans la peau des futurs utilisateurs.
Les administrateurs du système de gestion de base de données sont les connaisseurs
et manipulateurs de la base de données et de sa structure. Ils la créeront en se basant
sur le modèle conceptuel réalisé en amont par les experts du contenu et les
concepteurs du site web. Ils seront responsables de la flexibilité du schéma de la base
(cf. § 2.2.1.3).
Les administrateurs système et administrateur du réseau, pour les organismes ayant
un réseau informatique interne, seront ceux dont la responsabilité porte sur
l’infrastructure d’« accueil » du système d’information dynamique. Les sites web ont
besoin de pouvoir transmettre des informations selon un protocole qui est à la base
de l’Internet, le protocole TCP/IP. Ils seront également responsables des capacités
des ordinateurs à héberger les logiciels nécessaires (serveur web, etc.) ainsi que les
données que le site devra héberger (la ou les bases de données).
Le coordinateur ou chef de projet sera à la frontière entre l’équipe technique et les
experts « métier ». À la fois capable de comprendre l’ensemble des paramètres
techniques impliqués, il sera responsable de la cohésion de l’équipe et de la bonne
marche de ce projet de création.
3.1.2 Le personnel dit « expert métier »Dans le jargon professionnel, la désignation « expert métier » provient probablement
de l’expression anglo-saxonne « subject-matter-expert » (littéralement « expert de la
matière du sujet »). C’est des compétences de ce type de personnel que la qualité du
produit final va grandement dépendre. Il est à même de comprendre les subtilités du
domaine de l’organisation (ou du département) pour laquelle le site web dynamique
-
46
est réalisé. Ce sont les experts métier qui doivent être à l’origine du modèle
conceptuel du système d’information ainsi que des fonctionnalités du site. Les
experts métier pourront travailler avec les concepteurs de l’interface pour échanger
leurs points de vue sur le positionnement des éléments en fonction de leur
importance relative.
-
47
3.2 Impact du facteur dynamique sur l’organisation duprojet de site web
3.2.1 Les caractéristiques propresUn site web dynamique est plus complexe à réaliser qu’un site web statique. C’est
sans aucun doute pour cela que les professionnels de l’information qui souhaitent
passer à cette forme de gestion de contenu de site ont souvent une expérience des
sites web statiques. Ils ont pu constater les difficultés causées par les mises à jour de
quantités parfois écrasantes de pages HTML.
C’est pour cette même raison que les sites web dynamiques font appel à un personnel
plus technique, comme nous avons pu le voir en partie 3.1. Du point de vue purement
organisationnel, c’est assez important car les relations entre personnel technique et
personnel non technique sont parfois difficiles. En effet, l’approche des problèmes
par ces deux groupes de personnes n’a souvent que très peu de points communs et les
priorités des uns et des autres sont également différentes. Ainsi, la gestion de projet
de création de site web dynamique possède une particularité certaine.
En outre, de par leur nature au contenu et contenant dissociés, les sites web
dynamiques, présentent une sensibilité accrue. Contrairement aux sites web statiques,
les personnes en charge du contenu et de sa présence dans la ou les bases de données
sont différentes des personnes en charge de la mise en page et de l’interface. Cela
implique une coordination de personnes. Pour un professionnel de l’information (ou
documentaliste), s’il est en charge, avec une ou deux autres personnes de la présence
de telles ou telles pages web sur le site web statique du département, il a en main
tous les éléments. Dans le cas d’un site web dynamique, le nouveau contenu d’une
page nouvelle devra suivre un tout autre chemin puisqu’il devra être présent sur la
base de données du site. Or, si ce professionnel de l’information ne connaît pas de
procédure simple pour mettre à jour la base, il devra compter avec les informaticiens
disponibles. Notons que ce sujet touche davantage la maintenance que la création du
site.
-
48
3.2.2 Entre un projet de site web et de développement d’application
3.2.2.1 Parallèle avec une méthodologie de conception de site webstatique
Prenons l’exemple de la « méthodologie de conception d’un service web » (A. Le
Guelvouit [39], p.31) :
Tableau 1
Fondations pour menerà bien le projet
Etude préalabled’opportunité
Définition des basespour la réalisation du
service web
Conception informelle
Conception détaillée duservice
➧ Création du comité de pilotage chargé du suivi de projet➧ Mise en place d’une méthodologie de construction, créée etcontrôlée tout au long de l’avancée du projet par le comité
➧ Estimation de l’opportunité de développer un serveur/serviceweb : définition des objectifs généraux du futur service
➧ Etude de viabilité du projet en fonction des ressourcesexistantes et/ou libérables
Décision de réaliser, d’ajourner ou d’abandonner le projetChoix d’un mode de développement(interne, externe ou intermédiaire)
➧ Définition des responsabilités et des postes de travail➧ Planification du travail : mise en place d’un calendrier➧ Explication des objectifs opérationnels du projet
➧ Proposition de solutions envisageables pour développer leprojet
Evaluation et choix d’une solution de développement
➧ Description précise, et autant que faire ce peu, exhaustive dela solution retenue via un cahier des charges
➢ Description complète du futur service (contenu,organisation, hiérarchisation, liens entre les pages,graphisme, ergonomie, etc.)
➢ Mise en place de l’architecture du service
Décision de réaliser les spécifications du cahier des charges(avec ou sans révisions)
A ça stade, rien ne
diffère de la conception
d’un site dynamique.
-
49
➧ Réalisation de l’intégralité des pages du serviceweb après accord du comité de pilotage sur lamaquette
Mise en placed’une maquette
électronique
Réalisation duservice dans
son intégralité
Mise en oeuvredu projet
Evaluation duservice
➧ Réalisation d’une maquette électroniquereprenant les spécifications décrites dans le cahierdes charges
➢ Mise en place de l’architecture, dugraphisme, de l’ergonomie réelle que l’onretrouvera dans le service final mais surun ensemble de pages limité
Evaluation de la conformité de la maquette auxspécifications du cahier des charges
Test de la maquette électronique en interne et enexterne
Ajustement de la maquette en fonction desremarques du comité de pilotage
➧ Mise à jour du service web➢ Mise à jour des informations existantes➢ Création de nouvelles pages
➧ Mise en oeuvre de la politique de promotion➢ Référencement du service auprès desmoteurs et annuaires de recherché (etautres sources d’informations, etc.)
Décision de mettre le site en ligne
➧ Evaluation du produit “service web”➢ Vérifier si les objectifs qui lui étaientassignés ont été remplis➢ Proposer des solutions aux problèmesou erreurs qui apparaissent➢ Tirer des conclusions sur les méthodeset techniques utilisées pour réaliser leservice : cela permettra d’avoir un regardexpérimenté et d’éviter de refaire lesmêmes erreurs lors de futursdéveloppements.
Suite de la méthodologie de conception d’un site statique Variations pour un
site dynamique
Maquette en HTMLuniquement. Rien dedynamique, pas deprogrammation à ce stade
Conception du schémade la base de données,fondé sur l’architecturedu site faite auparavant
Récupération desdonnées et mise auformat pourl’alimentation de la BDD
Mise en place de lastructure de la base dedonnées (selon schéma)et premier chargementde la BDD
Programmation despages du site avec lelangage applicatif, calquésur le modèle statique
Ici, mise à jour de la base
de données uniquement
Ici, ajout de lignes dans une
table de la base de
données (les pages sont
créées à la volée). Pour
d’autres “types” de pages
ou d’autres sections, il
faudra programmer de
nouveaux canevas
-
50
3.2.2.2 Parallèle avec une méthodologie de conception de logicielOn a vu que la création d’un site web dynamique requiert une équipe à caractère plus
technique que la création d’un site web statique pour la simple raison qu’il y a
nécessité de programmer certains comportement des pages dynamiques. Voyons
maintenant à quel point cette nécessité de programmer le site rapproche un tel projet
d’un projet de création de logiciel, par la comparaison avec une synthétique
méthodologie de programmation (J.CH. Soulie [45]) :
Méthodologie
de programmation
Analyse des besoins :
• Définir les fonctionnalités du logiciel, établies par le
client et devant être comprises par l'équipe de
développement.
• Cette première étape se conclut par l'élaboration d'un
cahier des charges : mode d'emploi, limites
d'utilisation.
Conception globale :
• Étape la plus délicate : découpage du projet en
modules ; chaque module correspondant à un service
(ou ensemble de services) rendu(s).
• Chaque module fera l'objet d'une spécification
précise.
• Le dossier de spécification fait apparaître la
décomposition en blocs fonctionnels du projet. Ces
modules sont spécifiés et les données d'entrée et de
sortie sont précisées. Les tests d'intégration sont mis en
évidence.
Variations pour la conception
d’un site web dynamique
Concernant l’analyse des besoins,
chaque étape est valable pour un
site web dynamique.
Les « modules » d’un programme
informatique peuvent se comparer
aux fonctionnalités d’un site
dynamique.
Ces notions sont transposables au
projet de site web, mais elles sont
tout de même plus axées
développement d’application.
-
51
Conception détaillée :
• Les modules résultant de l'étape sont détaillés : les
algorithmes sont décrits en pseudo-langage.
• Ces renseignements sont regroupés dans un dossier
de conception détaillé.
Réalisation :
(codage) du logiciel ; listing complets.
Tests unitaires :
validation des modules séparés.
Tests d'intégration :
coopération correcte des modules.
Réception, Validation et Maintenance :
• Livraison, validation par une utilisation
opérationnelle.
• Maintenance (corrections d'erreurs, amélioration, ...).
L’équivalent de conception
détaillée de la création d’un logiciel
peut être ce que l’on appelle les
spécifications fonctionnelles d’un
site dynamique. On y notera tous
les détails sur la présentation de
l’information, permis par le langage
de programmation orienté serveur
(cf. sous partie 2.4).
L’étape de la réalisation du codage
à lieu également pour les pages
dynamiques.
Mis à part les tests unitaires, toutes
les autres étapes de la méthodologie
de programmation sont utiles à la
création d’un site web dynamique.
Tableau 2
Force est de constater que la méthodologie utilisée pour la programmation d’un
logiciel comporte beaucoup de points communs avec celle dont une équipe créatrice
de site web dynamique à besoin.
3.2.3 L’orchestrationComme tout projet informatique ou tout projet intégrant une équipe d’intervenants, la
création d’un site web dynamique doit être coordonnée par un chef de projet. Cette
personne est nécessaire ne serait-ce que pour être l’intermédiaire du mandataire. À
partir d’une certaine taille (projets informatiques conséquents), on pourra également
avoir recours à différents niveaux de responsabilité tels que les rôles de maître
d’œuvre et de maître d’ouvrage, à l’instar des projets de travaux publics. C’est une
-
52
configuration d’organisation particulièrement fréquente quand l’organisme
mandataire du service fait appel à un prestataire extérieur.
3.2.3.1 Maintien du capL’une des principales fonctions du chef de projet est de maintenir son équipe sur la
voie du projet. Nombreux sont les imprévus et les variations dans les charges de
travail, les écarts entre les délais prévus et les délais réels. Pendant le déroulement du
projet, le responsable de projet se doit de garder l’objectif final du site en tête et de le
rappeler, lorsque nécessaire, aux différents intéressés (B.Boiko [21]).
3.2.3.2 Adaptation du planning et gestion des prioritésLorsque des imprévus viennent modifier les délais de certaines réalisations, le
responsable de projet peut adapter le planning en fonction. On pourra se dire : « telle
partie du projet ne peut avancer pour telle ou telle raison, voyons si telle autre, qui
devait commencer plus tard, ne peut commencer maintenant, en fléchissant un peu le
plan de déroulement des opérations ».
Il est parfois possible de compenser ainsi des freins imprévus. D’autres fois,
l’enchaînement des tâches fait qu’il est impossible de commencer une opération
avant d’en avoir fini une autre. Dans ce cas, il faut savoir renoncer à certaines
fonctionnalités secondaires pour atteindre l’objectif global. Même si toutes les
caractéristiques ne sont pas là, le produit aura une meilleure chance de rendre service
à ses utilisateurs s’il a toutes les fonctionnalités essentielles que si ces dernières ont
été mal réalisées en raison d’autres détails fonctionnels. En somme, il est nécessaire
de garder une vue d’ensemble et être prêt à réaliser quelques compromis pour
l’atteinte des grands objectifs.
3.2.3.3 CommuniquerLa cohésion de l’équipe dépend de la capacité du responsable de projet à
communiquer. Chacun, en sachant où il en est et où en est le projet, peut se situer et
adhérer à la mission commune. Un outil que je trouve particulièrement utile pour
fédérer l’équipe ainsi que pour donner une idée au mandataire de l’avancement d’un
projet est l’utilisation des schémas et figures symbolisant les échanges
d’informations, les étapes à suivre, les sous parties du projet, etc (cf. annexes 1 et 7).
-
53
Garder une simplicité dans ces moyens de communication est garant d’une bonne
compréhension par l’ensemble des intervenants. Pour les schémas, on favorisera la
couleur et les symboles clairs, éventuellement les animations simples que permet par
exemple le logiciel Powerpoint pour les présentations sur écran ou les projections en
salle de réunion. Les impressions de diapositives (pages) Powerpoint en couleur,
même si les animations doivent être laissées à l’écran, sont également un très bon
moyen pour communiquer les concepts et orientations.
Il est particulièrement intéressant de fixer, dès le départ du projet, une série de
rencontres régulièrement planifiées avec les différents acteurs du projet. Des
aménagements et modifications peuvent être faits par la suite, mais le respect des
échéances favorisera le résultat du travail commun.
3.2.4 Les facteurs clés de succès et autres garants de la pérennité duproduit
À la lumière de la littérature lue sur des sujets connexes, pour garantir la qualité d’un
produit dynamique d’information en ligne, plusieurs critères devront être respectés :
• La livraison d’un produit clé en main ne nécessitant plus aucun développement
pour fonctionner ;
• L’utilisation du maximum de standards existants de l’informatique du moment
(en termes de composants logiciels et de langage de programmation) ;
• Une conception flexible pouvant accepter de nouveaux développements de
fonctionnalités ou de pages ;
• Un poste du département concerné à qui est transmise la responsabilité des mises
à jour du contenu (un poste et non pas une personne, car les personnes sont plus
mobiles que les postes) ;
• La formation adéquate des personnes en lien avec la maintenance du site web
dynamique ;
• Une documentation claire et complète sur le produit et ses composants (et qu’elle
soit accessible !)
• Une charte qualité pour la maintenance du site web
-
54
3.3 Impact au niveau du département concerné
3.3.1 Un contenu à produire et à publierLes sites web dynamiques, s’ils apportent une plus grande flexibilité sur la
manipulation d’un contenu informationnel conséquent, ils demandent par ailleurs une
prise de conscience par les fournisseurs de contenu de l’importance de mettre à jour
l’information publiée.
Un avantage sur la qualité de l’information transmise, puisqu’on parle d’information
à jour et à valeur ajoutée importante, apporte donc son lot d’inconvénients si l’on
considère la charge de travail que cela peut représenter.
Lorsqu’un produit d’information de ce type est ajouté à une gamme de produits
d’informations déjà existants, pour un centre de documentation par exemple, il est
nécessaire de prévoir un aménagement du temps, proportionnel à la fréquence des
mises à jour nécessaires et au travail qu’elles demandent.
On pourra argumenter que les informations fournies via un site web dynamique
seront autant d’informations qui n’auront pas à être données en direct par le
personnel du département, ce qui allègerait substantiellement la charge de travail
quotidienne. C’est, en réalité, sans compter le nombre de personnes qui n’ont pas
accès au réseau informatique sur lequel le produit sera présenté. Bien entendu, ce
nombre de personnes variera d’un projet à un autre, d’un organisme à un autre et
d’un département à un autre. Aussi, le public visé par un produit d’information est
crucial à connaître car il peut être informatisé et connecté à 100% comme à zéro.
3.3.2 Préparer la structure pour les réactions extérieuresDans les effets prévisibles de la mise en ligne d’un nouveau service d’information,
on peut compter l’inévitable « feedback », l’expression anglaise qui décrit le retour
d’impression et la réaction du public au contenu mis en ligne. Comme il est à peu
près inévitable d’avoir un nombre de réactions proportionnel à la taille du public
cible, il est sage de prévoir une infrastructure capable de répondre aux demandes
d’informations subsidiaires ainsi qu’aux réactions.
-
55
3.4 Le cas du projet au HCR
3.4.1 Les sujets soulevés par la mise en œuvre du projetLe département dans lequel j’ai réalisé mon stage était composée d’une dizaine de
personnes. Deux se sont occupés de me fournir le contenu statistique du site et un
autre m’a transmis les cartes géographiques. Le responsable de la section m’a aidé à
nouer les contacts dont j’avais besoin ainsi qu’à poussé le projet aux moments
nécessaires.
Ce qui a donné un ton original au projet de site web dynamique sur les camps de
réfugiés est la position de stagiaire que j’occupais vis-à-vis de l’impact que ce site
pourrait avoir s’il était effectivement publié sur l’Internet. Grâce à ce contexte et à la
gentillesse de l’équipe, j’ai bénéficié d’un traitement très satisfaisant et d’une
attention que les autres stagiaires de l’organisation auraient pu envier ! Tout le travail
qui était fourni pour l’obtention de ces indicateurs statistiques, et j’étais celui qui
allait leur donner une visibilité sans égale. C’est ainsi que j’ai ressenti mon
environnement de travail, en particulier vers la fin du stage.
Dans ce contexte, dès que nous avons dû compter les ressources (humaines) dont
nous aurions besoin pour la réalisation du projet, il nous a fallu chercher le personnel
technique nécessaire (cf. sous partie 3.1.1). Même si le projet ne disposait pas d’un
budget particulier, sa réalisation rentrait tout de même dans les objectifs de la section
et il était donc tout à fait normal de faire appel à des techniciens de l’organisation.
Nous avons présenté notre projet aux équipes en charge de l’intranet et du site web
de l’organisation (www.unhcr.ch). L’équipe de l’intranet s’est proposée pour
l’assistance technique dont nous aurions besoin.
Pendant l’élaboration des pages de la maquette HTML, une personne du département
a souhaité insister sur l’importance de ne pas impliquer d’autres départements
comme fournisseurs de contenu pour ne pas créer de problème lors des futures mises
à jour.
Comme le site, de l’avis du mandataire (le responsable de stage), perdrait
énormément de sa valeur ajoutée s’il ne présentait que des données chiffrées, il s’est
-
56
installé un petit débat sur ce sujet. Les deux points de vue étaient tout à fait
défendables, mais notre public cible était trop varié pour que l’on puisse faire
l’économie d’un peu de texte et de quelques images. De plus l’effort à fournir pour
centraliser ces éléments est peu important (il nécessite environ une demi-journée par
an). Les images, servant à illustrer les pages, n’ont pas à être mises à jour.
3.4.2 Une organisation du travail en quatre sous projetsAu cours de la conception de ce site web, plusieurs « chantiers » étaient en marche.
Un aperçu des quatre grands chantiers peut être vu en annexe 1 et sur la figure 8. Le
premier est le chantier de la base de données statistique. Le deuxième est celui du
serveur web. Le troisième est celui de la structure du site et le quatrième celui de
l’interface graphique, donc de la maquette HTML et de la programmation en PHP.
Figure 8. – Les quatre principales parties du projet de site d’information sur les
camps de réfugiés
-
57
Conclusion
-
58
Nous avons vu que la mise en œuvre d’un projet de création de site web dynamique
pose un certain nombre de problèmes. Depuis la reprise des données existantes, qui
peut nécessiter un grand nombre d’opérations de transformations laborieuses pour
être mises au format d’une base de données, jusqu’aux