URL: https://linuxfr.org/news/mise-a-jour-de-venc-en-version-3-2-2 Title: Mise à jour de VenC en version 3.2.2 Authors: denissalem Benoît Sibaud Date: 2024-06-05T14:49:21+02:00 License: CC By-SA Tags: python3, venc, kiss, floss et site_statique Score: 3 ![VenC](https://img.linuxfr.org/img/687474703a2f2f646f776e6c6f61642e74757866616d696c792e6f72672f6473616c656d2f696d672f323031375f2d5f44656e69735f53616c656d5f2d5f43435f42795f53415f2d5f56656e432d6c6f676f2e737667/2017_-_Denis_Salem_-_CC_By_SA_-_VenC-logo.svg "") [VenC](https://venc.software), un générateur libre (GPLv3) de site statique en python qui avait déjà été présenté [dans une dépêche précédente](https://linuxfr.org/news/venc-3-1-1-un-nouveau-generateur-de-site-statique), est de retour en version 3.2.2 avec tout un tas de nouvelles fonctionnalités cool qu’on va voir ici. ---- [Site de l'auteur ](https://denissalem.tuxfamily.org/) [Site de Jérémy Berry](https://jeremyberry.org/) [Site du projet](https://venc.software/) [Tipeee ](https://fr.tipeee.com/denissalem) [Liberapay](https://liberapay.com/denissalem/) ---- # Auto-rafraîchissement lors de la prévisualisation Quand vous prévisualisez votre site avec `venc -s` vous n’avez plus besoin de tuer le processus du serveur HTTP local et de régénérer manuellement le site à chaque modification. Le mécanisme est à présent automatique et détecte lui-même un changement pour vous présenter la version à jour de votre contenu ! La cache du navigateur étant parfois capricieux, VenC vous notifie dans la sortie standard de ses actions si jamais vous avez un doute. # Assignation d’un thème par défaut Si vous utilisez le thème par défaut `concrete` ou tout autre thème installé en dehors de votre projet il est possible de l’indiquer dans votre [fichier de configuration](https://venc.software/Fichier-de-configuration-principal/#default-theme). Ainsi `venc -s` sait comment régénérer votre site si nécessaire, et vous n’avez plus besoin d’indiquer le nom du thème installé sur votre système lorsque vous utilisez la commande `venc -xb` ou `venc -xftp`. # Amélioration des fonctionnalités FTP ![Parallel Transfert](https://download.tuxfamily.org/dsalem/img/VenC_Illustrations_small/2024_-_Denis_Salem_-_CC_By_SA_-_VenC-3.2_small.jpg « Parallel Transfert ») De nombreuses améliorations ont été apportées, en voici quelques-unes ! ## Transfert parallèle Vous pouvez maintenant [définir un nombre arbitraire de connexions FTP simultanées](https://venc.software/Fichier-de-configuration-principal/#ftp-sessions) pour le transfert de votre site en ligne. Pour un petit site, ça ne fait pas de grosse différence, mais quand comme moi votre site comporte plusieurs centaines de pages, ça fait gagner un temps fou ! ## Verbosité accrue - Affichage du prompt FTP - Affichage des commandes FTP associées à leur numéro de session ## Transfert intelligent Pour économiser de la bande passante, VenC compare les fichiers locaux avec ceux en ligne. Ce faisant, il ne réalise que les opérations d’I/O strictement nécessaires. ## Configuration FTP plus fine Vous pouvez maintenant paramétrer les options suivantes : - [ftp_encoding](https://venc.software/Fichier-de-configuration-principal/#ftp-encoding) : VenC affichant à présent le prompt FTP du serveur, il est maintenant possible d’avoir des informations sur celui-ci, et notamment l’encodage. Avec l’option `ftp_encoding`, il est donc possible de configurer l’encodage de la session pour être en phase avec le serveur distant et éviter de mauvaises surprises. - [ftp_sessions](https://venc.software/Fichier-de-configuration-principal/#ftp-sessions) : comme on l’a vu plus haut, c’est le nombre de connexions parallèles possibles. - [ftp_port](https://venc.software/Fichier-de-configuration-principal/#ftp-port) : avant, pour une raison obscure et injustifiable par le bon sens, le port de la connexion FTP était codé en dur… Maintenant c’est une valeur par défaut qu’il est possible de redéfinir. # Thème par défaut Le thème par défaut a été amélioré, notamment au niveau de l’ergonomie et de la qualité visuelle du thème. Ce nouveau thème intègre par ailleurs les nouvelles fonctionnalités de la version 3.2 ! # Nouvelles balises VenC ![Microcode VenC](https://download.tuxfamily.org/dsalem/img/VenC_Illustrations_small/2024_-_Denis_Salem_-_CC_By_SA_-_VenC_microcode_small.jpg « Microcode VenC ») ## Accès amélioré à des métadonnées YAML Une fonctionnalité ultérieurement manquante et utile dans certains cas d’usage est de pouvoir accéder à des valeurs qui sont imbriquées dans un ou plusieurs dictionnaires [YAML](https://yaml.org/) dans le fichier de configuration principal ou dans les métadonnées d’une publication. Pour ce faire, quatre fonctions VenC ont été ajoutés : - [CherryPickBlogMetadata](https://venc.software/Motifs-de-blog/#cherrypickblogmetadata) - [CherryPickBlogMetadataIfExists](https://venc.software/Motifs-de-blog/#cherrypickblogmetadataifexists) - [CherryPickEntryMetadata](https://venc.software/Motifs-de-publication/#cherrypickentrymetadata) - [CherryPickEntryMetadataIfExists](https://venc.software/Motifs-de-publication/#cherrypickentrymetadataifexists) Pour les champs non obligatoires ou non prédéfinis par VenC, ça permet donc en conséquence une plus grande liberté dans l’organisation du contenu [YAML](https://yaml.org/). ## Accéder à la date de la dernière publication Utile pour la génération de flux Atom ou RSS, récupérer la date de la dernière publication d’un fil de publication permet d’indiquer la vraie date de mise à jour du flux : [GetLastEntryTimestamp](https://venc.software/Motifs-contextuels/#getlastentrytimestamp) ## Taxonomie Avancée ![Taxonomie Avancée](https://download.tuxfamily.org/dsalem/img/VenC_Illustrations_small/2024_-_Denis_Salem_-_CC_By_SA_-_VenC_advanced_taxonomy_small.jpg « Taxonomie Avancée ») C’est la grosse fonctionnalité de cette mise à jour ! Avant la version 3.2 vous ne pouviez organiser vos publications “que” par catégories hiérarchisées. C’était déjà pas mal dans la mesure où ça permettait de créer des menus arborescents pour organiser votre contenu, mais parfois ça n’est pas suffisant. Par exemple, tout à fait au hasard, vous êtes un⋅e artiste et vous gérez votre portfolio avec VenC. Vous pourriez alors avoir un menu de la forme suivante pour organiser vos œuvres : ``` - Peintures - Huile - Acrylique - Aquarelle - Dessins - Encre - Crayon - Mediums Mixtes ``` Et comme vous êtes un⋅e bon⋅ne p'tit⋅e libriste auto-radicalisé⋅e sur _Framasoft_ et _LinuxFr_ vos œuvres sont en partie sous licence CC-By-SA. En partie seulement car oui, vous faites aussi des _fanarts_, des travaux dérivés d’œuvres sous licences propriétaires. Vous voulez donc séparer ce qui est véritablement libre de ce qui ne l’est pas. En générant par exemple ce type de menu : ``` # Mediums - Peintures - Huile - Acrylique - Aquarelle - Dessins - Encre - Crayon - Mixtes # Licences - CC - By-NC-ND - By-SA - Copyright - Licence Art Libre ``` Ça tombe bien, c’est précisément ce que permet maintenant de faire VenC 3.2. L’idée est la suivante : puisque l’arbre de toutes les catégories construit à partir de toutes les publications est un arbre hiérarchisé, il suffit de sélectionner une ou plusieurs branches de cet arbre pour créer nos menus et présenter notre contenu de la façon qu’il nous plaira. Dans notre exemple précédent l’arbre hierarchisé de toutes les catégories aurait donc la forme suivante : ``` - Mediums: - Peintures: - Huile - Acrylique - Aquarelle - Dessins: - Encre - Crayon - Mixtes - Licences: - CC: - By-NC-ND - By-SA - Copyright - Licence Art Libre ``` Nous sélectionnons donc les branches `Mediums` et `Licences`. Avec les nouvelles fonctions VenC qui vont bien : - [GetBlogCategoriesTreeFromBranches](https://venc.software/Motifs-de-blog/#getblogcategoriestreefrombranches) - [GetFlattenedBlogCategoriesFromBranches](https://venc.software/Motifs-de-blog/#getflattenedblogcategoriesfrombranches) - [GetEntryCategoriesTreeFromBranches](https://venc.software/Motifs-de-publication/#getentrycategoriestreefrombranches) - [GetFlattenedEntryCategoriesFromBranches](https://venc.software/Motifs-de-publication/#getflattenedentrycategoriesfrombranches) Sur le thème par défaut `concrete`, vous pouvez ainsi avoir un nombre arbitraire de menu de catégories en configurant comme indiqué dans la documentation votre fichier de configuration principal. À noter que même si ça n’est pas encore idéal, ce système ouvre la voie pour créer des blogs multilingues. Le brainstorming sur le sujet se passe [ici](https://github.com/DenisSalem/VenC/issues/23). Pour l’heure, il est donc possible de tirer avantage de la taxonomie avancée pour créer des branches pour chaque langue que vous souhaitez utiliser. Avec un peu de JS vous pouvez aller plus loin pour rendre ça plus dynamique à votre convenance. # Le mot de la fin Voilà pour cette nouvelle version ! La version 3.3 est déjà en cours de développement et vous pouvez suivre l’aventure [ici](https://framagit.org/denissalem/VenC/-/issues/?label_name%5B%5D=Version%203.3). Un grand merci à [Sidoine](), Rollniak et Jérémy pour leur aide, leur confiance et leurs feedbacks ! Les sources `GIMP` des illustrations sont accessibles ici sous licences [CC-By-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.fr) - [Enhanced FTP Transfert](https://download.tuxfamily.org/dsalem/xcf/2024_-_Denis_Salem_-_CC_By_SA_-_VenC-3.2.xcf) - [Advanced Taxonomy](https://download.tuxfamily.org/dsalem/xcf/2024_-_Denis_Salem_-_CC_By_SA_-_VenC_advanced_taxonomy.xcf) - [Microcode](https://download.tuxfamily.org/dsalem/xcf/2024_-_Denis_Salem_-_CC_By_SA_-_VenC_microcode.xcf) Toutes les contributions sont évidemment les bienvenues : - Corriger, relire ou améliorer la documentation. - Signaler des bugs ou faire des suggestions. - Écrire du code. - Me faire aumône pour me payer un p'tit shot de Baileys Irish Cream !