Retour à l'accueil

Achille

Publié le :

Avant que mon site, chez free.fr puis sous ce nom de domaine, n’exploite successivement Emacs Muse, Wok, Hyde, et enfin Metalsmith, j’ai développé et utilisé une solution personnelle nommée Achille. Cet outil, initialement basé sur la transformation de documents SGML, devait devenir une chaîne de production telle que Metalsmith avant que je ne l’abandonne pour m’intéresser à d’autres choses.

Cet article est la dernière version de sa présentation en ligne et cette page est tout ce qui reste, avec un peu de code sur mon disque, des idées à implémenter qui sont restées lettres mortes.

La documentation mentionnée, dont je reste assez fier, est disponible ici. Elle comprend quelques photos d’écran ( 0, 1, 2, 3 ) d’un assistant graphique écrit en Python dont je ne fais mention nulle part ailleurs.


Achille est un système simple et sans prétention permettant la création de sites à partir de données structurées en XML, à l’aide de la DTD DocBook Ce site même est généré à l’aide de ce système.

Introduction

Achille est ma réponse à un problème simple : entretenir facilement un petit site composé de pages statiques. Cet outil permet de transformer une architecture de pages écrites en XML (avec la DTD Docbook) en une architecture identique de pages HTML, tout en créant des index et quelques autres facilités.

Achille a été conçu avec un souci particulier pour l’accessibilité, c’est à dire la possibilité d’accéder à l’information quels que soient le matériel et les possibilités physique des personnes. Ainsi, les pages produites sont conformes aux normes XHTML 1.1 et CSS 2 et peuvent être affichées correctement par n’importe quel navigateur moderne. Cependant, les navigateurs plus anciens ou ne supportant pas CSS, ou encore tout autre outil sachant lire le langage HTML est capable d’afficher le contenu de ces pages. Seule la présentation en souffre.

Logiciels requis

Achille a tout d’abord été implémenté sous la forme d’un ensemble de scripts. Ce système ne nécessitait rien d’autre que le shell bash, awk, l’éditeur sed, la DTD DocBook et un outil de formattage XSLT tel xsltproc. Ces logiciels sont disponibles pour de nombreux systèmes, notament toutes les versions d’Unix libres, par exemple OpenBSD ou Linux.

À partir de la version 2.0, Achille a été complétement réécrit en Python. Python est un langage de script orienté objet, disponible aussi bien sous MS Windows qu’un UNIX ou Macintosh. Python possède une bibliothèque standard extrêmement bien fournie, mais la gestion des documents XML avec XPath et XSLT nécessite l’utilisation d’une bibliothèque tierce. PyXML n’étant pas suffisament avancée pour mes besoins au moment où j’ai débuté le développement, j’ai choisi d’utiliser 4Suite. La procédure d’installation de cette bibliothèque est extrêmement simple, quelle que soit la plate-forme.

Note : Achille utilise la version 2.3 du langage Python.

Avertissement : La bibliothèque 4Suite est toujours en constante évolution au moment où ces lignes sont écrites. Si Achille ne fonctionne pas correctement avec la dernière version fournie sur leur site, essayez d’utiliser une des versions de travail disponibles ici. Vous pouvez également installer Amara All-in-One, qui comprend le sous-ensemble de 4Suite nécessaire au bon fonctionnement d’Achille.

Démonstration et Téléchargement

Achille a été un temps hébergé par Savannah. Cependant, j’ai jugé que trop peu de personnes étaient intéressées, et d’autre part je n’étais pas capable de faire suffisament vivre le projet moi-même. Tout ce qui concerne Achille figure donc désormais sur ce site uniquement.

Ce site même est un exemple de ce qu’il est possible de faire avec Achille. Vous trouverez sur ces pages de plus amples renseignements sur son fonctionnement et ses principes, ainsi qu’un tutoriel et la référence des éléments DocBook compris par Achille.

Note : Ces documents sont en partie obsolètes, mais restent une bonne introduction aux principes directeurs d’Achille ainsi qu’à sont fonctionnement.

La version la plus à jour peut être trouvée sur TuxFamily. Le code est disponible par subversion: svn co svn://svn.tuxfamily.org/svnroot/achille/svn/trunk ./achille.

Vous pouvez télécharger d’anciennes versions depuis ce répertoire.

Pourquoi Achille

<publicité gratuite>Lisez Achille Talon</publicité gratuite>