Le mot "grep" apparaît en grandes lettres blanches au centre, faisant référence à la puissante commande Bash pour rechercher une chaîne. L'arrière-plan est rempli de code binaire flottant sur un dégradé de bleu à orange, ce qui donne un aspect numérique et inspiré de la technologie.

Bash : rechercher une chaîne dans des fichiers avec grep, récursivement

Voici une technique simple et redoutablement utile pour rechercher une chaîne de texte dans les fichiers d’un répertoire, y compris dans ses sous-répertoires.

Sous Linux, j’utilise très souvent grep pour inspecter du code, retrouver une fonction, chercher une option dans une configuration, vérifier l’usage d’un hook WordPress, ou identifier rapidement où une chaîne apparaît dans un projet.

La commande est ancienne, stable, disponible partout, et elle fait exactement ce qu’on lui demande. Ce qui, pour un outil en ligne de commande, reste une qualité sous-estimée.

Lire la suite

Python : résoudre l'erreur "ImportError: cannot import name main" photo

Python : corriger l’erreur “ImportError: cannot import name main” avec pip

Suite à une mauvaise manipulation, j’ai malencontreusement écrasé la version de pip installée par APT en lançant une commande du type :

pip install pip

ou, selon les cas :

sudo pip install --upgrade pip

Résultat : toute commande lancée avec pip se met à retourner cette erreur :

Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name mainLangage du code : JavaScript (javascript)

Pas glop.

Cette erreur arrive lorsque le script système /usr/bin/pip attend une ancienne interface interne de pip, alors qu’une version plus récente de pip a été installée par-dessus via pip lui-même. En clair, APT et pip se marchent dessus. Et, comme souvent dans ce genre de duel, c’est votre terminal qui prend les coups.

Voici comment réparer proprement pip sous Ubuntu ou Debian, puis éviter de recasser l’installation système.

Lire la suite

Un lapin bleu de dessin animé avec une fourrure blanche, des yeux violets et une cape de super-héros rouge se tient dans un cercle. En dessous, un texte gris en gras indique "VARNISH" avec "CACHE" en lettres plus petites, soulignant comment configurer un cache avec Varnish pour Apache.

Varnish, Apache et PHP : configurer un cache moderne

Installer APC et Varnish devant Apache était une très bonne idée il y a quelques années. À l’époque, APC servait à la fois de cache opcode PHP et de cache utilisateur. Varnish, lui, permettait déjà de placer un reverse proxy HTTP très rapide devant Apache pour servir les pages les plus demandées sans réveiller toute la pile PHP/MySQL.

Aujourd’hui, l’objectif reste valable : réduire la charge, accélérer les réponses et absorber plus de trafic. En revanche, la stack a changé. On ne doit plus installer l’ancien APC. On utilise OPcache pour le bytecode PHP, APCu seulement si l’application en a besoin, et Varnish comme cache HTTP devant Apache lorsque le contexte s’y prête.

Ce guide modernise donc l’approche : diagnostic, OPcache, APCu, Varnish, Apache en backend, vraie IP visiteur, configuration VCL prudente, purge du cache, WordPress, WooCommerce et dépannage.

Lire la suite