Retour sur un retour

13 minutes

Mon blog personnel, https://kazhnuz.space, a eu plusieurs formes durant son existence, et a reçu depuis environs une semaine sa toute dernière forme. Le but de cet article est de revoir un peu les différentes étapes qui ont conduit à ce choix, et comment j’ai conçu le design wordpress.

J’ai utilisé comme plateforme au fur de la vie de ce blog WordPress, PluXML et Hexo, avant de revenir récemment sous WordPress. À l’époque, j’avais pour chacun de ces choix une raison de le faire.

  • WordPress était choisi au départ pour sa simplicité, c’était l’un des choix les plus connu (et je me demande si mon premier outil utilisé pour avoir un serveur n’avait pas un moyen de le déployer autmatiquement).
  • PluXML avait ensuite été choisi parce qu’il n’utilisait pas de base de donnée, une fonctionnalité qui était à l’époque importante pour moi.
  • Hexo avait ensuite été choisi parce que j’aimais les sites statiques. Depuis, je suis un peu moins fan quand c’est pas un domaine ou j’en ai besoin.

Fin décembre, quand j’ai décidé que l’expérimentation sous Hexo ne m’avait pas convenu, j’ai du réfléchir à ce que j’utiliserais pour la refonte du site. J’avais le choix principalement entre quatre plateforme :

  • Drupal
  • WordPress
  • PluXML
  • Joomla

Pour l’élaboration de ce blog, j’ai alors choisi en plusieurs étapes :

– Définition de mes besoins et choix de la plateforme

– Adaptation en fonctionnalité WordPress et développement

Je vais donc dans ce petit article revenir sur chaque étape, afin de voir comment j’ai obtenu le site actuel.

Définition de mes besoins

La définition de mes besoin était important pour véritablement choisir quelle plateforme j’allais utilisé. En effet, chacune de ces plateforme avait ses aventages et ses inconvénients. J’ai alors réfléchis à ce que je voulais véritablement comme blog.

Les fonctionnalités essentielles :

  1. La possibilité d’écrire des messages de blogs traditionnels
  2. La possibilité de gérer des écrits littéraires, avec une petite description de l’écrit.
  3. Que les deux soient suffisamment séparées.
  4. Séparation des textes par type de texte (conte, humour, poème, etc)
  5. Moyen de facilement désigner des écrits par univers ou faisant partie d’un challenge.
  6. Moyen de regrouper une œuvre narrative multi-chapitre ensemble tout en pouvant poster au fur et à mesure les chapitres
  7. Simple à utiliser pour écrire un article, un texte littéraire ou un message de blog.

Ensuite, j’ai réfléchi les fonctionnalités en « nice to have ».

  • Un moyen de facilement mettre un message d’avertissement à des posts (trop vieux, sombre, etc) (a)
  • Une page d’accueil automatisable facilement, un petit message de présentation qui l’est tout autant. (b)
  • Possibilité de télécharger sous format PDF/ePub mes textes plus longs. (c)
  • Possibilité depuis un tag d’accéder à un post/page d’information sur le sujet (genre page d’univers, ou post de blog ou je parle de mon 100TC) (d)
  • Avoir le moins possible codé en dur dans le theme. (e)

Mon blog sous pluXML gérait bien les 2, 4, 5 et 7 ainsi que le b. Il était surtout adapté à l’écriture, les posts de blogs étant juste dans une catégorie à part. Ce qui était du coup simple à utiliser (j’avais juste à mettre mes articles de blogs dans la catégorie qui convenait (niouze à l’époque), et rouler jeunesse. Il utilise les catégories pour désigner les types de textes (contes, etc) et les tags pour désigner les univers et les challenges. Pour bien gérer les descriptions de texte, je trichais un peu, utilisant la case normalement réservée pour l’extrait de l’article de blog pour contenir la description.

Mon blog sous hexo gérait bien le 1, 2, 3 et 4 ainsi que les b et c. Pour cela, cependant, il divisait le site en deux, un pour le blog, un autre pour les tests, avec pas mal de petites complexités. Cela m’a permis aussi du coup de voir à quel point ce blog était en fait une régression par rapport au précédant en utilisabilité.

A partir de ces fonctionnalité, j’ai pu déterminer que Hexo et PluXML ne convenaient pas a mes besoins, PluXML n’étant pas assez extensible, et Hexo n’ayant pas une expérience assez confortable pour moi. J’ai finalement choisi de ce fait WordPress, qui était le plus agréable a utilisé pour l’écriture, grâce a sa nouvelle page d’écriture d’article.

Adaptation en fonctionnalité WordPress

Ayant une expérience en l’utilisation de WordPress (que j’utilise pour Quarante-Douze), j’étais un peu en terrain connu. J’ai d’abord listé les fonctionnalités wordpress qui pourraient me servir pour mes besoins.

  • Les premiers sont des types de contenus (comme les articles de blog, ou les pages) qui peuvent avoir les champs qu’on veut, et les contenus qu’on veut. J’ai décidé de ne pas les utiliser, parce qu’en fait j’ai toujours un peu peur qu’ils s’intègre pas super bien.
  • Les champs custom sont des champs qu’on peut rajouter à un article/à une page voir même un tag/une catégorie. En activant cette option, on peut rajouter à un article/une page des champs en plus, qui contiendra les infos qu’on veut.
  • Les taxonomies sont dans wordpress le nom donné aux étiquettes permettant de grouper des articles ensembles (par exemple les tags et les catégories en sont). Les taxonomies customs sont des étiquettes en plus que les tags et les catégories.
  • Les menus sont des menus customisable, ou on peut mettre un peu ce qu’on veut.
  • Les themes wordpress peuvent avoir un affichage différents pour certaines catégories/articles/pages.

Maintenant, je devais traduire les fonctionnalités dont j’avais besoin à partir de ça.

  • Les articles devaient pouvoir servir pour les histoires et les articles de blog. Je peux rajouter une description à tout article via un champ facultatif « description » (nom très original). J’ai décidé que la page des articles n’aurait pas de grande différence si c’est une histoire et un article de blog, j’ai juste créé deux type de page : une avec un titre avant le contenu de l’article, et une autre sans, afin de pouvoir écrire du texte avant le titre du texte (chose que j’aime bien faire dans certaines nouvelles). Cela résout 1, 2 et en partie 7
  • Les catégories devaient déterminer le type de texte (comme mon blog PluXML). J’ai déterminé que deux catégories devaient avoir un comportement différent : blog et chapitres (que j’expliquerait plus tard). Ces deux catégories devaient être masqué de la liste (ne contenant donc que les catégories de textes narratifs un peu « one shot »), et la catégorie blog devait être affichée en haut, et avoir un affichage différent plus « blog » tandis que les autres devaient en avoir une plus « galerie ». Cela résout 3, 4 et 7.
  • Pour les univers et les challenges, j’ai décidé d’utiliser les tags. J’ai aussi rajouté un champ « plus d’info » contenant une URL aux tags, me permettant de rediriger vers un post qui convenait, résolvant aussi du coup 5 et d.
  • J’ai rajouté une taxonomie custom nommé « roman » qui contient une description (un résumé), une couverture, et ultérieurement je rajouterais liens vers un ePub/PDF à télécharger et une liste d’article (que je rajoute petit à petit dedans). Pour gérer l’affichage, j’ai créé une page ou les romans sont listés, accessible depuis la barre du haut. Cela me permet de résoudre 6 et c.
  • J’ai rajouté une seconde taxonomie nommée « message », contenant deux info, le type de message (info, avertissement, etc) et son contenu, ainsi qu’une liste d’articles. Tout article dans la taxonomie affiche donc le message ainsi que son type, ce qui résout a. Ayant encore du temps, j’ai rajouté que le message « global » s’afficherait sur la page d’accueil. Normalement, ce choix n’est pas très optimal, dans le sens où cela ne regroupe pas des textes entre eux, mais j’ai utilisé ça pour pouvoir facilement attribuer un message à un article, même si ce n’est pas hyper propre.

A coté de ça, j’ai tenté au maximum de ne rien écrire niveau « texte » (genre pas de message d’accueil écrit directement dedans), afin de résoudre b et e. J’ai également utilisé dès que possible des menus customs (pour les réseaux sociaux, la liste des liens et la petite barre en haut avec les pages importantes).

Le développement a été commencé le 30 Décembre 2020, à partir d’une copie du thème de Quarante-Douze, que j’ai adapté pour utiliser mon projet kazhnuz.css, ma fiche de style utilisée pour le blog.

La première phase de développement a durée jusqu’au 4 Janvier 2021, avec une phase avec quelques corrections jusqu’au 25 Janvier.

À partir du 25 j’ai fait les corrections des bugs que je trouvais avec la mise sur le nouveau serveur (qui possédait quelques comportements différents par rapport à mon environnement de test, par exemple toute la page des romans était HS à cause d’un traitement différents des balises, ahah).

Amélioration futures

J’ai déjà quelques idées d’amélioration futures pour mon blog :

  • Traitement différents des tags de type « univers » des autres tags, voir séparation en une taxonomie différente, afin de pouvoir avoir le logo et les bouts de chartes graphiques que j’ai créé pour mon toyhouse (voir linker les romans liés ?). L’idée serait de pouvoir avoir des page pour facilement trouver tout ce qui est lié à un univers (fiche sur https://univers.kobold.city, jdr dédié, etc)
  • Affichage du temps de lecture d’un texte ou d’un article.
  • Système de présentation de personnage, via une description principale et quelques infos supplémentaires. L’idée serait de pouvoir régulièrement poster des petites présentation d’un personnage. Cela serait fait soit via une catégorie et des contenus custom à côté, soit via un type de post à part.
  • Ajout de miniature sur les articles de blogs/textes (histoire de pouvoir commissionner des couvertures et de faire un affichage cool s’il y en a une).
  • Système de « tâche en cours ».
  • Séparation du theme en deux projet, avec un thème générique réutilisable pour tout écrivain qui voudrait utiliser wordpress sans avoir mon « branding » (retrait du « ciel », utilisation d’une couleur plus générique par défaut, etc) et un spécifique pour moi, sans me donner trop de boulot à devoir maintenir deux thèmes en parallèle. Je compte voir avec le système de dépendance de wordpress. Je pense que celui « générique » deviendrait un truc genre Writers.Space ou un truc du genre.

Ces tâches ont été ouverte sur mon gitea, maintenant il va falloir que je trouve du temps pour le faire.

Conclusion

De toutes cette expérience, j’ai retenu un certain nombre de leçon :

  • Réfléchir plus longuement à l’outil que je veux utiliser. L’utilisation d’Hexo m’a montré que ce n’est pas parce qu’un workflow me convient dans un domaine (l’élaboration de mon JDR) qu’il sera optimal partout (l’élaboration de textes narratifs).
  • J’ai appris également à organiser l’élaboration de fonctionnalités. En ayant déjà tout ce que je voulais en amont, ce projet a été largement plus rapide que mes précédents, parce que j’avais une idée de où je voulais aller.

Je compte mettre en œuvre cette expérience dans mes prochains projet, et dans le redesign de Quarante-Douze que je compte faire (afin de moderniser un peu son esthétique). Si le passage sous Hexo aura été un échec sur le plan « technique », il aura été un bon moyen d’apprendre et m’a fait comprendre mieux mes besoins niveau outil.

Maintenant, je peux retourner au chapitre 2 de La Fin d’un Clan, pour la semaine prochaine !