![]() Un générateur de site statique qui casse des briques. VenC est tellement rapide qu'il enfreint le principe de causalité et produit de l'énergie surunitaire ! |
VenC est un logiciel libre écrit en Python conçu pour GNU/Linux, dont le développement a commencé en 2012 pour gérer et créer vos blogs statiques via la console. Avec VenC, tout est fichier texte, il n'y a pas de base de données. La configuration de chaque blog repose sur un unique et petit fichier YAML et les thèmes consistent en une poignée de templates HTML à modifier ou créer soi-même. Les publications quant à elles, se présentent sous la forme d'une partie YAML et d'une autre en Markdown, AsciiDoc ou reStructuredText.
Les blogs statiques sont adaptés aux réseaux de type Deepweb ou pour les personnes qui veulent un contrôle total sur leur site sans s'embarrasser de CMS lourds et potentiellement vulnérables en termes de sécurité. Par ailleurs, l'extrême simplicité de l'organisation des sources des blogs issues de VenC garantit une prise en main rapide et efficace.
VenC propose les fonctionnalités suivantes :
Le code source applicatif pèse environ 350 ko et le dossier des assets, constitués pour l'essentiel d'un thème par défaut, pèse moins de 330 ko. VenC étant très léger, il est donc plus facile à maintenir mais aussi potentiellement plus rapide.
Sur ce sujet nous avons malheureusement moins de marge de manœuvre.
Ce que nous pouvons faire cependant, c'est réaliser des choix judicieux dans ce qu'il convient de réimplémenter et ce qu'il convient d'importer. En l'occurrence, nous avons fait le choix de développer notre propre système de balises pour l'aide à la mise en page de votre projet. VenC ne dépend donc pas d'un moteur de template tiers comme Jinja et voit ses performances améliorées, dans la mesure où le moteur de template interne à VenC est fortement couplé avec le reste du code et a bénéficié d'un effort d'optimisations substantielles.
Autant que possible nous faisons également en sorte que les librairies tierces de VenC soient optionnelles pour minimiser le nombre de composants installés sur votre machine.
Pour le moment VenC requiert au minimum les librairies Python suivantes :
Celles-ci sont normalement installées automatiquement avec VenC.
VenC est un outil en ligne de commande, vous pouvez donc éditer votre site et vos publications sans environnement graphique. La documentation que vous lisez est également lisible dans un navigateur non-graphique sans problème de mise en page, par exemple avec un navigateur comme Links.
Par ailleurs, à ce jour, toutes les versions de VenC devraient fonctionner avec la version 3.5 ou supérieure de Python.
Des efforts substantiels d'optimisation ont été mis en œuvre pour rendre le code le plus rapide et léger possible.
Dans la version 3 de VenC, des fonctions de traitement parallèle ont été ajoutées pour accélérer la génération de votre projet et passer à l'échelle sur de gros volumes de données. À noter que l'activation du parallélisme augmente l'empreinte mémoire de VenC. Nous travaillons sur le sujet et espérons améliorer ça dans de futures versions.