Sur un fond bleu clair, un texte noir indique "< ? PHP ?", avec une icône d'éléphant géométrique bleue remplaçant le deuxième "P". Il s'agit d'un clin d'œil au langage de programmation PHP, souvent rencontré dans les problèmes d'erreur preg_match ou de plage invalide dans la classe de caractères.

Corriger l’erreur preg_match invalid range en PHP

Lors d’une mise à jour PHP, un vieux site peut soudain afficher une erreur qui sent bon la regex fatiguée :

preg_match(): Compilation failed: invalid range in character class at offset 20Code language: JavaScript (javascript)

Le message paraît obscur. Pourtant, la cause est souvent très simple : une expression régulière contient un tiret - mal placé dans une classe de caractères.

Depuis PHP 7.3, PHP utilise PCRE2 pour les expressions régulières. Cette migration a rendu certains patterns plus stricts. Résultat : une regex qui passait silencieusement sur une ancienne version PHP peut échouer après une montée de version.

Pourquoi cette erreur apparaît-elle ?

Dans une expression régulière, les crochets définissent une classe de caractères.

Par exemple :

/[abc]/

Cette regex accepte un caractère parmi a, b ou c.

Autre exemple :

/[a-z]/

Ici, le tiret indique une plage : toutes les lettres de a à z.

Le problème apparaît quand PHP rencontre un tiret à un endroit ambigu. Par exemple :

/[\w-.]+/

Dans cette classe, le moteur PCRE2 peut interpréter le tiret comme un opérateur de plage entre \w et .. Cette plage n’a pas de sens. PHP refuse donc de compiler l’expression régulière.

C’est pour cela que le message parle de Compilation failed. Le problème ne vient pas de la chaîne testée. Il vient du pattern lui-même.

Lire la suite

Créer son propre serveur FTP avec Filezilla Server photo

Installer un serveur FTPS avec FileZilla Server

Créer son propre serveur FTPS avec FileZilla Server

FileZilla Server permet de transformer une machine Windows en serveur de transfert de fichiers.

Historiquement, on parlait simplement de “serveur FTP”. Aujourd’hui, il faut être plus précis : évitez le FTP en clair et configurez plutôt FTPS, c’est-à-dire FTP avec chiffrement TLS.

Le FTP classique transmet les identifiants et les données sans chiffrement. Sur un réseau privé, c’est déjà moyen. Sur Internet, c’est non. FileZilla Server reste utile, mais uniquement avec une configuration propre : comptes limités, répertoires précis, mode passif, ports contrôlés et certificat TLS.

Lire la suite

Un nuage orange avec un arc blanc stylisé se superpose à la mention "DDNS" en noir gras, représentant la redirection DynDNS (Dynamic DNS). Le design moderne présente le nuage en deux tons d'orange, symbolisant la facilité d'accès et de gestion en ligne.

Créer une adresse DDNS pour accéder à son serveur à distance

Une adresse DDNS permet d’associer un nom facile à retenir à une adresse IP qui change.

Au lieu de retenir une adresse comme 80.26.45.89, vous utilisez un nom du type monserveur.example.net, maison.no-ip.info ou radio.example.com.

C’est pratique pour accéder à un serveur personnel, un NAS, une caméra IP, une interface domotique, un serveur de jeu, une machine de test ou une webradio.

À l’époque, on parlait surtout de “redirection DynDNS”. Aujourd’hui, le terme le plus juste est DDNS, pour Dynamic DNS. Le principe reste le même, mais les services, les routeurs et les bonnes pratiques ont changé.

Lire la suite