Optimiser vim et le terminal pour le développement

Pour développer, vous utilisez sûrement un IDE, qui peut aller de l’éditeur de texte survitaminé comme Sublime Text jusqu’à un environnement complet comme Eclipse, en passant par des outils spécifiques à certaines plateformes, comme Android Studio ou Xcode. Suivant les projets, les entreprises et les équipes, j’ai été amené à…

Lire la suite

Sécuriser l’utilisation de wget et curl en ligne de commande

Dans un script shell, il est assez commun d’utiliser les outils wget ou curl pour faire des requêtes HTTP(S). Ces logiciels sont effectivement très pratiques ; ils permettent de faire la jonction entre un script local et des services distants, réduisant la frontière entre les deux. Il y a toutefois un…

Lire la suite

Utilisation de Supervisor pour faire tourner des workers

J’ai déjà abordé à plusieurs reprises le sujet des « workers » (notamment dans mon article sur les architectures distribuées). L’idée générale est celle d’avoir plusieurs instances d’un programme qui s’exécutent simultanément en tâche de fond, attendant de recevoir des tâches à exécuter. Habituellement, vous voulez qu’au démarrage de votre serveur, un…

Lire la suite

Utilisation concrète des SSE (Server-Sent Events) en PHP

Dans mon précédent article, j’ai expliqué ce que sont les SSE et comment on peut les utiliser de manière minimale. Dans l’exemple que je donnais, le serveur envoyait au client des données qu’il générait de lui-même. Mais dans la vraie vie, le serveur va vouloir envoyer au client des données…

Lire la suite

Bases de données : le problème N+1 en SQL (sous-requêtes dans le SELECT)

Qu’est-ce que le problème N+1 ? Quand on fait des requêtes SQL complexes, on peut se retrouver à devoir récupérer des données qui ne sont pas accessibles en faisant de simples jointures. Un moyen simple mais hautement inefficace est d’ajouter des sous-requêtes dans le SELECT de la requête. On appelle…

Lire la suite

Mise à jour : Création de certificats SSL gratuits avec Let’s Encrypt pour des domaines chez OVH

Il y a quelques années, j’ai écrit l’article Création de certificats SSL gratuits avec Let’s Encrypt pour des domaines chez OVH. Son contenu est toujours d’actualité… à un détail près. Ces derniers jours, j’ai pu voir que mes certificats SSL n’étaient plus mis à jour. Un problème empêchait Let’s Encrypt…

Lire la suite

Licences libres : le copyleft est-il caduque ?

(cet article nécessite un minimum de connaissances sur les licences libres) Il y a quelques mois, j’ai écrit un article sur les licences libres sur un autre de mes sites. J’y citais, au même titre que d’autres licences, la EUPL (European Union Public License). Petite parenthèse sur la licence EUPL…

Lire la suite

Compter les caractères et les octets en PHP

Le sujet de cet article peut sembler simpliste, mais il ne l’est pas tant que ça, parce qu’il peut engendrer des bugs assez délicats à débusquer. Le problème Dans n’importe quel langage de programmation, on se retrouve souvent à vouloir connaître la longueur des données stockées dans une variable. Dans…

Lire la suite

De PHP 7 à PHP 8, retour sur cinq ans d’innovation

Alors que PHP 8.1 va sortir à la fin de l’année, et que la version 21.10 d’Ubuntu vient d’être mise en ligne en embarquant PHP 8, je me suis dit que ça pourrait être bien de revenir sur toutes les nouveautés qui sont apparues dans le langage PHP depuis que PHP 7 a été présenté en décembre 2015.
Mon but ne va pas être de lister toutes les fonctionnalités qui sont apparues dans PHP 7, 7.1, 7.2, 7.3, 7.4 et 8 ; il y en a beaucoup trop, certaines étant très pointues et pensées pour des usages très particuliers. Je vais me contenter de parler de celles qui me paraissent les plus intéressantes, celles que j’utilise réellement dans mes développements.