TECHNOLOGIES / PHPStorm
PHPStorm : le meilleur IDE pour programmer en PHP
PHPStorm est l'IDE édité par JetBrains spécialement conçu pour le PHP. Il intègre des fonctionnalités intelligentes qui permettent aux développeurs d'être plus productifs et de s'épanouir dans leur travail.
Toute l'équipe SmartBooster l'utilise au quotidien et il fonctionne parfaitement sur Linux !.
PRÉSENTATION
Qu'est-ce que PHPStorm ?
PHPStorm est un IDE (environnement de développement intégré) édité par la société JetBrains, spécialement conçu pour le langage de programmation PHP. Il comprend le code de votre projet en profondeur et vous donne accès à des fonctionnalités intelligentes : coloration syntaxique avancée, autocomplétion contextuelle, génération de code, refactoring de méthode, variable ou classe, détection d'erreurs de syntaxe et respect de vos standards de formatage.
Un autre avantage de PHPStorm est qu'il s'intègre parfaitement avec l'écosystème PHP : Git, PHPUnit, XDebug, Composer, mais aussi vos bases de données MySQL, SQLite et PostgreSQL. Il supporte nativement les principaux frameworks PHP (Symfony, Laravel, WordPress...) et frontend (Vue.js, React, Angular). Il fonctionne parfaitement sur Linux.
Le logiciel est payant pour un usage professionnel, mais JetBrains propose des versions gratuites pour les étudiants, les projets open source et certains usages.
POURQUOI PHPSTORM
Ce qui en fait notre standard de développement
PHPStorm est présent sur tous les postes de l'équipe SmartBooster. Voici les fonctionnalités qui ont fait la différence.
Compréhension profonde du code
PHPStorm analyse votre projet en profondeur : autocomplétion contextuelle, détection d'erreurs de syntaxe, navigation entre classes et méthodes. Le refactoring (renommage de variable, extraction de méthode) est sûr et instantané.
Intégration native avec l'écosystème PHP
PHPUnit, XDebug, Composer, Git → tout est intégré sans configuration supplémentaire. Les tests s'exécutent depuis l'IDE et les points d'arrêt fonctionnent en un clic avec XDebug.
Support multi-langages
En plus du PHP, PHPStorm gère HTML5, CSS, Sass, TypeScript, Vue.js, React, Bash et Makefile. Un seul outil couvre l'ensemble de la stack d'un projet Symfony avec frontend Vue.js.
Client base de données intégré
La connexion aux bases MySQL, SQLite et PostgreSQL est native. Explorez vos tables, exécutez des requêtes SQL et visualisez les données sans quitter l'IDE.
Support natif des frameworks
Symfony, Laravel, Vue.js, React, Angular → PHPStorm reconnaît les conventions de chaque framework et adapte son autocomplétion, ses inspections et ses raccourcis en conséquence.
Parfaitement adapté à Linux
PHPStorm est un des rares IDE professionnels à fonctionner aussi bien sur Linux que sur macOS ou Windows. Un avantage clé pour une équipe qui développe principalement sous Linux.
INTELLIGENCE ARTIFICIELLE
JetBrains AI : AI Assistant et Junie
JetBrains intègre l'IA directement dans PHPStorm à travers deux produits distincts. Ces outils partagent le contexte de votre projet ouvert dans l'IDE et s'utilisent sans quitter l'éditeur.
AI Assistant : l'IA intégrée à l'éditeur
AI Assistant est intégré directement dans PHPStorm. Il propose de la complétion de code contextuelle, de la génération de code, des explications inline et une aide à la rédaction de tests. Il a accès à l'ensemble du contexte du projet ouvert dans l'IDE.
Junie : l'agent IA autonome
Junie est l'agent IA de JetBrains capable d'exécuter des tâches complexes de manière autonome : analyser un bug, appliquer un refactoring sur plusieurs fichiers, écrire et lancer des tests. Il opère directement dans l'IDE sur votre codebase.
JetBrains AI vs Claude Code
AI Assistant et Junie excellent dans l'interface graphique de l'IDE : accès immédiat, intégration visuelle, raccourcis clavier. Claude Code opère en ligne de commande, gère des tâches plus longues sur l'ensemble du projet et s'affranchit des limites de l'éditeur. Les deux outils sont complémentaires.
BONNES PRATIQUES & DOCUMENTATION
Nos conventions PHPStorm
Documentation de référence pour l'équipe SmartBooster.
Dump avec le client sql Phpstorm
Dump avec le client sql Phpstorm
Pour les dumps et imports, on préfère le client de PhpStorm car il permet de configurer facilement les bons exécutables selon la version du serveur, tout en offrant un processus d'import beaucoup plus robuste et fiable que Workbench.
Clic droit sur la base puis import/export puis choisir "Export with mysqldump"

Options
Par défaut, l'outil mysqldump active automatiquement un groupe d'options appelé --opt. Ce groupe inclut Les options :
--add-locks: Cette option ajoute des instructionsLOCK TABLES ... WRITE;etUNLOCK TABLES;à l'intérieur du fichier.sqlgénéré. Lors de la restauration, MySQL bloquera temporairement la table pour insérer les données d'un coup sec, ce qui accélère énormément la vitesse d'importation.--create-options: Force MySQL à inclure toutes ses options spécifiques (comme le moteur de stockageENGINE=InnoDB, leDEFAULT CHARSET, ou l'incrémentation de départ) dans la ligneCREATE TABLEdu fichier final.--lock-tables: A désactivé : Demande à MySQL de verrouiller les tables en lecture pendant qu'il les exporte.--disable-keys: Ajoute une commande dans le fichier.sqlpour dire à MySQL : "Désactive la mise à jour des index pendant que tu insères les millions de lignes, et recrée les index globalement à la toute fin". Cela évite au serveur de recalculer les index à chaque ligne ajoutée lors d'un futur import, divisant le temps de restauration par 4 ou 5.--add-drop-table: Écrit unDROP TABLE IF EXISTS \ma_table`;juste avant chaqueCREATE TABLE` dans ton fichier de sauvegarde. Si réimportation de cette sauvegarde sur une base qui contient déjà d'anciennes tables du même nom, elle les écrasera proprement.--extended-insert: Au lieu d'écrire une ligne de commandeINSERT INTO...pour chaque ligne de ta base, MySQL va regrouper les données (ex:INSERT INTO table VALUES (1), (2), (3)...). Cela réduit drastiquement la taille finale de ton fichier.sqlet rend la lecture par MySQL beaucoup plus rapide.
Autres options :
--single-transaction: à ajouter dans la commande de dump, ne bloque pas la base pendant la génération d'un dump.mysqldumpva utiliser un mécanisme propre au moteur InnoDB : le snapshot (instantané) transactionnel. Sans cette option, la base devient indisponible lors du dump
En résumé :
Il faut juste supprimer --lock-tables et ajouter --single-transaction . Il est possible de modifier la commande dans le client phpstorm.
Exemple de commande :
"nom_base" --single-transaction --result-file="/home/user/Téléchargements/{data_source}-{timestamp}-dump.sql" --skip-add-locks
Import avec le client phpstorm
Import avec le client phpstorm
Pour les dumps et imports, on préfère le client de PhpStorm car il permet de configurer facilement les bons exécutables selon la version du serveur, tout en offrant un processus d'import beaucoup plus robuste et fiable que Workbench.
Clic droit sur la base puis import/export puis choisir "Restore with mysql"

Durant l'import, la base reste disponible en écriture, mais les données sont surchargé à un moment ou à un autre par les nouvelles.
Pour aller plus loin
Documentation utile
Documentation, téléchargement et présentation des fonctionnalités de PHPStorm.
L'assistant IA intégré à PHPStorm pour la complétion, la génération et l'explication de code.
Agent IA capable d'exécuter des tâches complexes de manière autonome directement dans l'IDE.
Licences étudiants, open source, startups et autres programmes de réduction JetBrains.
Pour aller plus loin
Approfondir votre réflexion
PHPStorm est l'IDE de référence de l'équipe SmartBooster. Il accélère le développement PHP et Symfony grâce à une intégration profonde du framework.
PHPStorm embarque le plugin Symfony officiel : autocomplétion des services, navigation dans les templates Twig et accès aux routes depuis l'IDE.
PHPStorm est conçu spécifiquement pour PHP : inspection de code, refactoring assisté et débogage intégré avec Xdebug font de lui l'outil idéal pour les projets PHP.
PHPStorm fonctionne nativement sous Linux, l'environnement de développement de toute l'équipe SmartBooster et le système de nos serveurs de production.
Vous avez un projet ?
Contactez-nous pour savoir comment nous pouvons vous aider.