Réaliser de A à Z un webservice XML-RPC en Shell UNIX

Comprendre et mettre en place un webservice XML-RPC en Shell UNIX

Le XML-RPC est un truc simple : le client envoie une requête type web (comme celle du navigateur web) au format XML à un programme sur un serveur qui sert de webservice chargé de récupérer le XML. Dans ce XML, il y a une méthode appelée et ses paramètres à appliquer (les paramètres dépendent de la méthode). Après quelques vérifications protocolaires d'usage, le webservice analyse le XML pour extraire les informations donc il a besoin pour appeler la méthode avec ses paramètres puis il renvoie le résultat, au formt XML également.

Voyons concrètement avec un exemple.

GRDDL

Extraire des informations d'un document pour générer du RDF

GRDDL est un mécanisme destiné à glaner des descriptions de ressources dans les dialectes des langages. Cette spécification GRDDL introduit un balisage, fondé sur les standards existants, afin de déclarer qu'un document XML contient des données compatibles avec le cadre de descriptions de ressources (RDF) et afin d'associer des algorithmes, typiquement dans une représentation XSLT, pour en extraire les données.

Le balisage inclut un attribut qualifié par un espace de noms pour les documents XML d'utilisation générale et un lien d'association qualifié par un profil pour les documents XHTML. Le mécanisme GRDDL permet également de déclarer dans un document d'espace de noms XML (ou un document de profil XHTML) que chaque document associé à cet espace de noms (ou profil) contient des données à glaner, et d'associer un algorithme pour recueillir les données.

XSLT : local-name()

Récupération d'un élément appartenant à un espace de nom

La fonction XSLT local-name() retourne le noeud passé en paramètre de la fonction en s'affranchissant de l'espace de nom.

En effet, par défaut, une transformation XSL traite les noeuds appartenant à un espace de nom bien précis et ne s'occupe pas de ceux qui n'ont pas été spécifiés. local-name() permet de contourner ce problème et de récupérer les noeuds manquants. Cela peut-être fort utile lorsque le fichier source provient d'un traitement qu'on n'a pas les moyens de paramétrer ou de modifier.

xsl:template

Création d'un motif de transformation

xsl:template permet de créer un motif de transformation; il peut être assimilé à la fonction ou la procédure dans un langage traditionnel. Il est défini de la façon suivante :

XSL/XHTML+SVG

Comment intégrer une image SVG dans un document (X)HTML statique ou dynamique ?

L'utilisation en lieu et place d'images classiques (jpeg, png, etc.) permet une certaine souplesse dans certains cas.

Tout d'abord, étant vectoriel, il est souvent plus compact qu'un autre format. De plus, il permet un usage avancé des CSS puisqu'on peut lui attribuer des propriétés sans utiliser plusieurs images. Les images et icônes peuvent donc s'adapter facilement à une page sans avoir besoin de les retoucher.

L'insertion de SVG dans un document statique peut se faire de différentes façons, en fonction du format du document support.

Cache Manifest: Un site web plus rapide

Anticiper le chargement des pages en utilisant le cache

La version 5 du HTML apporte son lot d'améliorations. Ainsi, pour il est possible d'utiliser un cache pour un mode hors connexion. Mais nous pouvons détourner l'usage de ce cache (manifest) pour accélérer la navigation sur un site web.

Le manifest est une option apparue avec le HTML 5 afin d'indiquer au navigateur toutes les ressources à charger dans le cas d'une déconnexion.

En effet, les applications destinées aux téléphones portables subissent régulièrement des déconnexions du fait du déplacement, Si vous prenez un ascenseur, ou que votre métro passe dans un tunnel, ce qui coupe votre connexion. Si la page n'est pas chargée, l'affichage et l'usage ne se font pas correctement car un navigateur, pour des raison de rapidité affiche ce qu'il a dès qu'il l'a téléchargé. C'est pourquoi, il n'est pas rare de voir le texte avant les images...

Lorsqu'il est employé, le cache force le navigateur à d'abord charger les fichiers dont il a besoin avant d'afficher la page. Ainsi, en cas de déconnexion intempestive, l'usager n'est pas perturbé et il peut utiliser l'application web (ou le site), le temps de la déconnexion. En effet, si vous étiez occupé à rédiger un courriel au moment de la déconnexion, il serait dommage de perdre le message et d'être obligé de tout recommencer.

xsl:attribute

Création d'un attribut à un élément

xsl:attribute permet de créer un attribut.

Exemple

<xsl:apply-templates select="TARGETFIELD">
<BALISE>
<xsl:attribute name="ATTRIBUT1">
<xsl:value-of select="./BALISE1"/>
</xsl:attribute>
<xsl:attribute name="ATTRIBUT2">
<xsl:value-of select="./BALISE2"/>
</xsl:attribute>
</BALISE>
</xsl:apply-templates>

donnera :

<BALISE ATTRIBUT1="valeur-balise1" ATTRIBUT2="valeur-balise2"/>

Utiliser le format XBEL

Quelques exemples d'utilisation de XBEL

XBEL est un format XML de description de marque-pages (bookmarks). Au-delà d'un format d'échange, nous pouvons l'employer pour générer un certain nombre d'autres formats.

Si XBEL peut servir à décrire les marque-pages de toutes sortes, nous pouvons le détourner (ou plutôt restreindre le périmètre) pour maintenair l'arborescence d'un site web personnel et générer rapidement un certain nombre de documents à partir de là...

Création automatisée de la navigation

Comment créer automatiquement la navigation dans les pages web

La cohérence d'un site web tient à l'enchaînement des pages qui le composent.

Cet enchaînement depend essentiellement de la façon dont les concepteurs (i.e administateurs, auteurs, designers, …) ont conçu l'information et la présentation. Parfois, il est délégué à un CMS. Mais plus le nombre de pages augmente, plus l'enchaînement est complexe à gérer, notamment si l'on souhaîte le modifier.

Voyons comment automatiser une partie de cette gestion et, en allant plus loin, comment la générer automatiquement.

Convertir un fichier plat en XML

Convertir un fichier plat en XML à l'aide d'une transformation XSL

Dans les transformation XSL nous voyons souvent des convertions d'un fichier XML en d'autres format (XHTML, HTML, XML, fichiers plats, etc.). Mais rarement l'inverse. Pourtant, avec une simple transformation XSL et quelques astuces, il est possible de convertir un fichier plat en un fichier xml qui pourra, par la suite, être travaillé et transformé plus aisément.

L'avantage de disposer du fichier plat au format XML permet de le manipuler plus aisément.