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…
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…
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…
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…
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.
Mettre Google Analytics en conformité avec le RGPD, sans bandeau de cookie
MISE À JOUR : Google force le passage à la version 4 de Google Analytics. La technique présentée dans cette article ne fonctionne pas avec cette version, et devient donc caduque. Plusieurs solutions alternatives sont présentées dans les commentaires. Pour ma part, j’ai choisi d’utiliser Plausible, qui est un produit…
Êtes-vous sûrs de vos bonnes pratiques ?
En écrivant cet article, je voulais aborder les « bonnes pratiques » sous un angle un peu différent de l’habitude. Les bonnes pratiques sont bonnes par essence, non ? Oui, évidemment… Sauf que tout le monde ne s’accorde pas sur la définition de ce qu’est ou non une bonne pratique. Et malheureusement,…
Les failles de sécurité de base dans le web (3) : le cross-site request forgery (CSRF)
Cet article est le troisième d’une série consacrée aux failles de sécurité dans le web, après un premier sur l’injection SQL et un deuxième consacré au cross-site scripting (XSS). Le principe du CSRF Les attaques de type cross-site request forgery sont un peu plus malicieuses que celles décrites dans les…
Les failles de sécurité de base dans le web (2) : le cross-site scripting (XSS)
Si ce n’est pas déjà fait, je vous invite à lire le premier article de cette série. J’y explique le contexte dans lequel j’écris ces articles, et je parle des failles par injection SQL. Le principe du cross-site scripting Le cross-site scripting (ou XSS pour faire court) est une faille…
Création de certificats SSL gratuits avec Let’s Encrypt pour des domaines chez OVH
La sécurisation des échanges de données est aujourd’hui quelque chose de primordial. Une majorité de sites proposent maintenant une connexion HTTPS. Pour pousser à une plus grande sécurité sur le web, Google prend cela en compte dans son référencement des sites ; ils vont même jusqu’à interdire l’utilisation du HTTP…