• Technologies avancées :: introduction
Vous voulez voir votre site Web prendre de l'ampleur? comporter plus
d'informations? posséder un contenu plus dynamique? offrir de nouvelles
fonctionnalités avancées? Il vous faut utiliser les technologies avancées
présentes sur le Web! Attention, la route sera longue pour tout maîtriser, mais
le résultat sans nul doute impressionnant...
››» XML
:: Quel intérêt?
Outre le nom d'un langage se voulant le digne successeur du SGML, XML pour
eXtensible Markup Language est le symbole d'une immense famille de
technologies qui s'étend sur le Web et même sur l'informatique plus
généralement. En reprenant la structure en arborescence, la grammaire stricte
du langage à balises (comme par exemple le XHTML) et en ajoutant le principe de
séparation de forme et contenu, le XML est une technologie qui peut être
utilisée partout pour le stockage, traitement, transformation, etc. de données.
Pratiquement, la séparation forme/contenu signifie que les balises d'un document
xml n'ont a priori aucune signification! Ce document est en fait
accompagné d'autres composants (dérivant du xml) qui vont ajouter du sens, et à
terme faire en sorte qu'il soit exploitable par un utilisateur. On entre dans
l'ère du Web sémantique!
:: Un exemple...
L'architecture du document xml doit toujours respecter la grammaire de base et
donc présenter une arborescence. Comme indiqué pour
les documents XHTML,
vous inscrire la séquence suivante
<?xml version="1.0" encoding="ISO-8859-1"?>. Cependant, à ce niveau on
peut avoir l'impression d'être déboussolé: beaucoup de libertés sont offertes et
on ne sait pas vraiment ce qu'il peut en sortir! On va traiter un exemple qui
nous intéresse ici pour un site Web: la création automatique de pages Web à
partir d'un contenu XML (ce n'est qu'une petite facette des applications
possibles).
[C'est avec cette technique que ce guide a été fabriqué...]
- Dans un premier temps, il faut déterminer la structure d'un archétype de
document XML: savoir comments s'organisent les balises; quels sont les
éléments parents, enfants; les attributs qu'ils peuvent avoir; quels noms
utiliser!
[Essayez d'être explicite à ce niveau pour que les documents xml
soient facilement compréhensibles... mais évitez les éléments trop longs: la
taille des fichiers XML augmente d'autant.]
- Dans un deuxième temps, vous devez savoir (de façon la plus précise
possible) à quoi doivent ressembler les pages Web générées. Vous pouvez
fabriquer, pour cette étape, un prototype de page Web: une sorte de modèle.
- Il faut ensuite écrire le document servant à la transformation du document
XML. On va utiliser le langage XSL qui peut réaliser des transformations vers
différents formats dont les pages Web. C'est là qu'il va falloir plonger les
mains dans la mécanique: les transformations XSLT eXtensible Stylesheet
Language Transform se font via le langage XSL qui demande à être compris
et maîtrisé.
- Enfin, il faut effectuer la transformation pour obtenir le document généré
de façon tangible.
Plusieurs techniques
existent, on peut:
- employer le moteur de rendu développé par Microsoft.
- passer par l'intermédiaire du composant Apache nommé Xalan.
Pour vous faciliter la maîtrise de cette puissante technique, vous pouvez
explorer le dossier et rechercher
les documents .xml et .xsl qui ont servi à la fabrication de ce guide. Par
ailleurs, comme pour le XHTML, le W3 Consortium met à jour des
recommandations sur
le langage XSL: vous pourrez trouver toutes les richesses du langage...
Programmation Java, EcmaScript...
››» Java, EcmaScript
:: C'est quoi Java?
Le langage Java a été fondé en 1995. Il était d'abord voué à équiper tous les
appareils électroniques (électroménagers, vidéo, communiquants, etc.), mais a
dépassé les prévisions et il s'est très vite implanté dans la micro-informatique
classique pour deux raisons essentielles. D'abord, le Java est une évolution
importante et positive d'un langage déjà existant: le C++ (très utilisé);
ensuite, toute la technologique Java se veut portable dans le sens où un seul
code source suffit pour que le programme fabriqué fonctionne sur n'importe
quelle plate-forme (équipée d'une
machine virtuelle Java).
[Contrairement au XHTML, par exemple, la programmation d'un logiciel
est normalement spécifique à un système d'exploitation... Java casse cette
règle.]
:: Et pour quoi faire?
Vous avez déjà sans doute butiné des sites où un petit programme Java (applet)
était inséré pour faciliter la navigation, ajouter une fonctionnalité, créer un
effet particulier... C'est en ça que Java est intéressant: il permet d'ajouter
du contenu riche à votre site! Le langage XHTML permet de fabriquer du contenu
statique pour les pages Web, avec les applets Java vous pouvez par exemple créer
des simulations numériques où l'utilisateur peut modifier des paramètres en
temps réels, augmenter l'intéraction avec l'utilisateur, fabriquer des effets
visuels intéressants (en 2D et 3D), etc. Pour plus de renseignement vous
trouverez de la documentation
ainsi que tout l'environnement de développement
nécessaire...
:: Et EcmaScript dans tout ça?
L'engouement du Java a accouché d'un autre langage plus modeste et d'abord
intégré dans le seul navigateur NetScape: c'était le JavaScript. S'en est suivie
l'apparition du VisualBasicScript de Microsoft, une petite bataille eu lieu pour
faire sortir vainqueur le JavaScript comme langage standard de scripts pour
pages web... Il est désormais bien interprété par tout butineur qui se respecte.
Une autorité de normalisation a revu et un peu corrigé le JavaScript, il
s'appelle désormais le EcmaScript. Vous pouvez trouver plus d'informations dans
des
documentations ou sur
Internet dans les nombreux sites dédiés à ce langage.
Un langage de script coté serveur!
››» PHP
:: C'est quoi?
PHP ou Hypertext Preprocessor est un langage de script utilisé la plupart
du temps pour fabriquer des pages Web XHTML. Attention, contrairement à
EcmaScript, il s'agit de scripts éxécutés du coté du serveur web (qui contient
tous les documents relatifs à votre site). Pour l'utilisateur, tout est caché:
il ne perçoit que le résultat des opérations effectuées par l'éxécution du
script. PHP est langage extrèmement puissant, versatile et compatible avec un
nombre impressionnant de bases de données. Il est par ailleurs d'un abord très
simple, et affiche un développement sur le Web fantastique: pour le nombre de
sites utilisant cette technologie, mais aussi pour la communauté de programmeurs
qui partage du code.
:: Pour quoi, et comment?
Vous pouvez utiliser PHP pour fabriquer tout ou partie de votre site.
Assurément, ces capacités ajouteront un aspect dynamique indéniable: en gérant
les formulaires, en créant des pages selon les préférences des internautes, en
proposant des forums et autre Wiki, etc.
[Il faut cependant passer par une petite étape de configuration et/ou
installation d'un Serveur Web muni d'un interprétateur PHP, comme détaillé dans
la section suivante.]
Pour en savoir plus, vous pouvez consulter la
documentation
(en Français!) exhaustive sur le sujet, elle est fréquemment mise à jour.
:: Outils tout prêts
Pour vous éviter d'avoir à apprendre le langage dans ses moindres rouages,
différents outils / paquet existent. Ils regroupent la plupart du temps de
nombreuses fonctions très demandées et vous permettent ainsi de fabriquer un
site dynamique (incluant forum, Wiki, dépêches, etc.) en conservant la
possibilité de donner un aspect tout à fait personnel à l'habillage du site.
Vous pouvez essayer Templeet et/ou DotClear..
pas de jaloux!
Pour donner vraiment vie à votre site Web!
››» Serveur Web
:: Comme dans un WebCafé?
En fait, ça n'a rien à voir ;o) Un serveur Web est un logiciel fournissant la
possibilité aux internautes de consulter un ou des sites Internet. Votre
hébergeur en dispose forcément d'un. Mais vous pouvez aussi en installer un sur
votre machine, même si vous ne compter pas héberger votre site à proprement
parler. Pourquoi? Un serveur Web offre la possibilité de faire fonctionner des
langages de scripts coté serveur (server side scripts), une base de
données, des composants particuliers comme l'interprétation de document XML par
exemple... Autant dire que les possibilités offertes sont immenses.
:: Comment ça se présente?
Il s'agit d'un logiciel fonctionnant en arrière-plan et qui peut se voir
adjoindre des composants divers. Le serveur Web le plus connu est sans nul doute
Apache. Une
foule d'éléments peut être configurée pour satisfaire vos attentes. Pour faire
fonctionner le PHP, il faut installer une sorte de module; pour faire
fonctionner une base de données (MySQL par exemple), c'est le même système. Pour
faciliter la tâche, l'équipe de EasyPHP a fabriqué
un paquet qui installe
une configuration basique de l'ensemble Apache, PHP, MySQL et PHPMyAdminun (un
outil de configuration).
:: Des curieux, ici?
En plus du paquet de EasyPHP, vous pourrez trouver des composants plus
spécialisés comme Cocoon (avec FOP), Batik, Xalan, etc. qui chacun offre une ou
plusieurs fonctions avancées...
Allez voir!
Une petite astuce!
››» PDF Writer
:: C'est quoi?
C'est plus une astuce qu'une technologie en soi ;o) Parallèlement au HTML,
langage intrinsèque au Web, s'est développé un autre langage ou format: le PDF
pour Portable Document Format. Son immense intérêt, c'est de pouvoir
transporter un document imprimable et consultable n'importe où (avec le logiciel
adéquat: Adobe (Acrobat) Reader); par ailleurs, les documents sont généralement
légers et agrandissables à souhait...
:: Comment en fabriquer?
Si vous vous êtes poser la question, effectivement, à première vue il n'existe
pas de fonction enregistrer en .pdf dans les logiciels classiques (sauf ceux
signés Adobe). Et pourtant, on peut tout à fait légalement et gratuitement
fabriquer des documents en pdf! Il faut réunir deux conditions:
Après quoi, lorsque vous voudrez enregistrer en .pdf, vous choisirez plutôt la
fonction imprimer (!) en veuillant à bien choisir l'imprimante virtuelle créée
pour l'occasion.
[Le résultat n'est pas aussi parfait qu'avec un outil comme FOP dédié
au PDF, mais cela reste très pratique... c'est ainsi qu'ont été fabriquées les
versions imprimables du guide!]