Outils essentiels pour le développement PrestaShop
Boîte à outils pour développeurs PrestaShop — éditeurs de code, débogage, base de données, retouche d'images, gestion de version et stack open source.
Pourquoi vos outils sont importants
Le développement PrestaShop ne se résume pas à PHP. En une journée type, vous modifiez des templates Smarty, écrivez des requêtes SQL, déboguez du JavaScript, traitez des images de produits, gérez des conteneurs Docker, déployez via SSH et lisez des logs Apache. Les outils que vous choisissez influencent directement votre rapidité de travail et le nombre d’erreurs que vous commettez.
Ceci n’est pas une liste générique copiée d’articles « top 10 des outils développeur ». Chaque outil listé ici est quelque chose que nous utilisons réellement dans notre flux de travail quotidien — avec plus de 100 conteneurs Docker sur un serveur TrueNAS, le développement de modules de PrestaShop 1.6 à 9.1, et la gestion de boutiques en production. Si un outil figure ici, c’est qu’il a mérité sa place.
Chaque outil sur cette page est gratuit ou open source. Nous signalerons où des alternatives payantes existent, mais vous pouvez construire un environnement de développement PrestaShop complet et professionnel sans dépenser un seul euro en licences logicielles.
Éditeurs de code et IDE
Votre éditeur est l’endroit où vous passez 80 % de votre temps de développement. Choisissez bien.
Visual Studio Code — Le choix standard
Visual Studio Code (VS Code) est gratuit, open source, et est devenu le standard de facto pour le développement web. Il gère PHP, JavaScript, les templates Smarty, SCSS, SQL, les fichiers Docker et YAML sans aucune difficulté. L’écosystème d’extensions couvre tout ce que PrestaShop vous réserve.
Extensions essentielles pour le développement PrestaShop :
- PHP Intelephense : Complétion intelligente du code PHP, navigation vers la définition, recherche de références et détection d’erreurs. Il comprend la hiérarchie de classes de PrestaShop — tapez
$this->context->et obtenez de vraies suggestions. La version gratuite est excellente ; la licence payante ajoute le refactoring par renommage et plus encore. - Smarty Template Support : Coloration syntaxique et snippets pour les fichiers
.tpl. Sans cette extension, les fichiers Smarty ne sont que du texte non coloré. - GitLens : Affiche qui a modifié chaque ligne, quand et pourquoi — directement dans l’éditeur. Inestimable lorsque vous déboguez un module qui fonctionnait la semaine dernière et ne fonctionne plus.
- Docker : Gérez les conteneurs, consultez les logs, exécutez des shells — le tout depuis la barre latérale. Plus besoin de basculer vers le terminal pour un
docker ps. - Remote - SSH : Modifiez des fichiers sur un serveur distant comme s’ils étaient locaux. Ouvrez l’intégralité de votre répertoire de projet PrestaShop via SSH avec un IntelliSense complet. C’est ainsi que nous travaillons : VS Code tourne sur un bureau Arch Linux local, connecté via SSH à un serveur TrueNAS où résident tous les conteneurs Docker.
- PHP Debug : Intégration Xdebug — posez des points d’arrêt, inspectez les variables, parcourez le code pas à pas. Transforme la question « pourquoi ce hook renvoie-t-il null ? » d’un mystère de 30 minutes en une investigation de 2 minutes.
Configuration de Xdebug avec VS Code :
Ajoutez un fichier .vscode/launch.json à votre projet :
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
}
]
}
Dans votre conteneur PHP, configurez Xdebug 3 :
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
Installez l’extension de navigateur Xdebug Helper, cliquez sur « Debug » dans l’icône de l’extension, appuyez sur F5 dans VS Code et rechargez votre page PrestaShop. L’exécution s’arrête à vos points d’arrêt. Ce flux de travail vous fera gagner plus de temps que n’importe quel autre outil de cette liste.
PHPStorm — L’alternative premium
PHPStorm de JetBrains est la référence des IDE PHP. Il offre une compréhension plus profonde de PHP que VS Code dès l’installation — refactoring, intégration de bases de données, terminal intégré et support Xdebug qui fonctionne immédiatement. L’inconvénient : c’est un produit payant (essai gratuit de 30 jours, puis abonnement). Il utilise aussi plus de RAM que VS Code — prévoyez 2 à 4 Go pour un gros projet PrestaShop.
Si vous êtes développeur PrestaShop à plein temps et que votre flux de travail est à 90 % PHP, PHPStorm peut valoir l’investissement. Si vous faites aussi du JavaScript, du DevOps et travaillez sur plusieurs langages, la flexibilité et la légèreté de VS Code sont plus adaptées.
Éditions rapides sur serveur : Kate, nano, vim
Parfois vous vous connectez en SSH à un serveur et devez modifier une seule ligne dans un fichier de configuration. Vous n’avez pas besoin d’un IDE complet pour cela.
- nano : Disponible sur chaque système Linux.
nano /etc/php/8.2/fpm/php.ini— modifiez, Ctrl+O pour sauvegarder, Ctrl+X pour quitter. Simple. - vim : Plus rapide une fois que vous l’avez appris, mais la courbe d’apprentissage est réelle. Si vous connaissez déjà vim, vous n’avez pas besoin de ce paragraphe.
- Kate : L’éditeur de texte de KDE. Coloration syntaxique complète, vues divisées, terminal intégré. Quand vous êtes sur un bureau Linux et avez besoin de quelque chose entre nano et VS Code, Kate est excellent.
Gestion de versions
Si le code de votre module n’est pas dans Git, vous êtes à une mauvaise modification d’un désastre. Point final.
Git — Non négociable
Git n’est pas optionnel. Chaque module PrestaShop, chaque personnalisation de thème, chaque script que vous écrivez doit être dans un dépôt Git. Cela ne coûte rien, se met en place en quelques secondes et a sauvé d’innombrables développeurs d’une perte de données catastrophique.
# Initialize a new module repository
cd ~/modules/mymodule
git init
git add .
git commit -m "Initial commit: module v1.0.0"
# Create a remote and push
git remote add origin https://github.com/youruser/mymodule.git
git push -u origin main
Flux de travail Git pour les modules PrestaShop :
- Branches de fonctionnalités : Ne travaillez jamais directement sur
main. Créezfeature/add-bulk-import, développez, testez, puis fusionnez. Si quelque chose tourne mal,mainreste intact. - Versionnement sémantique : Utilisez des tags
v1.2.3— majeur.mineur.correctif. Incrémentez le majeur pour les changements non rétrocompatibles, le mineur pour les nouvelles fonctionnalités, le correctif pour les corrections de bugs. Le système de modules de PrestaShop attend une chaîne de version dans la configuration de votre module, et elle doit correspondre à vos tags Git. - Des messages de commit qui ont du sens : « Correction de bug » est inutile six mois plus tard. « Fix: réduction du bon de réduction appliquée deux fois lorsque le client utilise le paiement rapide » vous dit exactement ce qui s’est passé et pourquoi.
Nous maintenons plus de 100 dépôts de modules PrestaShop. Chacun utilise Git avec le versionnement sémantique. Quand un client signale un bug dans « la version d’il y a trois mois », nous pouvons récupérer exactement cette version en quelques secondes. Sans Git, vous êtes réduit à deviner.
Hébergement Git : auto-hébergé ou cloud
- GitHub : Le standard du secteur. Dépôts privés gratuits, excellent CI/CD avec GitHub Actions, plus grande communauté. Si vous n’avez pas de raison particulière d’aller ailleurs, commencez ici.
- GitLab : Auto-hébergé ou cloud. Pipelines CI/CD intégrées, registre de conteneurs, suivi des problèmes. Plus de fonctionnalités que GitHub prêtes à l’emploi, courbe d’apprentissage plus raide.
- Gitea : Serveur Git léger, auto-hébergé, écrit en Go. Utilise un minimum de ressources — fonctionne confortablement à côté de vos conteneurs Docker. Nous faisons tourner Gitea sur notre serveur de développement pour les dépôts internes qui n’ont pas besoin d’être sur GitHub. Parfait si vous voulez un contrôle total sur votre code sans payer pour des dépôts privés (bien que GitHub les propose désormais gratuitement).
Conteneurisation et virtualisation
PrestaShop 1.6 nécessite PHP 5.6-7.1. PrestaShop 8.x nécessite PHP 8.1+. PrestaShop 9.x nécessite PHP 8.2+. Faire tourner tout cela sur la même machine sans conteneurs est un cauchemar. N’essayez pas.
Docker + Docker Compose
Docker est le standard pour exécuter simultanément plusieurs versions de PrestaShop. Chaque version dispose de son propre conteneur avec son propre PHP, son propre MySQL et son propre système de fichiers. Rien n’entre en conflit. Vous pouvez faire tourner PS 1.6 à côté de PS 9.1 sur le même serveur sans aucun problème.
Un docker-compose.yml minimal pour un environnement de développement PrestaShop :
services:
prestashop:
image: prestashop/prestashop:8.2
ports:
- "8080:80"
environment:
- DB_SERVER=db
- DB_NAME=prestashop
- DB_USER=prestashop
- DB_PASSWD=your_password
volumes:
- ./html:/var/www/html
depends_on:
- db
db:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=prestashop
- MYSQL_USER=prestashop
- MYSQL_PASSWORD=your_password
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
Nous avons un guide complet sur Docker pour le développement PrestaShop — consultez notre Guide de développement Docker pour PrestaShop pour des instructions de configuration détaillées, des configurations multi-versions, la gestion de bases de données et les modèles de déploiement en production.
Notre serveur de développement fait tourner plus de 25 conteneurs PrestaShop simultanément — de PS 1.6.1.23 à PS 9.1.0 — chacun avec sa propre base de données, chacun accessible sur un port différent. Docker rend cela trivialement facile à gérer.
Podman — L’alternative à Docker
Podman est un remplacement direct de Docker qui exécute des conteneurs sans démon et sans nécessiter de privilèges root. Les commandes sont quasi identiques — podman run, podman compose, podman build. Si votre organisation a des politiques de sécurité contre l’exécution du démon Docker en tant que root, Podman est la réponse.
Pour la plupart des développeurs PrestaShop, Docker est le choix le plus sûr simplement parce que tous les tutoriels, les réponses Stack Overflow et la documentation PrestaShop supposent Docker. Mais Podman mérite d’être connu.
QEMU/KVM + virt-manager — Machines virtuelles complètes
Parfois les conteneurs ne suffisent pas. Tester sur Windows Server ? Reproduire l’environnement cPanel spécifique d’un client ? Exécuter un bureau complet pour des tests manuels ? C’est là qu’interviennent les machines virtuelles complètes.
- QEMU/KVM : Virtualisation au niveau du noyau sous Linux. Des performances quasi natives grâce à l’accélération matérielle (Intel VT-x/AMD-V). Gratuit, open source, et déjà installé sur la plupart des serveurs Linux.
- virt-manager : Une interface graphique pour gérer les machines virtuelles QEMU/KVM. Créer, démarrer, arrêter, prendre des instantanés — le tout depuis une interface de bureau. Plus léger que VirtualBox, plus rapide que VMware, et 100 % gratuit.
Utilisez les VM pour les cas particuliers. Utilisez Docker pour le développement PrestaShop quotidien. Cette distinction vous fera gagner du temps.
Design et graphisme
Le développement PrestaShop ne se limite pas au code. Vous allez modifier des images de produits, créer des bannières, concevoir des icônes de configuration de modules, exporter des SVG pour les thèmes et traiter par lot des milliers de photos de produits. Voici les outils qui gèrent tout cela — gratuitement.
GIMP 3.0 — Le Photoshop gratuit
GIMP (GNU Image Manipulation Program) est un éditeur d’images complet. GIMP 3.0, sorti en 2025 après des années de développement, a apporté une refonte majeure de l’interface, l’édition non destructive et une bien meilleure compatibilité PSD.
Tâches courantes pour PrestaShop avec GIMP :
- Modification d’images de produits — suppression d’arrière-plans, ajustement des couleurs, recadrage aux dimensions exactes
- Création de bannières de catégories et de visuels promotionnels
- Conception d’icônes et de miniatures pour les pages de configuration des modules
- Ouverture et édition de fichiers PSD provenant de designers utilisant les produits Adobe
- Traitement par lot via les scripts Script-Fu ou Python-Fu
Est-ce identique à Photoshop ? Non. Les raccourcis clavier sont différents, la gestion des calques fonctionne différemment, et certains filtres avancés n’ont pas d’équivalent direct. Mais pour le travail d’images lié à PrestaShop — photos de produits, bannières, icônes, captures d’écran — GIMP gère tout ce dont vous avez besoin.
Inkscape — Graphisme vectoriel
Inkscape est l’alternative open source à Adobe Illustrator. Utilisez-le pour :
- Créer des icônes SVG pour l’interface d’administration de votre module
- Concevoir des logos et des graphiques vectoriels pour les thèmes
- Modifier des fichiers SVG provenant de bibliothèques d’icônes avant de les intégrer dans les templates
- Créer des graphiques redimensionnables qui restent nets à n’importe quelle résolution
SVG est le bon format pour les icônes d’interface dans les modules et thèmes PrestaShop. Inkscape produit un SVG propre et optimisé que vous pouvez intégrer directement dans vos templates ou votre CSS.
Photopea — Photoshop dans votre navigateur
Photopea est un éditeur d’images basé sur navigateur qui ressemble et fonctionne presque exactement comme Photoshop. Il ouvre nativement les fichiers PSD, XCF, Sketch, XD et CDR. Aucune installation, aucun compte requis, entièrement gratuit (financé par la publicité).
Quand un designer vous envoie une maquette PSD et que vous devez exporter un calque spécifique, ou quand vous devez faire une retouche rapide sur une image de produit et que GIMP n’est pas installé sur votre machine actuelle — Photopea est la réponse. Nous l’utilisons régulièrement pour les retouches rapides, les exports de calques PSD et la génération d’images de couverture de produits à partir de modèles.
Photopea s’exécute entièrement dans votre navigateur — vos fichiers ne quittent jamais votre machine. Cela en fait un outil sûr pour travailler avec des ressources clients et des images de produits confidentielles. Il fonctionne également sur n’importe quel système d’exploitation sans installation.
FontForge — Polices d’icônes personnalisées
FontForge est un éditeur de polices open source. Dans le développement PrestaShop, vous l’utiliserez pour :
- Créer des polices d’icônes personnalisées pour le panneau d’administration de votre module (combiner plusieurs icônes SVG en un seul fichier de police)
- Sous-ensemble de polices web — extraire uniquement les caractères dont vous avez besoin d’un fichier de police volumineux pour réduire le poids de la page
- Conversion entre formats de polices (TTF, OTF, WOFF, WOFF2)
La plupart des développeurs ne touchent jamais à FontForge, mais quand vous en avez besoin, rien d’autre ne fait l’affaire. Si vous avez juste besoin d’une conversion basique de format de police, l’outil en ligne de commande woff2 est plus simple.
ImageMagick — Traitement d’images par lot
ImageMagick est le couteau suisse en ligne de commande pour le traitement d’images. Redimensionnez, convertissez, recadrez, ajoutez un filigrane et optimisez des milliers d’images en une seule commande.
# Resize all product images to 800x800, maintaining aspect ratio
for f in *.jpg; do
convert "$f" -resize 800x800 -quality 85 "resized/$f"
done
# Convert PNG to WebP (smaller file size, same quality)
convert product.png -quality 80 product.webp
# Add a watermark to all images
for f in products/*.jpg; do
composite -gravity southeast watermark.png "$f" "watermarked/$(basename $f)"
done
# Create thumbnails for a category page
mogrify -resize 300x300^ -gravity center -extent 300x300 -path thumbs/ *.jpg
Quand un client vous remet 5 000 images de produits toutes en 4000x4000 pixels et que vous les voulez en 800x800 avec des versions WebP — ImageMagick est la solution pour ne pas passer trois jours à cliquer dans une interface graphique.
Blender — Rendus 3D de produits
Blender est une suite complète de modélisation 3D, d’animation et de rendu. Dans le e-commerce, il est de plus en plus utilisé pour créer des rendus photoréalistes de produits — en particulier pour les produits qui n’existent pas encore ou sont coûteux à photographier. Magasins de meubles, électronique, produits personnalisés — les rendus 3D peuvent remplacer entièrement la photographie de produits.
C’est un outil avancé avec une courbe d’apprentissage abrupte. Intégrez-le à votre boîte à outils si vos clients vendent des produits où la visualisation 3D apporte de la valeur. Sinon, passez votre chemin.
Communication et gestion de projet
Thunderbird — L’email qui fonctionne
Thunderbird est le client email gratuit de Mozilla. Si vous gérez des boutiques PrestaShop, vous traitez un flux constant de notifications de commandes, de demandes clients, d’emails de licences de modules et d’alertes serveur. Un véritable client email de bureau avec des filtres, des dossiers et une boîte de réception unifiée est bien supérieur à la consultation du webmail dans un onglet de navigateur.
Thunderbird se connecte à n’importe quel serveur IMAP/SMTP, prend en charge le chiffrement PGP via OpenPGP (intégré depuis Thunderbird 78), gère le calendrier via CalDAV et dispose d’une excellente recherche. Il s’intègre également aux solutions de messagerie auto-hébergées comme Mailcow.
Communication d’équipe
- Discord : La communauté PrestaShop est active sur Discord. C’est également excellent pour la communication en petite équipe — canaux vocaux, partage d’écran, mise en forme d’extraits de code. Gratuit pour un nombre illimité d’utilisateurs.
- Slack : L’alternative professionnelle. Si vos clients ou votre agence utilisent Slack, vous en aurez besoin. Le niveau gratuit est utilisable mais limité (historique des messages sur 90 jours).
- Element (Matrix) : Chat d’équipe auto-hébergé avec chiffrement de bout en bout. Si vous voulez un contrôle total sur vos communications, Matrix est le protocole ouvert et Element est le meilleur client pour l’utiliser.
Prise de notes et documentation
- Trilium Notes : Application de prise de notes hiérarchique auto-hébergée. Stocke les notes dans une base de données SQLite, prend en charge les blocs de code, Markdown et le texte enrichi. Nous la faisons tourner en tant que conteneur Docker aux côtés de nos instances PrestaShop — elle contient les notes de développement, les informations clients et la documentation technique.
- Obsidian : Gestion des connaissances basée sur Markdown. Les notes sont de simples fichiers
.mdstockés localement — aucune dépendance au cloud, propriété complète de vos données. Excellent pour construire une base de connaissances personnelle sur les patterns PrestaShop, la documentation des hooks et les solutions de débogage. - Fichiers Markdown simples : Parfois un
README.mddans chaque dépôt de module suffit. Restez simple. Chaque module devrait avoir un fichier Markdown décrivant ce qu’il fait, comment l’installer et comment le configurer.
Choisissez un seul système de prise de notes et utilisez-le de manière cohérente. L’outil compte bien moins que l’habitude de noter les choses. Quand vous résolvez un bug PrestaShop délicat à 2 heures du matin, documentez-le — votre vous futur vous en sera reconnaissant.
Navigateur et outils de test
Chrome/Chromium DevTools
Chrome DevTools est l’outil de débogage le plus important après votre éditeur de code. Si vous ne maîtrisez pas DevTools, vous travaillez avec un bras attaché dans le dos.
Fonctionnalités clés pour le développement PrestaShop :
- Onglet Réseau : Visualisez chaque requête HTTP de votre boutique. Repérez les appels API lents, les images surdimensionnées, les ressources manquantes et les chaînes de redirection. Filtrez par XHR pour ne voir que les appels AJAX — essentiel pour déboguer les interactions d’ajout au panier, de paiement et d’API de modules.
- Console : Erreurs JavaScript, avertissements et vos propres sorties
console.log(). Le JavaScript front-end de PrestaShop (en particulier les modules de paiement) y affiche des erreurs invisibles pour l’utilisateur final. - Panneau Éléments : Inspectez et modifiez en direct le HTML et le CSS. Testez des changements de mise en page avant de toucher à vos fichiers de templates.
- Onglet Application : Consultez et modifiez les cookies (cookies de session PrestaShop, cookies de panier), le localStorage et le sessionStorage.
- Onglet Performance : Enregistrez un chargement de page et voyez exactement où le temps est consommé — analyse, rendu, exécution de scripts. Identifiez quel JavaScript bloque votre First Contentful Paint.
- Mode responsive : Testez votre boutique à des tailles de viewport spécifiques. Ctrl+Shift+M pour l’activer. Testez à 375px (iPhone SE), 390px (iPhone 14), 768px (tablette) et vos points de rupture.
Brave Browser
Brave est basé sur Chromium (mêmes DevTools, même moteur de rendu) mais avec blocage des publicités, blocage des trackers et protection contre le fingerprinting intégrés. Utilisez-le pour tester le comportement de votre boutique quand les clients utilisent des bloqueurs de publicités — car beaucoup le font. Il fournit également un environnement de navigation propre sans que des scripts de suivi n’interfèrent avec vos tests.
Playwright — Tests automatisés du navigateur
Playwright de Microsoft est un framework d’automatisation de navigateur. Écrivez des scripts qui ouvrent votre boutique, naviguent dans les pages, cliquent sur les boutons, remplissent les formulaires et vérifient que tout fonctionne — automatiquement.
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
// Test product page loads correctly
await page.goto('http://localhost:8080/en/2-home-accessories.html');
await page.waitForSelector('.product-miniature');
// Test add to cart
await page.click('.product-miniature:first-child a');
await page.click('.add-to-cart');
await page.waitForSelector('.cart-products-count');
// Verify cart has 1 item
const cartCount = await page.textContent('.cart-products-count');
console.log(`Cart items: ${cartCount}`);
await browser.close();
})();
Playwright prend en charge Chromium, Firefox et WebKit (le moteur de Safari) — testez sur les trois navigateurs depuis le même script. Il est plus rapide et plus fiable que Selenium, et son mécanisme d’attente automatique gère bien les pages à forte charge AJAX de PrestaShop.
Lighthouse — Audit de performance
Lighthouse est intégré à Chrome DevTools (onglet Audits) et également disponible en outil CLI. Il évalue votre boutique sur la Performance, l’Accessibilité, les Bonnes Pratiques et le SEO — et vous dit exactement quoi corriger.
# Run Lighthouse from command line
npx lighthouse http://localhost:8080 --output html --output-path report.html
# Test mobile performance specifically
npx lighthouse http://localhost:8080 --preset=perf --emulated-form-factor=mobile
Exécutez Lighthouse sur votre page d’accueil, une page de catégorie et une page de produit. Ces trois pages couvrent 90 % de ce que vos clients voient. Consultez notre Guide d’optimisation des performances PrestaShop pour des conseils détaillés sur l’amélioration de vos scores.
Serveur et infrastructure
TrueNAS — Serveur de stockage pour le développement
TrueNAS (anciennement FreeNAS) est un système d’exploitation de stockage open source bâti sur ZFS. Pour un environnement de développement PrestaShop, il offre :
- Instantanés ZFS : Prenez des instantanés de l’intégralité de votre jeu de données Docker avant des changements risqués. Retour en arrière en quelques secondes si quelque chose tourne mal. C’est mieux que n’importe quelle solution de sauvegarde car c’est instantané.
- Support Docker : Faites tourner tous vos conteneurs PrestaShop directement sur TrueNAS. Pas besoin d’un serveur séparé.
- Intégrité des données : ZFS calcule un checksum pour chaque bloc de données. La corruption silencieuse (bit rot) est détectée et corrigée automatiquement. Quand vos dépôts de modules et les données clients résident ici, c’est important.
Notre serveur de développement est une machine TrueNAS avec 64 Go de RAM faisant tourner plus de 100 conteneurs Docker — instances PrestaShop, bases de données, monitoring, messagerie, hébergement Git, et plus encore. Les instantanés ZFS nous permettent d’expérimenter sans crainte.
SSH + SSHFS — Accès distant aux fichiers
SSH est la manière dont vous vous connectez à votre serveur de développement et aux hôtes de production. SSHFS vous permet de monter un répertoire distant localement via SSH — modifiez des fichiers sur votre serveur avec des outils locaux comme s’ils étaient sur votre propre disque.
# Mount your remote modules directory locally
sshfs user@server:/var/www/html/modules ~/remote-modules
# Now edit files with any local editor
code ~/remote-modules/mymodule/
# Unmount when done
fusermount -u ~/remote-modules
L’extension Remote SSH de VS Code offre généralement une meilleure expérience (elle exécute le serveur de langage sur la machine distante), mais SSHFS est utile quand vous devez utiliser des outils qui ne prennent pas en charge SSH nativement.
WireGuard — VPN sécurisé
WireGuard est un protocole VPN rapide et moderne. Si votre serveur de développement est sur un réseau domestique ou derrière un pare-feu, WireGuard vous donne un accès sécurisé depuis n’importe où — café, bureau d’un client ou partage de connexion mobile.
La configuration est minimale — un seul fichier de chaque côté, environ 10 lignes chacun. Il se connecte instantanément (contrairement à OpenVPN qui négocie pendant plusieurs secondes), utilise un minimum de CPU et fonctionne de manière fiable sur des connexions instables. Nous utilisons WireGuard pour connecter un portable à notre serveur de développement depuis n’importe quel emplacement.
Rclone — Synchronisation de stockage cloud
Rclone est le couteau suisse en ligne de commande pour le stockage cloud. Il prend en charge plus de 70 fournisseurs — Amazon S3, Backblaze B2, Google Drive, Dropbox, FTP, SFTP, et plus encore.
# Sync module backups to Backblaze B2
rclone sync ~/releases/ b2:my-bucket/releases/ --progress
# Copy database dumps to Google Drive
rclone copy ~/backups/db/ gdrive:PrestaShop-Backups/
# Mount S3 bucket as a local directory
rclone mount s3:my-bucket /mnt/s3 --daemon
Utilisez Rclone pour les sauvegardes hors site de vos releases de modules, dumps de base de données et ressources clients. Automatisez-le avec une tâche cron et ne vous souciez plus jamais de perdre des données suite à une panne de disque.
Nginx Proxy Manager — Reverse proxy avec SSL
Nginx Proxy Manager (NPM) fournit une interface web pour gérer les configurations de reverse proxy Nginx et les certificats SSL. Quand vous faites tourner plus de 20 conteneurs PrestaShop sur différents ports, NPM vous permet d’y accéder tous via des URL propres avec HTTPS automatique.
ps82.dev.example.comredirige vers le port 8085ps91.dev.example.comredirige vers le port 8103- Certificats SSL automatiques via Let’s Encrypt ou challenge DNS Cloudflare
- Interface web — pas besoin de modifier manuellement les fichiers de configuration Nginx
Uptime Kuma — Surveillance
Uptime Kuma est un outil de surveillance auto-hébergé. Ajoutez toutes vos instances PrestaShop, bases de données et services d’infrastructure — recevez des notifications via Discord, Slack, email ou Telegram quand quelque chose tombe en panne.
Quand vous gérez plusieurs boutiques clients, savoir qu’un site est tombé avant que le client ne vous appelle fait la différence entre « nous avons remarqué et nous sommes déjà en train de corriger » et « nous n’étions pas au courant ».
Outils de base de données
PrestaShop fonctionne sur MySQL ou MariaDB. Vous passerez un temps considérable dans la base de données — débogage de requêtes, migration de données, analyse des performances et nettoyage après de mauvaises installations de modules.
CLI MySQL/MariaDB
Le client en ligne de commande est toujours disponible, même sur les installations serveur minimales. Apprenez les bases :
# Connect to a containerized database
docker exec -it ps82-db mysql -u root -p prestashop
# Quick queries
SELECT COUNT(*) FROM ps_product WHERE active = 1;
SELECT * FROM ps_configuration WHERE name LIKE '%SMTP%';
SHOW PROCESSLIST;
# Export a table
mysqldump -u root -p prestashop ps_product > products_backup.sql
# Import a dump
mysql -u root -p prestashop < backup.sql
Pour les vérifications rapides, le CLI est plus rapide que n’importe quel outil graphique. Vous êtes déjà dans le terminal — taper une requête prend 5 secondes. Ouvrir une application graphique en prend 30.
phpMyAdmin — Interface graphique web
phpMyAdmin fonctionne comme une application web. La plupart des hébergements mutualisés l’incluent par défaut. Il gère la navigation visuelle des tables, la construction de requêtes, l’import/export et la gestion des utilisateurs via une interface de navigateur.
Ce n’est pas l’outil le plus élégant, mais il est partout. Chaque développeur PrestaShop sait utiliser phpMyAdmin car tôt ou tard vous serez sur un hébergement cPanel où c’est votre seule option.
DBeaver — Interface graphique de bureau pour bases de données
DBeaver est un client de bases de données gratuit et multiplateforme qui se connecte à MySQL, MariaDB, PostgreSQL, SQLite et des dizaines d’autres. Il offre :
- Constructeur visuel de requêtes et éditeur SQL avec coloration syntaxique et auto-complétion
- Diagrammes ER — visualisez les relations entre les tables de PrestaShop (et il y en a beaucoup)
- Export de données en CSV, JSON, SQL, XML
- Connexions simultanées multiples — ayez vos bases de données de développement, de staging et de production toutes ouvertes dans des onglets
- Tunnel SSH intégré — connectez-vous aux bases de données distantes sans redirection de ports
Si vous travaillez quotidiennement avec les bases de données PrestaShop — en écrivant des jointures complexes entre ps_product, ps_product_lang, ps_product_shop et ps_stock_available — l’auto-complétion et les vues de relations de tables de DBeaver vous faciliteront considérablement la vie.
mysqldump — Sauvegardes et migrations
La commande mysqldump crée des dumps SQL texte des bases de données ou de tables individuelles. C’est la manière standard de sauvegarder et migrer les bases de données PrestaShop.
# Full database backup
mysqldump -u root -p --single-transaction prestashop > backup_$(date +%Y%m%d).sql
# Backup specific tables only (structure + data)
mysqldump -u root -p prestashop ps_product ps_product_lang ps_product_shop > products.sql
# Backup structure only (no data) — useful for documentation
mysqldump -u root -p --no-data prestashop > schema.sql
# Compressed backup (saves 80-90% disk space)
mysqldump -u root -p --single-transaction prestashop | gzip > backup_$(date +%Y%m%d).sql.gz
Utilisez toujours --single-transaction pour les tables InnoDB (que PrestaShop utilise). Sans cette option, votre dump peut contenir des données incohérentes si la boutique traite des commandes pendant la sauvegarde.
PHP et Composer
Plusieurs versions de PHP — Pourquoi c’est nécessaire
Le développement de modules PrestaShop nécessite de tester sur différentes versions de PHP car vos clients utilisent différentes versions de PrestaShop sur différents environnements d’hébergement :
- PHP 7.2-7.4 : PrestaShop 1.7.x (encore largement déployé)
- PHP 8.1 : PrestaShop 8.0-8.1
- PHP 8.2 : PrestaShop 8.2 et 9.0
- PHP 8.3-8.4 : PrestaShop 9.1+ et tests de compatibilité future
Un module qui fonctionne sur PHP 8.2 peut générer des avertissements de dépréciation sur 8.3 ou des erreurs fatales sur 7.4. Si vous ne testez que sur une seule version de PHP, vos clients trouveront les bugs à votre place. Docker résout ce problème — chaque conteneur exécute sa propre version de PHP — mais vous devriez aussi savoir comment gérer plusieurs versions de PHP sur une machine de développement physique.
# Ubuntu/Debian: install multiple PHP versions
sudo add-apt-repository ppa:ondrej/php
sudo apt install php7.4 php8.1 php8.2 php8.3
# Switch default PHP version
sudo update-alternatives --config php
# Run a specific version explicitly
php8.1 your-script.php
Composer 2 — Gestion des dépendances
Composer est le gestionnaire de paquets pour PHP. PrestaShop 8+ utilise Composer de manière intensive, et le développement moderne de modules devrait en faire autant. Composer gère l’autoloading, les dépendances et les contraintes de versions.
# Install dependencies from composer.json
composer install
# Add a dependency to your module
composer require monolog/monolog
# Update all dependencies
composer update
# Generate optimized autoloader (production)
composer dump-autoload --optimize --classmap-authoritative
Pour les modules PrestaShop, Composer est particulièrement utile pour partager du code entre modules — composants d’administration communs, sélecteurs d’entités, traits de configuration. Créez des paquets Composer privés pour le code partagé et incluez-les dans le composer.json de chaque module.
Committez toujourscomposer.lockdans votre dépôt. Cela garantit que tout le monde (et chaque déploiement) obtient exactement les mêmes versions de dépendances.composer installlit le fichier lock ;composer updatele regénère.
PHPStan / Psalm — Analyse statique
PHPStan et Psalm analysent votre code PHP sans l’exécuter. Ils détectent des bugs invisibles jusqu’à ce qu’un chemin de code spécifique soit déclenché en production :
- Appel de méthodes sur des objets potentiellement nuls
- Types d’arguments erronés passés aux fonctions
- Variables non définies dans des branches rarement exécutées
- Code mort qui ne peut jamais être atteint
- Incohérences de types de retour
# Install PHPStan
composer require --dev phpstan/phpstan
# Run analysis at level 5 (0 = permissive, 9 = strictest)
vendor/bin/phpstan analyse src/ --level=5
# PrestaShop-specific: ignore PrestaShop's legacy patterns
# Create phpstan.neon:
parameters:
level: 5
paths:
- src/
ignoreErrors:
- '#Call to an undefined method [a-zA-Z]+::l\(\)#'
Commencez au niveau 1 et augmentez progressivement. Le niveau 5 est un bon objectif pour les modules PrestaShop — il détecte les vrais bugs sans vous noyer sous les avertissements liés aux patterns legacy de PrestaShop.
PHP_CodeSniffer — Style de code
PHP_CodeSniffer impose des standards de codage cohérents. PrestaShop a ses propres standards de codage, et si vous soumettez des modules sur la marketplace Addons, votre code doit s’y conformer.
# Install
composer require --dev squizlabs/php_codesniffer
# Check code against PSR-12 standard
vendor/bin/phpcs --standard=PSR12 src/
# Auto-fix what can be fixed
vendor/bin/phpcbf --standard=PSR12 src/
Un style de code cohérent n’est pas une question d’esthétique — c’est une question de lisibilité. Quand chaque fichier de votre module suit les mêmes patterns, les bugs ressortent car ils cassent le motif visuel.
Xdebug 3 — Débogage pas à pas
Xdebug est une extension PHP qui fournit le débogage pas à pas, les traces de pile, le profilage et la couverture de code. Xdebug 3 (la version actuelle) est nettement plus rapide que Xdebug 2 et utilise une configuration plus simple.
Modes Xdebug clés pour le développement PrestaShop :
xdebug.mode=debug: Débogage pas à pas — posez des points d’arrêt, inspectez les variables, parcourez les hooks et contrôleurs ligne par ligne.xdebug.mode=profile: Génère des fichiers cachegrind montrant exactement où PHP passe du temps. Ouvrez-les dans KCacheGrind (Linux) ou QCacheGrind (macOS/Windows) pour trouver les goulots d’étranglement de performance.xdebug.mode=trace: Enregistre chaque appel de fonction. Utile pour comprendre le flux d’exécution de PrestaShop à travers son système de hooks.
# php.ini configuration for Xdebug 3
[xdebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.log=/tmp/xdebug.log
Utilisezstart_with_request=triggerau lieu de=yes. Avec=yes, Xdebug essaie de se connecter à votre IDE à chaque requête — y compris les appels AJAX, les requêtes d’images et les tâches cron. Avec=trigger, il ne s’active que lorsque vous l’activez explicitement via l’extension de navigateur ou un cookie. Cela maintient votre environnement de développement rapide.
Outils de build
Node.js + npm/Yarn
Node.js est requis pour compiler les ressources front-end dans les thèmes et modules PrestaShop modernes. Le thème Hummingbird (PrestaShop 8+) utilise Webpack. De nombreux modules utilisent Sass pour le prétraitement CSS et ont besoin de Node.js pour la compilation.
# Install Node.js 20 LTS (recommended)
# Via nvm (Node Version Manager) — the best way to manage Node versions:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 20
nvm use 20
# npm comes with Node.js
npm --version
# Yarn (alternative package manager, often faster)
npm install -g yarn
Utilisez npm ou Yarn — choisissez-en un et gardez-le pour chaque projet. Ne les mélangez pas. Les fichiers de verrouillage (package-lock.json vs yarn.lock) ne sont pas interchangeables.
Grunt — Empaquetage ZIP de modules
Grunt est un lanceur de tâches JavaScript. Dans le développement de modules PrestaShop, il est couramment utilisé pour construire des fichiers ZIP de distribution — combinant fichiers PHP, templates, ressources et configuration dans une archive prête à installer.
# Install Grunt CLI globally
npm install -g grunt-cli
# In your module directory:
npm install
# Run the default grunt task (typically: build ZIP)
grunt
Un Gruntfile bien configuré gère l’incrémentation de version, l’exclusion de fichiers (pas de .git, pas de node_modules, pas de fichiers de développement dans le ZIP), la compilation Sass et la validation — le tout en une seule commande. Quand vous devez publier une mise à jour de module, vous lancez grunt et obtenez un fichier ZIP propre, prêt à être téléversé.
Sass (Dart Sass) — Prétraitement CSS
Sass vous permet d’écrire du CSS avec des variables, de l’imbrication, des mixins et des fonctions. Les thèmes PrestaShop et de nombreux modules utilisent SCSS (la syntaxe de Sass compatible CSS) pour la mise en forme.
# Install Dart Sass
npm install -g sass
# Compile SCSS to CSS
sass src/scss/admin.scss:views/css/admin.css --style=compressed
# Watch for changes during development
sass --watch src/scss/:views/css/
Utilisez Dart Sass, pas Node Sass ni Ruby Sass — ceux-ci sont obsolètes. Dart Sass est l’implémentation de référence et est activement maintenue.
Dart Sass peut produire un BOM UTF-8 (Byte Order Mark) au début des fichiers CSS compilés. La plupart des navigateurs le gèrent bien, mais dans des cas particuliers, cela peut entraîner la suppression silencieuse de règles CSS. Si vous rencontrez des styles mystérieusement manquants, vérifiez et supprimez le BOM : sed -i '1s/^\xEF\xBB\xBF//' output.css
Webpack — Bundling de ressources
Webpack est un bundler de modules pour JavaScript et les ressources. Le thème Hummingbird de PrestaShop (le thème moderne par défaut depuis PS 8+) utilise Webpack pour son pipeline de build. Si vous créez des thèmes enfants ou devez personnaliser Hummingbird, vous travaillerez avec Webpack.
# In the Hummingbird theme directory:
npm install
npm run build # Production build
npm run dev # Development build with source maps
npm run watch # Watch mode — rebuilds on file changes
La configuration de Webpack peut être intimidante. La bonne nouvelle : le thème Hummingbird de PrestaShop fournit un webpack.config.js préconfiguré. Vous avez rarement besoin de le modifier, sauf si vous ajoutez des points d’entrée entièrement nouveaux ou changez le pipeline de build.
Bureautique et documentation
LibreOffice — Tableurs et documents
LibreOffice est la suite bureautique gratuite. Dans le développement PrestaShop, vous l’utiliserez pour :
- Calc (tableurs) : Édition de CSV pour l’import/export de produits. La fonctionnalité d’import de PrestaShop attend des formats CSV spécifiques — LibreOffice Calc gère l’encodage CSV, les délimiteurs et le mappage de colonnes mieux que la plupart des outils. Également utile pour les calculs de listes de prix, la gestion de stocks et la préparation de données clients.
- Writer (documents) : Contrats, documentation de modules, propositions clients. Ouvre et modifie les fichiers Microsoft Word.
- Impress (présentations) : Démos de modules, présentations clients, supports de formation.
Lors de l’édition de fichiers CSV pour l’import PrestaShop, sauvegardez toujours en UTF-8 avec BOM, séparateur virgule. Cela garantit que les caractères spéciaux (noms de produits accentués, symboles de devises) survivent au processus d’import.
Markdown — Documentation développeur
Markdown est le format universel pour la documentation développeur. Chaque dépôt de module devrait avoir un README.md avec les instructions d’installation, le guide de configuration et le changelog. GitHub, GitLab et Gitea affichent tous le Markdown de manière élégante.
# Module Name
## Installation
1. Upload via Back Office > Modules
2. Click Install
3. Configure in Module Settings
## Configuration
- **Option A:** Does X
- **Option B:** Does Y
## Changelog
### v1.2.0
- Added bulk import feature
- Fixed discount calculation for multi-shop
Gardez la documentation à côté du code qu’elle documente. Un fichier CLAUDE.md ou README.md à la racine du projet, mis à jour en même temps que le code, vaut plus qu’un wiki séparé que personne ne maintient.
OBS Studio — Enregistrement d’écran
OBS Studio est un logiciel gratuit et open source d’enregistrement d’écran et de streaming. Utilisez-le pour :
- Documentation de bugs : Enregistrez un bug se produisant étape par étape. Une vidéo de 30 secondes vaut mille mots dans un rapport de bug.
- Tutoriels de modules : Enregistrez des démonstrations d’installation et de configuration pour vos clients.
- Communication client : Montrez à un client exactement ce que vous avez corrigé et comment cela fonctionne maintenant.
- Partage de connaissances : Enregistrez votre processus de débogage pour que les membres de l’équipe puissent en apprendre.
OBS gère l’enregistrement d’écran, la superposition de webcam, le mixage audio et l’export direct en MP4. Il est nettement plus performant que n’importe quel enregistreur d’écran intégré.
Notre stack recommandée — Référence rapide
Voici la boîte à outils complète que nous utilisons quotidiennement, organisée par catégorie. Chaque outil est gratuit ou open source.
| Outil | Catégorie | Utilisation | Coût | Lien |
|---|---|---|---|---|
| VS Code | Éditeur | Éditeur de code principal avec support PHP, Smarty, Docker | Gratuit | code.visualstudio.com |
| PHP Intelephense | Extension éditeur | Intelligence PHP — auto-complétion, navigation vers la définition, erreurs | Gratuit / 25 $ unique | intelephense.com |
| Git | Gestion de versions | Suivre chaque changement, brancher, fusionner, déployer | Gratuit | git-scm.com |
| GitHub | Hébergement Git | Hébergement de dépôts, CI/CD, collaboration | Gratuit | github.com |
| Gitea | Hébergement Git | Serveur Git auto-hébergé pour les dépôts internes | Gratuit | about.gitea.com |
| Docker | Conteneurs | Exécuter simultanément plusieurs versions de PrestaShop | Gratuit | docker.com |
| GIMP 3.0 | Graphisme | Édition d’images — photos de produits, bannières, icônes | Gratuit | gimp.org |
| Inkscape | Graphisme | Icônes SVG, graphiques vectoriels pour thèmes et modules | Gratuit | inkscape.org |
| Photopea | Graphisme | Clone de Photoshop dans le navigateur — retouches PSD rapides | Gratuit | photopea.com |
| ImageMagick | Graphisme | Traitement d’images par lot — redimensionner, convertir, optimiser | Gratuit | imagemagick.org |
| Thunderbird | Communication | Client email pour la gestion et le support des boutiques | Gratuit | thunderbird.net |
| Discord | Communication | Communication d’équipe et de communauté | Gratuit | discord.com |
| Trilium Notes | Documentation | Base de connaissances auto-hébergée pour les notes de développement | Gratuit | github.com/zadam/trilium |
| Chrome DevTools | Tests | Débogage réseau, inspection du DOM, performance | Gratuit | Intégré à Chrome/Chromium |
| Playwright | Tests | Tests automatisés du navigateur sur tous les moteurs | Gratuit | playwright.dev |
| Lighthouse | Tests | Audit de performance, accessibilité, SEO | Gratuit | Intégré à Chrome DevTools |
| TrueNAS | Infrastructure | Serveur de stockage avec instantanés ZFS pour Docker | Gratuit | truenas.com |
| WireGuard | Infrastructure | VPN pour un accès distant sécurisé | Gratuit | wireguard.com |
| Nginx Proxy Manager | Infrastructure | Reverse proxy avec SSL pour les sites de développement | Gratuit | nginxproxymanager.com |
| Uptime Kuma | Infrastructure | Surveillance de toutes les instances PrestaShop | Gratuit | github.com/louislam/uptime-kuma |
| Rclone | Infrastructure | Synchronisation cloud — sauvegardes vers S3, B2, GDrive | Gratuit | rclone.org |
| DBeaver | Base de données | Gestion visuelle de bases de données avec diagrammes ER | Gratuit | dbeaver.io |
| phpMyAdmin | Base de données | Interface graphique web pour bases de données (disponible partout) | Gratuit | phpmyadmin.net |
| Composer | PHP | Gestion des dépendances pour modules et paquets | Gratuit | getcomposer.org |
| PHPStan | PHP | Analyse statique — détecter les bugs sans exécuter le code | Gratuit | phpstan.org |
| Xdebug 3 | PHP | Débogage pas à pas, profilage, traçage | Gratuit | xdebug.org |
| Node.js | Build | Runtime JavaScript pour la compilation des ressources | Gratuit | nodejs.org |
| Grunt | Build | Empaquetage ZIP de modules et automatisation de tâches | Gratuit | gruntjs.com |
| Dart Sass | Build | Compilation SCSS vers CSS | Gratuit | sass-lang.com |
| Webpack | Build | Bundling de ressources pour le thème Hummingbird | Gratuit | webpack.js.org |
| LibreOffice | Bureautique | Édition CSV pour les imports, documents, présentations | Gratuit | libreoffice.org |
| OBS Studio | Bureautique | Enregistrement d’écran pour tutoriels et rapports de bugs | Gratuit | obsproject.com |
Construire votre environnement — Par où commencer
Si vous mettez en place un environnement de développement PrestaShop à partir de zéro, voici l’ordre qui a le plus de sens :
- Installez Docker et Docker Compose. Tout le reste repose dessus. Suivez notre guide Docker.
- Installez VS Code avec les extensions listées ci-dessus. Ajoutez PHP Intelephense et l’extension Docker en premier.
- Initialisez des dépôts Git pour tous vos modules. Poussez vers GitHub ou votre Gitea auto-hébergé.
- Configurez Xdebug dans vos conteneurs Docker et configurez VS Code pour écouter. C’est la plus grande amélioration de productivité que vous puissiez faire.
- Ajoutez Composer à votre flux de travail. Commencez avec
composer initdans votre module et ajoutez l’autoloading. - Installez GIMP et ImageMagick. Vous aurez besoin de capacités d’édition d’images plus tôt que vous ne le pensez.
- Mettez en place la surveillance avec Uptime Kuma une fois que vous avez des boutiques en production à surveiller.
N’essayez pas d’adopter tout en même temps. Commencez avec Docker + VS Code + Git + Xdebug. Cette combinaison seule transformera votre productivité. Ajoutez d’autres outils à mesure que votre flux de travail les réclame.
Une note sur les licences logicielles
Chaque outil listé dans ce guide est gratuit ou open source. Nous croyons en l’utilisation de logiciels légaux — pas de copies piratées, pas de licences crackées, pas de modules « nulled ». L’open source vous fournit tout ce dont vous avez besoin pour un développement PrestaShop professionnel.
Les outils listés ici ne sont pas des compromis ou des alternatives « assez bonnes pour du gratuit ». GIMP est un éditeur d’images véritablement puissant. VS Code est utilisé par des millions de développeurs professionnels. Docker est le standard industriel pour la conteneurisation. PHPStan détecte de vrais bugs en production. Ces outils sont les meilleurs de leur catégorie, et il se trouve qu’ils sont gratuits.
Si vous êtes un développeur PrestaShop qui utilise encore des logiciels crackés, considérez ceci : l’intégralité de la stack de développement ci-dessus coûte exactement zéro euro. Le temps que vous passez à chercher, installer et gérer des logiciels crackés est du temps que vous pourriez consacrer à développer des modules et servir vos clients. Et vous ne recevrez jamais de lettre de conformité de licences.
Soutenez l’écosystème open source qui rend votre travail possible. Utilisez des outils gratuits légalement. Contribuez en retour quand vous le pouvez — rapports de bugs, documentation, même une étoile GitHub aide. Les outils existent parce que des gens les ont construits pour que tout le monde puisse les utiliser. Respectez cela.
More guides available
Browse our knowledge base for more practical PrestaShop tutorials, or reach out if you need help.