Le chantier d'une maison, vu du dessus. La structure en bois est visible et elle n'est pas terminée.
Crédits : Disposition de la maison en bois beige, Avel Chuklanov, Unsplash

Je suis développeur et j’avais besoin de créer un blog. Je n’allais quand même me passer de manipuler du code ! Je ne vous montre pas de code cette fois-ci, je vais surtout parler de méthodes.

Ma première contrainte c’était d’utiliser ActivityPub. Je voulais que le blog soit directement dans le « fédivers ». J’expliquerai plus tard ce que c’est mais retenez que ce sont plusieurs réseaux sociaux inter-compatibles. Lors de la publication d’un article, le plugin envoie l’article dans le réseau et il se retrouve dans le flux de ceux qui me suivent. Je comprends que c’est un peu flou pour certains mais rassurez-vous, j’en parlerai un jour. Retenez surtout que c’est le seul moteur de blog à ma connaissance qui propose un plugin qui me permet de faire ça.

Il n’était pas question pour moi de juste déployer WordPress sur un serveur, lui donner des droits ridicules en terme de sécurité et croiser les doigts pour que les mises à jour ne soient pas trop désagréables. Il est impératif pour un développeur expérimenté de versionner son code. Je ne pourrais plus faire autrement ! Et je veux plus de libertés et de structure dans mon code.

C’est pour ça que j’ai choisis Bedrock. C’est un boilerplate, ce n’est pas une framework ni une librairie. Il permet d’installer WordPress selon une certaine architecture et il ne nécessite pas d’être mis à jour comme un framework. En l’installant, on obtient une arborescence de fichiers différente d’un WordPress classique. Je peux désormais installer des thèmes et des plugins grâce à Composer. Je peux configurer un environnement de développement et un environnement de production qui définissent des constantes de WordPress bien à eux. L’installation de plugins et de thèmes est désactivée par défaut depuis l’administration. Je peux ainsi utiliser git pour versionner mon blog. Je peux versionner uniquement les fichiers typiques de mon projet, ce qui compte le plus. Composer s’occupera d’installer le cœur de WordPress, les plugins, les thèmes et éventuellement d’autres dépendances que j’aurais installées pour des besoins bien à moi. J’ai un environnement propre pour un bon développeur. Ci-dessous la structure que ça donne, elle vient de la page de Bedrock.

Structure habituelle de WordPress

├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-admin
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-sample.php
├── wp-content
│   ├── index.php
│   ├── plugins
│   └── themes
├── wp-cron.php
├── wp-includes
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php

Structure de Bedrock

├── .env.example
├── composer.json
├── config
│   ├── application.php     # Primary wp-config
│   └── environments
│       ├── development.php
│       ├── staging.php
│       └── production.php
├── vendor                  # Composer dependencies
└── web                     # Public document root
    ├── app                 # WordPress content dir
    │   ├── mu-plugins
    │   ├── plugins
    │   ├── themes
    │   └── uploads
    ├── wp-config.php
    ├── index.php
    └── wp                  # WordPress core

Remarquez que la structure permet d’avoir un fichier .env à la racine du projet et qu’elle permet de conserver toute la configuration en-dehors de la partie publique. La racine de notre site arrive sur le dossier /web. Ça va me permettre d’utiliser des espaces de noms dans `/vendor` pour des librairies inaccessibles pour des requêtes sur le serveur http. Si j’en ai vraiment besoin. je peux même me créer des environnements, comme un environnement de tests.

J’ai besoin d’être rapide, c’est un blog sans grande ambition pour le moment. J’ai décidé de privilégier le contenu sur le style. Je voulais une base qui me convient, dont les proportions me plaisaient et qui proposait un design plutôt neutre. Après quelques essais, je me suis décidé sur Blogier qui est un thème enfant de Blogus, du même auteur, Themeansar. Je n’ai pas pris la version payante, peut-être plus tard si j’en ai vraiment besoin. Finalement je m’en suis bien sorti avec le style, c’était plus beau que je pensais car on trouve difficilement quelque chose d’aussi agréable.

Toute fois je voulais un mode sombre, que j’ai activé, puis je voulais une palette de couleurs que j’affectionne particulièrement, Catppuccin. C’est une palette libre, portée pour de nombreux logiciels, interfaces, thèmes et autres. Je l’utilise déjà beaucoup. C’est le thème dans plusieurs applications de chats, dans mon terminal, mon décorateur de fenêtres, mes fonds d’écran et bien sûr, mon logiciel préféré, Obsidian.

PointPlus existait déjà sur YouTube, avec sa charte graphique. J’ai eu de la chance, la typographie utilisée par le thème était la même que le logo et quand j’ai voulu appliqué le vert du logo sur le titre du blog, ça collait très bien. Je suis très surpris et vraiment satisfait du résultat.

Bienvenue sur PointPlus !

By Djyp