Bon, tu veux te faire ton site web ?
Quelques alternatives pour un ami qui a fait du HTML et du CSS, qui peut improviser un peu de JS et connaĂźt le principe des templates.
- Mis Ă jour le 17/01/2025.
- Mis Ă jour le 18/12/2024.
Jâai fait quelques petites dizaines de sites web au fil des annĂ©es. Jâen ai fait avec des Content Management Systems (CMS) comme Wordpress ou SPIP, jâen ai fait avec des frameworks comme Django ou Flask, jâai codĂ© des petits trucs en Eleventy (11ty) et des gros trucs avec Kirby. Jâai mĂȘme testĂ© Svelte ou subi React. Il y a plein dâoptions pour faire un site, et jâen connais quelques unes.
Toi, ça fait un bail que tu nâas pas fait de site, mais tu as dĂ©jĂ bidouillĂ© du HTML et du CSS. Peut-ĂȘtre un peu de PHP ou de JavaScript. Tu as peut-ĂȘtre eu un blog il y a dix ou quinze ans, que tu mettais Ă jour en FTP.
Dans ce post, je vais te parler des principes et des concepts, en laissant le comment-faire de cÎté. Je ne te donnerai pas de recette parce que je sais que tu trouveras la doc.
Le plus important : le contenu
Le cĆur dâun site web, et ne laisse personne te dire le contraire, câest le contenu.
Quâest-ce que tu veux mettre sur le site ? Comment est-ce que ça sera structurĂ© ?
Tout est possible. Tu veux deux blogs dans deux dossiers différents ? Possible. Tu veux un wiki pour afficher des notes qui se répondent entre elles ? Faisable. Tu veux une page toute simple avec un poëme dédié à ta footballeuse préférée ? Facile.
Allez. Tu sais ce que tu veux ? Bah Ă©cris-le.
Non, non, je dĂ©conne pas. Sur ton bureau, fais un clic-droit et sĂ©lectionneâŠ
âNouveau dossierâ
Crée un répertoire. Dedans tu fais un fichier index.txt
dans lequel tu Ă©cris le contenu de la page dâaccueil de ton site. Puis pour chaque page tu crĂ©es un rĂ©pertoire dans lequel tu mets un fichier index.txt
et son contenu. Pour le nom de chaque rĂ©pertoire, le mieux est dâutiliser un identifiant sans espaces et sans majuscules, de prĂ©fĂ©rence sans accents, ça facilitera la tĂąche pour plus tard. Il y a des images Ă afficher dans ta page ? Glisse-les dans le rĂ©pertoire de ladite page. Tu veux ajouter de la sĂ©mantique Ă ton texte, en utilisant des titres et sous-titres ? Fais-le en HTML si tu es Ă lâaise, ou en Markdown pour ĂȘtre plus lisible.
LĂ tu auras une arborescence de contenus de ton site. 95 % du boulot est fait. Maintenant il sâagit de lâhabiller un peu et de le mettre en ligne, mais câest des vulgaires considĂ©rations techniques.
Ah, en fait tu me posais la question spécifiquement pour la technique ? Ah bah OK alors on y va !
La technique
Quand tu connais mieux ton contenu, il y a quelques contraintes qui vont orienter ton choix technique. Entre autres :
- le nombre de pages ;
- la complexité des contenus ;
- la fréquence et les conditions de mise à jour ;
- le nombre et la familiarité des contributeurs ou contributrices au site.
Si tu veux faire une seule page, il y a de grandes chances que tu nâauras pas besoin dâun CMS. Dans ce cas, tu fais un joli fichier HTML et un fichier CSS, et roule ma poule. On a Ă©tabli au dĂ©but que tu savais faire ça. Zou. On se retrouve pour la mise en ligne.
En revanche, pour encemoment.site jâai utilisĂ© un CMS minimaliste, 11ty. En effet, le site ne comporte quâune page mais il agrĂšge un tas de donnĂ©es. J’avais donné plus de détails sur mon article dédié, que je t’invite à lire.
En fait, jusquâĂ trois pages tu peux te passer dâun CMS. Au delĂ câest plus dur mais tout Ă fait envisageable.
Comme au bon vieux temps, les Server-side Includes
Une solution transitoire entre tout faire Ă la main et utiliser un CMS, câest les Inclusions CĂŽtĂ© Serveur (SSI) dâApache httpd.apache.org/docs/2.4/fr/howto/ssi.html, ou lâĂ©quivalent chez nginx : SSI ou chez Caddy : templates. Je ne vais pas aller trop dans le dĂ©tail, mais ça permet dâavoir les bĂ©nĂ©fices dâun moteur de gabarits trĂšs basique pour inclure des variables (date, etc) ou des fichiers (en-tĂȘte, pied de pageâŠ) dans du HTML basique. Câest de la trĂšs ancienne technologie qui peut aussi gĂ©rer les listes de sous-pages ou de fichiers dans un rĂ©pertoire.
En plus de la gestion des gabarits, un CMS va tâapporter lâautomatisation de certaines tĂąches barbantes (crĂ©er les petites versions de grosses images et le code dâinclusion dâune galerie, par exemple), lâaffichage et le filtrage de tes pages via des listes que tu peux contrĂŽler, et un plus grand confort de mise Ă jour. Ă mon sens, le choix technique doit reposer sur ce dernier aspect.
La vie dâun outil informatique dĂ©marre souvent du besoin dâun dĂ©veloppeur. Il va dĂ©velopper la solution Ă son problĂšme, et partager le code pour que dâautres puissent lâutiliser. Si lors de lâĂ©volution de cet outil personne ne rĂ©flĂ©chit Ă son confort dâutilisation, on se retrouve avec un truc sans doute puissant mais pas pratique. Rugueux, tu vois. Pas adaptĂ© Ă un public non-technicien. Tu vas entretenir ton site, tu sais quel genre de rĂ©barbativitĂ© tu peux supporter, ou quel confort minimal tu souhaites.
Je recommande les outils suivants parce quâils remplissent mieux leur mission que leurs concurrents directs, mais pour le plus grand confort dâutilisation je te conseille les choix qui ont une interface de publication (Ă voir plus loin).
Transformation directe : Eleventy (11ty)
Tu as ton rĂ©pertoire de contenus au format Markdown ou HTML ? Si je te disais quâil y a un moyen de tout transformer en HTML, ça te plairait ?
Le moyen le plus direct Ă mon avis, câest Eleventy. Eleventy est en JavaScript et fonctionne avec un environnement NodeJS.
Si tu copies ton rĂ©pertoire de contenu dans le projet Eleventy et que tu lances la commande, il va te gĂ©nĂ©rer un site web. Ăa sera basique, pas dâen-tĂȘte, de menu, de pied de page, mais tu as pu dĂ©couvrir la logique.
Il est possible de trouver des thĂšmes pour tâĂ©pargner le travail de concevoir et intĂ©grer le design, par exemple sur 11tythemes.com. Comme beaucoup de ses Ă©quivalents, 11ty permet de stocker des donnĂ©es dans le frontmatter de chaque fichier texte : le titre de la page, la date, des Ă©tiquettes ou des catĂ©gories, mais aussi des donnĂ©es personnalisĂ©es Ă utiliser dans la page ou le gabarit (doc d’Eleventy). Si tu as le courage tu peux mĂȘme utiliser du code JavaScript dans le frontmatter, qui sera exĂ©cutĂ© lors de la compilation.
Un gros point noir qui sâest rĂ©vĂ©lĂ© Ă moi aprĂšs la rĂ©daction de cet article : Eleventy ne gĂšre pas (bien) la hiĂ©rarchie des dossiers et fichiers. Il faut coder plein dâutilitaires si on veut faire un site qui se base uniquement sur la structure du systĂšme de fichiers, et pas sur les informations transmises via les mĂ©tadonnĂ©es. Si le contenu de ton site provient surtout de donnĂ©es externes et que la hiĂ©rarchie des dossiers nâest pas dĂ©terminante, choisis 11ty. Sinon, choisis Hugo (section suivante).
Une fois le site compilĂ©, tu as un rĂ©pertoire qui sâappelle _site
qui contient tout ton HTML prĂȘt Ă ĂȘtre mis en ligne. GĂ©nial !
Le bon
- Tu pars de rien (donc tu as une trĂšs grande libertĂ© de design et dâorganisation, et mĂȘme de source de tes donnĂ©es) ;
- câest gratuit et open source ;
- 11ty est trĂšs rapide et nâinclut que le strict nĂ©cessaire ;
- le format de stockage des fichiers (Markdown + frontmatter) est extrĂȘmement rĂ©pandu ;
- la sortie en fichiers HTML statiques, la solution la plus universelle pour lâhĂ©bergement.
Le moins bon
- Il est trĂšs compliquĂ© dâexploiter la structure des fichiers et dossiers pour la hiĂ©rarchie de tes pages web.
- Tu pars de rien (donc tu dois tout faire) ;
- le site nĂ©cessite une Ă©tape de compilation avant dâĂȘtre mis en ligne ;
- le contenu ne peut pas ĂȘtre Ă©ditĂ© en ligne (sauf en cas de dĂ©pot de code) ;
- lâenvironnement NodeJS peut ĂȘtre traitre pour la maintenance et lâentretien. Heureusement, 11ty nâa pas trop de dĂ©pendances ;
- la crĂ©ation de gabarits nĂ©cessite lâapprentissage dâun langage comme Nunjucks ou Liquid ;
- je trouve la doc un peu fouillis, câest le revers de la mĂ©daille de tout ce qui est possible avec 11ty.
Transformation directe (bis) : Hugo
La logique de Hugo est la mĂȘme que pour 11ty. Un ensemble de fichiers, un processus de compilation, et tu as ton rĂ©pertoire plein de fichiers HTML Ă mettre en ligne. Simple. Basique.
La raison pour laquelle jâajoute Hugo Ă cette liste, câest que contrairement Ă 11ty, il est possible dâexploiter la structure de fichiers et dossiers facilement pour dicter la structure des pages web du rĂ©sultat. Si ton site nâa pas beaucoup de donnĂ©es externes mais dĂ©pend dâune hiĂ©rarchie de dossiers, choisis Hugo.
Le bon
Aux avantages de 11ty (tu pars de rien, gratuit et open source, trÚs rapide, format répandu, sortie HTML statiques), je rajoute :
- Se branche trÚs bien à un projet dont la structure est définie par la hiérarchie des fichiers et dossiers ;
- fonctionne avec un fichier exĂ©cutable, lâenvironnement (NodeJS ? PHP ?) importe peu ;
- la doc est bien conçue.
Le moins bon
La plupart des désavantages de 11ty (tu pars de rien, besoin de compilation, contenu non éditable en ligne), plus :
- Le langage de gabarits est trĂšs liĂ© au langage Go, il est assez limitĂ© dans ses capacitĂ©s et la notion de contextes nâest pas hyper facile ;
- lâingestion de donnĂ©es extĂ©rieures est un peu plus complexe quâavec 11ty.
Jardin web : Quartz
Mettons que tu as beaucoup de contenu, tu as tout un énorme répertoire plein de fichiers Markdown qui se lient entre eux. De la doc, des notes, des références, etc. Et tu veux mettre tout ça sur le net.
Ă ce moment-lĂ , Eleventy nâest pas forcĂ©ment adaptĂ©. Je te propose Quartz. Câest lĂ aussi dans un environnement NodeJS.
Quartz offre beaucoup moins de possibilitĂ©s de personnalisation que 11ty ou Hugo, mais sa force nâest pas lĂ .
Ce qui est proposĂ© par Quartz, câest une solution rapide pour publier du contenu Ă la maniĂšre dâun wiki, dâune documentation, dâun carnet de notes bien ordonnĂ© ou dâun jardin web plus entropique.
Les principales interventions de code dont il y a besoin pour mettre en place un site sous Quartz sont de lâordre de la configuration et du style. Les gabarits marchent sans intervention mais surtout sans autant de possibilitĂ©s quâ11ty ou Hugo. Quartz prend beaucoup de dĂ©cisions pour toi, te laissant te concentrer sur ce qui est important : le contenu.
Ătant donnĂ© que Quartz contraint un peu ton usage, les donnĂ©es stockĂ©es dans le frontmatter des pages sont limitĂ©es. Il y a une petite dizaine de propriĂ©tĂ©s qui seront prises en compte (doc d’Obsidian, doc de Quartz), le reste sera ignorĂ©.
Pour ton site ? Tu renommes tous les fichiers texte de ton rĂ©pertoire de contenus pour leur donner lâextension .md
, puis tu suis le procĂ©dĂ© dâinstallation de la doc de Quartz, et tu peux utiliser ton rĂ©pertoire tel quel sans mĂȘme avoir Ă le recopier. La compilation de Quartz a tendance Ă ĂȘtre plus lente que celle de 11ty, mais câest nĂ©gligeable, Ă part sur un ordinateur trĂšs peu puissant.
Le bon
- Si ton but est juste dâafficher ton rĂ©pertoire de notes dâObsidian, câest parfait (câest mĂȘme fait pour) ;
- câest gratuit et open source ;
- le dĂ©part est facile, et le site gĂ©nĂ©rĂ© contient tout un tas de trucs utiles (mĂȘme une recherche) ;
- le format de stockage des fichiers est extrĂȘmement rĂ©pandu ;
- la sortie en fichiers HTML statiques, la solution la plus universelle pour lâhĂ©bergement.
Le moins bon
- Lâenvironnement NodeJS peut ĂȘtre traitre pour la maintenance et lâentretien. Quartz a beaucoup de dĂ©pendances et une familiaritĂ© avec le JavaScript est nĂ©cessaire ;
- le site nĂ©cessite une Ă©tape de compilation avant dâĂȘtre mis en ligne ;
- le contenu ne peut pas ĂȘtre Ă©ditĂ© en ligne (sauf en cas de dĂ©pot de code) ;
- cĂŽtĂ© performance du site gĂ©nĂ©rĂ©, câest pas brillant (700 Ko de JavaScript en premier chargement de ton site).
Le CMS par excellence : Kirby
Bon alors jâen parle ici depuis longtemps, je lâutilise depuis encore plus longtemps. Jâai testĂ© ses concurrents et je suis revenu Ă Kirby. Je pilote deux gros sites (en quantitĂ© de contenus et en exigence de fonctionnalitĂ©s) pour Paris Web. Si on a parlĂ© de web ensemble, je lâai mentionnĂ©, et je tâai parlĂ© du plaisir que jâai Ă utiliser cet outil.
Kirby est un vĂ©ritable CMS : Ă la diffĂ©rence de 11ty, Hugo et Quartz qui sont des gĂ©nĂ©rateurs de sites statiques, câest une solution qui, une fois sur le serveur, te donne une interface de gestion du contenu. Outre le fait que ça te permet de modifier les contenus de ton site sans outillage exterieur, ça libĂšre beaucoup de possibilitĂ©s : recherche dans le site, traitement de contenus externes sans compilationâŠ
Contrairement Ă 11ty, Hugo ou Quartz, il nây a pas de frontmatter pour stocker les diffĂ©rentes donnĂ©es de ta page. Il nây a pas de limites aux types de donnĂ©es : ça peut ĂȘtre une liste de pages du site, des dates, des liens, des fichiers liĂ©s, et mĂȘme pourquoi pas du code CSS Ă insĂ©rer dans cette page particuliĂšre. Ăa te permet aussi dâavoir plusieurs contenus textuels au lieu dâun seul (par exemple dans une page oĂč tu veux stocker la prĂ©sentation dâune confĂ©rence, et la transcription de celle-ci, Ă afficher Ă des endroits diffĂ©rents de ton gabarit). Cette profusion de possibilitĂ©s te permet une grande flexibilitĂ© dans lâaffichage de ton site.
Il va falloir adapter un petit peu les fichiers texte de ton site. Pour chacun il faudra formater le titre et le corps en respectant la syntaxe. De maniĂšre basique, câest juste quâil faut rajouter Title:
avant le titre, et Content:
avant le corps de ta page, et séparer les deux par des tirets ------
. Une fois ce changement fait, le site peut ĂȘtre servi. Pour voir le site avant de le mettre en ligne, il faut un environnement PHP sur ton ordinateur, câest un dĂ©savantage que les gĂ©nĂ©rateurs de sites statiques nâont pas.
Le bon
- Du bon vieux PHP qui peut tourner sur un bon vieux serveur web ;
- conçu par un designer avec une rĂ©elle vision du produit et de son utilisation par des personnes pour qui le dĂ©veloppement nâest pas lâactivitĂ© principale ;
- tu peux stocker nâimporte quel type de donnĂ©e pour chaque type de page ;
- Ă©normĂ©ment dâaffordances pour le dĂ©veloppement de tous les aspects du site ;
- tu pars de rien (donc tu as toutes les libertés) mais il y a plein de squelettes de sites disponibles (gabarits, styles, organisation, etc.) ;
- édition en ligne, avec un backend trÚs flexible, facile à modifier depuis ton téléphone ;
- les gabarits sont en PHP basique et nâont pas besoin de familiaritĂ© avec un autre langage spĂ©cial gabarits.
Le moins bon
- Câest payant, ça veut dire quâĂ chaque fois que tu vas le mentionner un libriste bien intentionnĂ© va apparaĂźtre pour te donner son avis ;
- tu pars de rien (donc tu dois tout faire) ;
- le PHP a besoin dâun (tout petit) peu plus de puissance que le HTML statique, mais la possibilitĂ© dâutiliser du cache statique permet de limiter ce souci ;
- selon lâordinateur de travail, la gestion de lâenvironnement PHP peut ĂȘtre difficile Ă mettre en place.
- Kirby gĂšre (pour lâinstant) trĂšs mal le versionnement des changements opĂ©rĂ©s sur les articles. Câest pas forcĂ©ment gĂȘnant selon le type de contenus, mais câest une diffĂ©rence marquante avec WordPress, Ă lâusage.
Ok, ok, Grav
Bon, tu nâest pas convaincu par le coĂ»t de Kirby ? ComprĂ©hensible. Câest adaptĂ© pour un site perso, mais câest pas forcĂ©ment la solution la plus pertinente.
Si tu souhaites cumuler lâutile (lâinterface publication en ligne, comme Kirby) et lâagrĂ©able (gratuit et open source), il y a Grav. Je lâai utilisĂ© quelques annĂ©es pour ce blog, câest plutĂŽt pratique Ă utiliser, mais jâai prĂ©fĂ©rĂ© Kirby pour la flexibilitĂ© de sa structure de donnĂ©es.
Grav utilise des fichiers Markdown avec le mĂȘme frontmatter quâ11ty, Hugo ou Quartz, ce qui limite le type de donnĂ©es quâon peut y stocker (pas de longs contenus de markdown, par exemple). En revanche tu peux prendre ta hiĂ©rarchie de la premiĂšre Ă©tape, ça devrait fonctionner sans modification.
Le bon
- Plein de thèmes et de plugins (mais certains sont playants) ;
- câest gratuit et open source ;
- le format de stockage des fichiers est extrĂȘmement rĂ©pandu ;
- du bon vieux PHP qui peut tourner sur un bon vieux serveur web ;
- édition en ligne, avec un backend trÚs flexible, facile à modifier depuis ton téléphone.
Le moins bon
- Le format avec frontmatter peut ĂȘtre limitĂ© selon les usages ;
- le PHP a besoin dâun (tout petit) peu plus de puissance que le HTML statique, mais la possibilitĂ© dâutiliser du cache permet de limiter ce souci ;
- selon lâordinateur de travail, la gestion de lâenvironnement PHP peut ĂȘtre difficile Ă mettre en place ;
- les gabarits sont en Twig, un langage de templating Ă apprendre si tu nâen as jamais fait.
Attends, tu parles pas de Wordpress ?
Alors câest vrai, l’autre fois jâai juste dit que je lâaimais pas.
En gros :
- Il y a besoin dâune base de donnĂ©es (donc pas idĂ©al pour lâĂ©nergie du serveur) ;
- le modÚle de donnée est peu flexible : tu ne peux pas adapter chaque type de page à son contenu ;
- oui il y a Ă©normĂ©ment de choix de thĂšmes et de pluginsâmais est-ce que tu as envie dâavoir Ă Ă©viter ceux qui injectent des payloads JavaScript de 1 Mo, ceux qui sont incompatibles entre eux, ceux qui vont installer une backdoor ou ceux qui ont Ă©tĂ© conçus il y a dix ans et jamais mis Ă jour depuis ?
- tâas lu les bails sur Matt ?
En revanche, ok, câest vrai, si tu veux un site en 5 minutes il y a un trĂšs grand nombre dâhĂ©bergeurs qui te proposent un bouton pour tâinstaller Wordpress et tu nâauras plus quâĂ choisir un thĂšme. Mais il faudra recopier lâarborescence de fichiers texte dans ton interface de Wordpress, un fichier par un. Mis Ă part ça, tu auras ton site rapidement sans avoir Ă te poser de question.
Mais franchement, est-ce que se poser des questions nâest pas un des intĂ©rĂȘts de se faire un site web ? (ok ok, pas toujours)
La mise en ligne
Quel hĂ©bergement ? Prends un mutualisĂ© chez Infomaniak, Ouvaton ou Alwaysdata, ça sera le plus simple. Tu peux aussi regarder sâil y a pas un Chaton dans ton coin. Autrement tu peux prendre un Raspberry Pi, installer Debian, nginx (et PHP si besoin), et le brancher Ă ta box internet. Pas certain que ça soit plus Ă©colo quâun mutu, mais pourquoi pas. Ce qui est garanti câest que ça sera plus complexe, et quâil faudra que tu apprennes la maintenance de serveur, la sĂ©curitĂ©, etc.
Ă une Ă©poque, tous les fournisseurs dâaccĂšs Ă Internet (FAI) te filaient un espace web perso. Ă prĂ©sent il semble que Free en propose toujours, mais Orange a arrĂȘtĂ© dâen proposer en septembre 2023 et SFR/Numéricable va supprimer toutes les siennes en mars 2025. (Il y a un nom pour le genre de personnes qui prennent la dĂ©cision de supprimer du web des sites en si grand nombre, mais je resterai poli ; si tu utilises SFR fracasse ta box change de FAI et passe chez Free.)
Autrement en gratuit, Alwaysdata te propose 100 Mo de stockage web (parfait pour un site textuel avec peu de photos), et (https://yay.boo/) promet dâhĂ©berger un site statique juste en faisant glisser le zip (moins de 10 Mo) sur leur page dâaccueil (jâadore la promesse mais jâai jamais testĂ©).
Le truc dâanciens, le (secure) File Transfer Protocol ((s)FTP)
En utilisant les identifiants SSH de ton hĂ©bergeur ou de ton serveur, tu peux te connecter en FTP, comme dans les temps ancestraux. Dâautres systĂšmes ont pris la place de ce mode de dĂ©ploiement, mais câest quand mĂȘme sans pareil quand on veut avoir une interface graphique.
Si tu utilises cette solution avec 11ty, Hugo ou Quartz, il faudra dĂ©ployer manuellement ton site Ă chaque changement du contenu, des gabarits ou du style, bref aprĂšs chaque compilation du site. Avec Kirby, Ă©tant donnĂ© que tu vas gĂ©rer ton contenu en ligne via lâinterface du CMS, tu nâauras Ă dĂ©ployer manuellement que les changements de gabarits ou de style, ce qui arrive bien moins souvent que les changements de contenu (Ă part si tu es comme moi et que tu modifies lâinterface plus souvent que tu ne postes sur ton blog).
Lâautomatisation de lâIntĂ©gration Continue/DĂ©ploiement Continu (CI/CD)
Un truc qui est arrivĂ© par lâindustrie et qui sâest rĂ©pandu par les forges logicielles grand public (Github, GitLabâŠ), câest la CI. En gros, quand du code est contribuĂ© dans la branche principale du dĂ©pot de code, le systĂšme va dĂ©ployer automatiquement ce code sur un serveur. En pratique, pour ton site ça peut ĂȘtre trĂšs pratique si tu choisis un systĂšme qui a besoin dâune compilation (11ty, Hugo ou Quartz).
Ăa marche en ajoutant un fichier de config spĂ©cifique pour le systĂšme dâintĂ©gration continue. Ce fichier va dĂ©terminer les actions Ă suivre pour diffĂ©rents types dâĂ©vĂ©nements (par exemple du code insĂ©rĂ© dans la branche principale). GitLab et Github proposent des pages perso, ce qui permet dâavoir une action qui prend le code du dĂ©pĂŽt, dĂ©clenche la compilation du site, et la dĂ©pose sur ta page perso GitLab ou Github.
GitLab comme Github ne proposant pas dâenvironnement PHP, le systĂšme nâest pas envisageable avec Kirby ou Grav.
Les deux ?
Bien entendu, il est possible que lâaction du CI soit une synchronisation du site via sFTP (ou Rsync). Ă ce moment-lĂ on a un systĂšme automatisĂ© de compilation du site et dĂ©ploiement sur son propre hĂ©bergement web. Parfait pour 11ty, Hugo ou Quartz. Action Github FTP Deploy, code pour GitLab.
Il y a mĂȘme la possiblitĂ© de brancher des interfaces aux dĂ©pĂŽts de code, pour donner aux contributeurs une meilleure expĂ©rience que la manipulation de fichiers Markdown. Les interfaces les plus pertinentes que lâon mâait conseillĂ©es sont DecapCMS et mattrbld.
DecapCMS est un outil Ă dĂ©ployer sur un serveur applicatif, par exemple Netlify, ou un hĂ©bergeur cloud comme Alwaysdata ou Gandi (Ă lâheure oĂč jâĂ©cris ces lignes je suis employĂ© chez Gandi). Ăa nĂ©cessite des connaissances poussĂ©es, mais câest possible.
mattrbld est plutĂŽt Ă utiliser directement. Je ne lâai pas essayĂ© donc je nâen sais pas plus.
Entre tradition et modernité, les interfaces de publication
Kirby et Grav ont des interfaces dâĂ©dition de contenu (comme WordPress), que tu peux accĂ©der depuis nâimporte quel ordinateur ou tĂ©lĂ©phone.
Ă partir du moment oĂč le systĂšme est dĂ©ployĂ© sur ton hĂ©bergement (via sFTP par exemple), tu peux faire tout plein dâopĂ©rations sur le contenu : crĂ©er, supprimer, dĂ©placer, publier, dĂ©publier⊠Bref, câest super pratique si tu veux pousser la complexitĂ© de la gĂ©nĂ©ration du HTML depuis ton ordi (comme avec 11ty ou Hugo qui compilent le HTML) vers le serveur (oĂč câest le PHP qui fait ton HTML Ă la demande).
Un dernier en toute simplicité : Scribouilli
Jâen ai pas parlĂ© dans la premiĂšre version de mon article, mais câest un outil qui mĂ©rite mention pour sa simplicitĂ©. En effet, ce que tu veux, câest faire un site web et le mettre en ligne. Scribouilli te permet juste ça en faisant reposer les interfaces dâĂ©dition sur les forges de code (GitLab, GithubâŠ), et la gĂ©nĂ©ration du HTML sur les capacitĂ©s de DĂ©ploiement Continu que ces forges proposent. Pas besoin de connaĂźtre Git (lâoutil derriĂšre les forges locielles mentionnĂ©es) ni Jekyll (lâoutil de compilation du HTML, un peu Ă©quivalent Ă Eleventy)
Je place Scribouilli en fin dâarticle parce que ça propose Ă la fois la partie technique et lâhĂ©bergement, ça nâaurait pas eu de sens de dire âcâest pratique mais tu ne comprendras pourquoi quâĂ la finâ.
âŠje nâai fait que gratter la surface
Cet article nâest pas exhaustif, mais il indique des pistes que jâestime pertinentes pour que tu puisses dĂ©cider par toi-mĂȘme la solution la plus adaptĂ©e.
Je nâaborde pas la partie graphique, mis Ă part la disponibilitĂ© des thĂšmes. On verra ça dans un prochain article, il faut que je trouve comment lâarticuler đ
On en discute ?âŠ
Billets liés
- 22/11/2024 â đ 30 jours de Kirby pour 24 jours de web
- 18/01/2024 â đ°ïž Des dĂ©tails sur encemoment.site
- 05/01/2023 â âïž Exercices (de feuille) de styles