Le build du thème et le bourguignon avaient le même temps de cuisson (j'ai fini par réparer les deux)
Petit retour d'expérience un peu idiot mais vrai.
Depuis 2015 je fais des sites WordPress et WooCommerce pour des boulangeries, des vignerons du coin et des gens pressés. Je travaille de chez moi, à Nantes, et mon bureau est à trois mètres de la cuisine. Donc depuis des années j'ai une habitude : je lance le build du thème, et je vais touiller quelque chose.
Le problème, c'est que mon build est devenu de plus en plus long. Un vieux thème custom pour un caviste, avec Webpack 4, node-sass, des images optimisées à chaque build, et un watch qui recompilait tout pour un point-virgule. 3 minutes 40 pour un build complet. Ça, c'est le temps de faire revenir des oignons. Pas mal. Mais en dev c'était pire : 25 à 40 secondes à chaque sauvegarde. Trop court pour cuisiner, trop long pour ne pas aller sur les réseaux.
Un dimanche j'ai fait un bœuf bourguignon (3 heures, ma grand-mère disait 4) et pendant qu'il mijotait j'ai enfin pris le temps de regarder pourquoi mon build était si lent. Voilà ce que j'ai changé, au cas où ça serve à quelqu'un avec un vieux thème :
- node-sass vers sass (Dart Sass). node-sass est déprécié de toute façon, et en plus il cassait à chaque mise à jour de Node. Le passage s'est fait presque sans douleur, à part quelques
/pour les divisions qu'il a fallu remplacer parmath.div()(avec@use "sass:math"en haut du fichier). - Les images sorties du build. Optimiser les images à chaque build, c'était absurde. Maintenant je les optimise une fois, à l'upload dans WordPress, et le build ne les touche plus. Une minute et demie de gagnée.
- Webpack 4 vers Vite pour le JS et le CSS du thème. En dev, le rechargement est passé de 30 secondes à quasi instantané. J'ai dû écrire un petit bout de PHP pour charger les assets depuis le serveur de Vite en dev et depuis le manifest en prod, rien de méchant.
Résultat : build complet en 22 secondes au lieu de 3 min 40. Le watch, on ne le voit plus.
Et maintenant le vrai problème : je n'ai plus le temps de cuisiner pendant les builds. J'ai gagné en productivité et perdu en gastronomie. Ce midi c'était des pâtes au beurre. Ma compagne m'a demandé si j'allais bien.
Pour ceux qui veulent quand même cuisiner en codant, ma règle maintenant c'est l'inverse : je lance un plat long (un pot-au-feu, un bourguignon, une blanquette) et je code pendant qu'il cuit. La cocotte devient le minuteur. Quand ça sent bon, c'est l'heure de commit.
Le bourguignon était excellent, au passage. Muscadet dans la sauce, ne le dites pas aux Bourguignons.
Get the best of #compiles-and-simmers weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to comment