Cher journal,
Je m'attèle depuis peu à créer et entretenir un petit site perso tout con :
- messages pour les copains,
- galerie de photos,
- conneries en tous genres...
J'aimerais trouver un outil pour maitenir ce site sans trop me casser la tête. En gros, j'ai juste besoin de pouvoir faire un include (pour les entêtes et pieds de pages), récrire des expressions régulières et faire des boucles (typiquement pour générer la galerie de photos).
Je souhaite générer tout ça de temps en temps et exporter le tout sur le site. Pas de PHP ni d'autre machin dynamique, donc de toute façon, mon hébergeur ne m'en propose pas.
Pour l'instant je fais ça avec un Makefile et des scripts shell faits main, mais je me suis dit qu'il devait exister des outils « exprès pour » (idoines, en français) au moins pour remplacer les scripts. En navigant un peu, j'ai trouvé que m4 pouvait être mon ami.
Avant de faire le premier pas, j'aimerais bien avoir quelques retours d'expériences sur l'utilisation de m4 dans ce cadre, ou alors des suggestions pour d'autres outils.
Merci, cher journal, de me prêter ton oreille attentive et muette (comme beaucoup d'oreilles).
# Re: Préprocesseur HTML statique
Posté par liberforce (site web personnel) . Évalué à 2.
- adapté à la manipulation de texte
- gère les expressions régulières et les boucles
- tu pourras aisément faire du remplacement avec un petit script, en cherchant un peu sur le net, tu n'auras même pas à l'écrire
J'ai déjà essayé cette méthode, et pour moi ça a marché nickel...
My 2 cents...
[^] # Re: Préprocesseur HTML statique
Posté par liberforce (site web personnel) . Évalué à 1.
# Re: Préprocesseur HTML statique
Posté par Krunch (site web personnel) . Évalué à 1.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Préprocesseur HTML statique
Posté par Pinaraf . Évalué à 1.
Le CVS d'un site écrit de cette façon :
http://savannah.nongnu.org/cgi-bin/viewcvs//non-gnu/maitretarot/?cv(...)
Article dans linuxgazette.com :
http://www.linuxgazette.com/issue89/danguer.html(...)
Recommandation XSLT (en français) :
http://xmlfr.org/w3c/TR/xslt/(...)
De nombreuses recommandations du W3C
(dois-je rappeler l'adresse ?)
Et des bouquins sur Oreilly :
http://www.oreilly.com/catalog/xmlnut2/(...)
http://www.oreilly.com/catalog/xsltckbk/(...)
[^] # Re: Préprocesseur HTML statique
Posté par Xavier Teyssier (site web personnel) . Évalué à 1.
http://www.oreilly.fr/catalogue/comprendre_xslt.html(...)
qui permet aussi bien de comprendre XSLT que le XML.
AMHA, un excellent bouquin.
# Re: Préprocesseur HTML statique
Posté par icyfemur . Évalué à 2.
En fait, j'utlise une feuille de style XSLT et un ensemble de fichiers XML qui sont en fait des documents XHTML tout simples, ou presque, puisqu'ils contienent l'instruction [?xml-stylesheet ...] au début.
La feuille de style se contente d'ajouter les entetes, menus, pied de pages là ou il faut, d'importer le head>title dans son title (comme ca elle le préfixe par le nom du site), inserer la feuille de style par défaut et ajouter en plus les autres balises qu'ils peuvent se trouver en plus dans le head. Enfin, elle recopie le contenu du [body] dans le [div id="contenu"].
Ensuite, un script python d'un trentaine de lignes parcoure toute l'arborescence à la recherche des fichiers .xml, et génere les fichiers.html qui vont bien dans le meme repertoire que le fichiers xml, en utilisant la feuille de style précisée dans l'entete.
L'avantage de cette méthode, c'est que tu peux avoir une prévisualisation de ce que donne ta page avec Mozilla, en appellant directement la page xml, et Moz se charge de la transfo XSLT pour toi. Enfin, tu mouline avec le script que lorsque tu veux exporter le bordel. Pour les url il faut dans cas ne pas donner l'extension du fichier dans les balises [a], et le Content-Negociation du serveur Apache doit te donner tout seul le .xml.
L'inconvénient, c'est que si tu as des url relatives à mettre dans le fichier XSLT, elle seront relatives au fichier XML qui appelle la feuille de style, donc si c'est dans un sous repertoire, ca fout le bazar. J'ai utilsé du coup la balise [base] dans le [head] afin de contourner ça, mais j'aime pas trop. On pourrait passer en parametre de la feuille de style lors du moulinage Python le chemin pour retourner dans le repertoire parent à coup de "../../", mais le probleme c'est que via Mozilla, tu ne peux pas passer de parametres à la feuille de style, donc ça ne marcherai que pour l'export...
L'amélioration à faire dans le script que j'avais fait, ca serai de faire un repertoire séparé pour la génération du site, avec recopie (ou liens symboliques) du contenu non xml vers la cible. En effet, la présence d'un fichier xml et html dans le meme repertoire fout la merde avec le ContentNegociation, et a tous les coups c'est le xml qui est donné au lieu du fichier html lors que tu demande le nom de fichier sans extension... hors on peut difficilement faire confiance au navigateur à l'heure actuelle pour les transfos XSLT.
Enfin, y a des trucs tout fait pour Eclipse pour faire ce genre de choses avec une approche plus ou moins différente dans les détails, je pense à StyloPlume http://negrej.free.fr/styloplume/(...) ou encore XM http://www.ananas.org/xm/index.html(...) qui n'est pas mal non plus.
Voila, je sais pas si j'ai été clair... j
[^] # Re: Préprocesseur HTML statique
Posté par Lucas Bonnet . Évalué à 1.
[^] # Re: Préprocesseur HTML statique
Posté par Sébastien Corbeau (site web personnel) . Évalué à 1.
Dans le temps, j'avais un script perl qui appellait xalan pour chaque page et générait ainsi le site. C'est très rapide à mettre en place. C'est très souple aussi.
http://xml.apache.org/xalan-c/index.html(...)
J'ai fait un module apache qui fait la même chose, il y a un moment. Mais aujourd'hui, je ne m'héberge plus moi-même, donc j'ai fais un script qui appelle wget sur chaque page (et le module génère les pages).
Le plus simple pour toi reste xalan en solo.
# Re: Préprocesseur HTML statique
Posté par nojhan (site web personnel, Mastodon) . Évalué à 2.
# Re: Préprocesseur HTML statique
Posté par Barbapapa . Évalué à 2.
# Re: Préprocesseur HTML statique
Posté par Yann Droneaud (site web personnel) . Évalué à 2.
http://sherkan.tuxfamily.net/~meuh/site.m4(...) (Attention il n'y a pas de licence)
http://sherkan.tuxfamily.net/~meuh/sample.m4html(...)
# Re: Préprocesseur HTML statique
Posté par Yusei (Mastodon) . Évalué à 1.
http://yusei.ragondux.com/informatique_documentation_automatiser_m4(...)
[^] # Re: Préprocesseur HTML statique
Posté par gros_rouge . Évalué à 1.
Quand on parle du loup... http://linuxfr.org/comments/393534.html(...)
Désolé, trop rapide pour moi. ;)
[^] # Re: Préprocesseur HTML statique
Posté par Yusei (Mastodon) . Évalué à 1.
# Re: Préprocesseur HTML statique
Posté par gros_rouge . Évalué à 2.
"En navigant un peu, j'ai trouvé que m4 pouvait être mon ami."
Il peut l'être effectivement
Automatiser son site avec m4 et make
http://yusei.ragondux.com/informatique_documentation_automatiser_m4(...)
"Avant de faire le premier pas, j'aimerais bien avoir quelques retours d'expériences sur l'utilisation de m4 dans ce cadre..."
yusei (http://linuxfr.org/~yusei/(...)) est l'auteur de cet article. Son site étant conçu à l'aide de cette moulinette, il pourra sans aucun doute te faire part de son expérience.
N'étant pas informaticien, je ne sais pas si ce document correspondra exactement à tes attentes. En ce qui me concerne, je trouve son article très interéssant et profite de l'occasion pour l'en remercier.
Fabrice.
# Re: Préprocesseur HTML statique
Posté par Sol Weintraub . Évalué à 2.
Ma solution à ce problème :
http://www.nongnu.org/achille/(...)
Il s'agit d'un outil permettant à l'origine de traiter les documents Docbook pour construire un site. Il génère les index, transforme les XML en HTML, ... et progresse très lentement :)
A l'origine fondé sur des scripts Bash Sed et Awk, le CVS contient maintenant une nouvelle version en Python, normalement utilisable, mais avec une documentation majoritairement périmée.
[mode pub off]
# Re: Préprocesseur HTML statique
Posté par iouri . Évalué à 1.
Il fait bon vivre dans le monde du libre, là où tout problème admet 42 solutions.
Je ne sais pas encore vers laquelle je vais me tourner, mais je dispose maintenant des éléments nécessaires pour choisir.
Et ma foi, puisque j'y suis, je crois que je vais tout essayer, juste pour voir.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.