À l'occasion de la préparation d'un dossier, je me suis retrouvé (encore) dans l'obligation de re-éditer mon CV et mon portfolio. Une première depuis que j'ai abandonné Notion. Je cherchais, en autre, une alternative pour remplacer les fonctionnalités de gestion de bases de données visuelles que Notion proposait.
Après avoir testé deux solutions, NocoDB et Directus, j'ai finalement adopté la seconde. Directus me permet de créer 1, de créer des schémas de bases de données à l'aide d'une interface graphique très complète, tous les types d'input et des relations. J'ai l'impression d'avoir une flexibilité comparable à du code natif (en PHP avec Laravel, par exemple). 2 d'alimenter et d'afficher les données de plusieurs manières, avec des fonctionnalités avancées de filtrage, de tri, de traduction, ainsi qu'une gestion multi-utilisateurs avec des droits d'accès avancés, des webhooks, etc. Super complet, open source, il est gratuit si on l'héberge soi-même.
L'une des principales fonctionnalités de Directus est d'agir comme une base de données distante pour un autre ordinateur (un serveur distant, par exemple), ce qu'on appelle un site internet "headless". Directus nous fournit une bibliothèque JavaScript (@directus/sdk) qui facilite la communication avec le serveur et permet de récupérer, au format JSON, les données stockées.
On peut envisager de l'utiliser pour plein de chose. Il permet de gérer divers types de données, comme des ressources et du contenu, pouvant être mis à jour par plusieurs personnes. Il est également utile pour garder à jour une liste de projets (portfolio), choisir lesquels seront rendus publics sur un site web, tout en utilisant la même base de données pour générer un portfolio papier sous format PDF, sans avoir à faire de copier-coller, par exemple... []~( ̄▽ ̄)~*.
La seconde étape est de mettre en place la stack d'impression webToPrint.
WebToPrint ???
Je crois que c'est un sujet qui mérite un article aparentière, avec une longue histoire, notemment en france, j'ai trouvé énormément d'infos sur le site du ProPostPrint. Je garde ça pour plus tard. Pour moi l'interêt premier, c'est de pouvoir mettre en page mon portfolio depuis ma base de donnée, avec des outils gratuits et open source.
J'ai commencé ce projet avec PagedJS, qui semble être la référence. PagedJs est principalement conçu pour remplacer InDesign dans l'industrie de l'édition papier, en utilisant le navigateur et les technologies web pour mettre en page un document destiné à être imprimé.
Ce n'était pas si évident avec ViteJS mais j'ai réussis.
Ce n'est pas aussi naturel que du WYSIWYG mais c'est puissant !
Je vais en faire une version template sur github à partager.