Nouveau site avec Hyde

Vincent Bernat

Mon site web était jusqu’à ré­cem­ment géré par le mod_​autoindex d’Apache. Plu­tôt ba­sique. Voilà donc un nou­veau site, en­tiè­re­ment sta­tique et gé­néré par Hyde, un gé­né­ra­teur de site sta­tique en Python.

Statique ou dynamique ?#

De­puis que nous sommes en­trés dans le nou­veau mil­lé­naire, la mode est plu­tôt aux sites dy­na­miques. Sou­vent en PHP avec un mo­teur comme DotClear ou WordPress, par­fois fa­bri­qués à la main dans son lan­gage pré­féré. Au­jourd’hui, la pro­blé­ma­tique de l’hé­ber­ge­ment est beau­coup plus simple : pour pas très cher, il est pos­sible d’ob­te­nir un ser­veur vir­tuel sur le­quel on fait ce que l’on veut.

Tou­te­fois, les sites dy­na­miques ont plu­sieurs défauts :

  • Il faut sur­veiller de ma­nière très at­ten­tive les mises à jour de sé­cu­rité, cer­taines pla­te­formes étant plus vul­né­rables que d’autres.
  • La mon­tée en charge peut être très pro­blé­ma­tique, même pour un pe­tit site qui pour­rait avoir à ab­sor­ber mo­men­ta­né­ment un pic de charge.

Avec un site sta­tique, les pro­blèmes de sé­cu­rité sont moindre vu qu’il y a moins d’éle­ments qui entrent en jeu. La mon­tée en charge est aussi beau­coup plus simple. Un site sous nginx peut sup­por­ter des mil­liers de connexions par se­conde sans au­cun pro­blème et il est pos­sible de mul­ti­plier les ser­veurs pour ob­te­nir une mon­tée en charge qua­si­ment li­néaire. Pour un site dy­na­mique, les per­for­mances se­ront beau­coup plus ré­duites : quelques cen­taines de connexions par se­conde, voire beau­coup moins sur un pe­tit ser­veur virtuel.

L’hé­ber­ge­ment peut de plus se faire sur des pla­te­formes plus simple, comme par exemple Amazon S3.

De plus, même avec un site sta­tique, il est pos­sible d’op­ter pour un sys­tème de com­men­taires en uti­li­sant un sys­tème comme Dis­qus. L’om­ni­pré­sence de Java­Script per­met un peu de ma­rier les deux mondes.

Hyde#

Hyde est un gé­né­ra­teur de site sta­tique écrit en Py­thon. Il en existe beau­coup d’autres. Il y a une ques­tion sur le su­jet qui a ob­tenu pas mal de ré­ponses sur StackOverflow. Il y a éga­le­ment une liste as­sez com­plète sur ce blog. Si vous êtes plu­tôt Ruby, il me semble que na­noc et Web­gen sont de bons candidats.

Re­ve­nons à Hyde. Il a été ré­écrit ré­cem­ment et la do­cu­men­ta­tion n’est pas en­core tout à fait à jour. Il faut donc lire le code source pour bien com­prendre ce qu’il peut faire et com­ment. Tout s’ar­ti­cule au­tour de plu­gins et j’es­père que ce ne sera pas trop le ba­zar dans un an (j’y contribue).

Il vous prend donc vos fi­chiers et vous les fait pas­ser dans tout un tas de mou­li­nettes pour ar­ri­ver au site fi­nal. Il uti­lise Jinja comme sys­tème de tem­pla­ting, Mark­down comme syn­taxe pour écrire les textes, Less pour écrire du CSS de ma­nière as­sez pra­tique (et le mi­ni­fier), UglifyJS pour mi­ni­mi­ser le Java­Script, etc. Il est pos­sible d’at­ta­cher des mé­ta­don­nées aux fi­chiers (titre, au­teur, date de créa­tion). Mais tout étant qua­si­ment sous forme de plu­gins, on peut choi­sir d’autres tech­no­lo­gies si on le souhaite.

Au fi­nal, on fait un peu ce qu’on veut. Du coup, il faut aussi un peu tout faire soi-même.

Dans les as­pects pra­tiques, un pe­tit ser­veur web est fourni et il re­ge­nère les fi­chiers à la vo­lée quand on fait des mo­di­fi­ca­tions. C’est vrai­ment pra­tique mais clas­sique pour ce genre de logiciel.

Nouveau site#

Voilà donc un site sup­plé­men­taire réa­lisé avec Hyde. Parmi les ca­rac­té­ris­tiques no­tables, il faut no­ter que la plu­part des ar­ticles sont en an­glais et en fran­çais. Ceci est géré par un pe­tit plu­gin dans Hyde. Je suis as­sez content du résultat.

Ni­veau tech­nique, je ne sers qu’un seul fi­chier CSS (mi­ni­fié) et le gros du Java­Script est servi dans un seul fi­chier (mi­ni­fié aussi) et chargé avec ses dé­pen­dances (jQuery) à l’aide d’un pe­tit loa­der qui fait par­tie de Mo­der­nizr et qui est yepnope.js. Je vais ten­ter de mettre en œuvre les bonnes pra­tiques du mo­ment. Je vise la com­pa­ti­bi­lité avec Fi­re­fox 3, In­ter­net Ex­plo­rer 7 (pas d’In­ter­net Ex­plo­rer 6 !), Chrome et Sa­fari dans des ver­sions suf­fi­sam­ment récentes.

Ni­veau ha­billage, j’ai tou­jours été in­dé­cis. Je suis im­pres­sionné par cer­tains sites très sobres mais aussi par d’autres plus so­phis­ti­qués. J’ai tenté de choi­sir un juste mi­lieu, plu­tôt côté sobre vu que cela per­met de ne pas trop mettre à contri­bu­tion mes ta­lents gra­phiques.

Les sources sont dis­po­nibles sur GitHub pour les curieux !

Mise à jour (05.2026)

Voici une cap­ture d’écran mon­trant à quoi res­sem­blait cet ar­ticle à l’époque. 📜

Capture d'écran montrant le rendu de cet article il y a 15 ans. Il n'y a pas
tant de différences.

Mise à jour (10.2026)

Je n’uti­lise plus Hyde. Je suis passé à un gé­né­ra­teur de site sta­tique sur me­sure, qui uti­lise doit pour suivre les dé­pen­dances et construire en pa­rallèle.