Ciao WordPress, Hello JAMstack

Pour ceux qui l’ignorent, JAMstack est l’acronyme de JavaScript, APIs et Markup. Cela veut dire que contrairement à un CMS comme WordPress, le serveur web ne fait que livrer des fichiers statiques pré-compilés. Cependant, cela ne veut pas forcement dire que le site est statique, il y a du JavaScript et ce dernier est en mesure d’interagir avec des API (donc récupérer des données etc). Voyons les raisons de mon choix et le dessous des cartes techniques !

L'après jQuery: API DOM native et alternatives

Ça ne vous a surement pas échappé, on utilise aujourd’hui de moins en moins jQuery dans les nouveaux projets. Les navigateurs récents supportent en effet très bien les nouvelles API du DOM. Il est ainsi possible d’avoir un code qui fonctionne pour tous les navigateurs en se conformant aux standards. On se libère d’une dépendance mais on hérite d’une API native pas toujours super sexy… Voyons ce que l’on peut faire.

WordPress starter theme pour les développeurs JS

On ne présente plus WordPress. CMS open source ultra populaire, je le perçois comme une sorte de framework. Je peux ainsi me concentrer sur l’expérience utilisateur : créer un thème sur-mesure de A à Z. Cependant, il me manquait une solution pour accélérer la création de thème. J’ai donc créé un “blank theme” assorti d’un workflow orienté devops. Voyons à quel besoin répond ce thème open source et quelles solutions il apporte.

PHP-FPM: remédier à server reached pm.max_children

Contrairement à d’autres modèles d’intégration de PHP aux serveurs web, PHP-FPM est un dæmon qui tourne indépendamment du serveur. Il est lancé par le système d’initialisation de l’OS et communique par la suite avec le serveur web via FastCGI.

Utiliser WebP pour gagner en performances

WebP est un format d’image développé par Google spécialement pour le web et sorti en 2010. Comme il propose à la fois des compressions avec et sans perte de qualité, il est tout indiqué pour se substituer aussi bien au png qu’au jpeg.

Jusqu’alors, seul Google Chrome supportait WebP. Malgré l’importante part de marché du navigateur, cela restait limité. Cependant, à partir de 2019, Firefox et Edge vont à leur tour ajouter le support des images WebP. On pourra donc réellement parler d’un standard.

Dès lors, comme il autorise des fichiers de 20 à 80% plus légers, voyons comment convertir et servir nos images afin de proposer une expérience plus rapide à nos visiteurs – tout en leur faisant économiser de la bande passante.

Git: bien nommer ses commits

Presque tous les développeurs utilisent aujourd’hui git comme système de versionning. Cependant, au delà des commandes à connaître, un usage efficace passe par des messages de commit clairs et concis.

Néanmoins, même avec d’importants efforts, nommer ses commits n’est pas chose facile.

Raccourcis système et typographique de macOS

Comme certains d’entre vous, je travaille sous macOS. Et comme tout power user qui se respecte, il y a de nombreux raccourcis clavier qui permettent d’accroître sa productivité. On ne va par reprendre les bases du ⌘cmd + c / ⌘cmd + v, mais passer en revue des raccourcis moins connus, de la typographie aux astuces du finder, petit aperçu des racourcis les plus utiles.

Certbot: challenge DNS OVH & wildcard

Certbot est l’outil de l’EFF qui permet d’automatiser la génération de certificats TLS Letsencrypt. L’outil dispose de plusieurs méthodes – appellées challenges – permettant de valider que vous contrôlez bien le domaine. Cependant, seule la méthode DNS permet de générer des certificats wildcard. Voyons comment la mettre en place avec OVH.

Programmation fonctionnelle en JavaScript

Bien que la programmation fonctionnelle ne date pas d’hier, on en entend de plus en plus parler. Souvent entourée de termes obscurs et de notions mathématiques complexes, on se dit qu’on se penchera sur ce nouveaux paradigme de programmation un peu plus tard… Et si ce plus tard était maintenant ? Tentons d’aborder le FP de manière concrète et pragmatique.

Rollup, l'outil pour les bundler tous !

Rollup est un bundler JavaScript. C’est à dire qu’il lit votre code et bundle l’ensemble des modules importés (via import ou require) en un fichier unique. Il est capable d’exporer ce module dans les principaux formats de modules (CJS, ESM, AMD, IIFE) correspondant à tous les cas d’usage. En outre, via quelques plugins bien utiles, il se chargera aussi de transpiler et de minifier le code. Que demande le peuple ?