đ PhpED â IDE PHP, DĂ©bogage & Profiling
Guide complet IDEO-Lab pour maßtriser l'IDE de NuSphere, du débogage à distance au profiling.
Vue d'ensemble
Qu'est-ce que PhpED ? L'IDE de NuSphere.
IDE PHP NuSpherevs. PhpStorm / VS Code
Comparaison (LĂ©ger, DĂ©bogueur vs ĂcosystĂšme).
PhpStorm VS Code DébogueurInstallation
Windows, Linux (deb/rpm), macOS.
Windows macOS LinuxGestion de Projet
Projets .ppj, Interpréteurs (PHP Path).
Ăditeur & ComplĂ©tion
Smart completion, PHPDoc, PSR-12.
Completion PHPDoc PSR-12Navigation
Go to Definition, Find Usages, Symbol Browser.
Go to Definition NavigationDébogueur (Local)
Point fort : dbgp, Xdebug, Breakpoints.
Debugger Xdebug F5Débogage (Avancé)
Débogage à distance, Multi-session, HTTPS.
Remote Debug Multi-sessionProfiling
Intégration Xdebug, KCachegrind.
Profiler Xdebug PerformanceFrameworks
Support Laravel, Symfony, Yii, WordPress.
Laravel Symfony WordPressOutils (Composer)
Interface graphique pour Composer (Install, Update).
Composer DépendancesOutils (Git)
Intégration VCS (Commit, Diff, History).
Git VCSOutils (Base de Données)
Client SQL (MySQL, PgSQL, SQLite...).
SQL DatabaseTests (PHPUnit)
Test runner graphique pour PHPUnit.
PHPUnit TestsDéploiement
Gestionnaire intégré (FTP, SFTP, WebDAV).
FTP SFTP DéploiementCheat-sheet
Raccourcis clés (Debug, Navigation).
Shortcuts RaccourcisL'IDE PHP de NuSphere
PhpED est un IDE (Environnement de Développement Intégré) commercial développé par NuSphere, spécifiquement pour le développement PHP.
C'est un IDE "historique" (existant depuis 2002), reconnu pour son dĂ©bogueur extrĂȘmement robuste (local et distant) et sa relative lĂ©gĂšretĂ© par rapport Ă d'autres IDE complets.
Il intÚgre des outils pour tout le cycle de développement : édition, débogage, profiling, tests, et déploiement.
Flux de travail typique
1. Création Projet (.ppj)
â
âŒ
2. Configuration Interpréteur
â (Local, ou Remote/SSH)
âŒ
3. Codage
â (Ăditeur, PHPDoc, Smart completion)
âŒ
4. Debug (Point Fort)
â (Local (F5) ou Remote)
âŒ
5. Tests
â (Lancement de PHPUnit)
âŒ
6. Déploiement
â (Via FTP/SFTP intĂ©grĂ©)
âŒ
7. Commit (VCS)PhpED se positionne comme un IDE complet, en concurrence directe avec PhpStorm et VS Code (avec extensions).
| CritĂšre | PhpED | PhpStorm (JetBrains) | VS Code + Extensions |
|---|---|---|---|
| Type | IDE IntĂ©grĂ© | IDE IntĂ©grĂ© | Ăditeur Modulaire |
| Point Fort | DĂ©bogueur (surtout remote), LĂ©gĂšretĂ©. | Refactoring, ĂcosystĂšme JetBrains. | Gratuit, ĂcosystĂšme, LĂ©gĂšretĂ©. |
| Performance | Généralement plus rapide au démarrage. | Plus lourd (Indexation). | TrÚs léger, mais s'alourdit avec les extensions. |
| Refactoring | Bon (Rename, Extract). | Excellent ("Safe" refactoring). | Bon (dépend des extensions). |
| Débogueur | Excellent (dbgp, remote). | Excellent (Xdebug). | Bon (Xdebug), mais configuration manuelle (launch.json). |
| ModĂšle | Commercial (Payant). | Commercial (Payant, abonnement). | Gratuit. |
En résumé : PhpED est souvent choisi par les développeurs qui priorisent un débogueur "industriel" et une expérience IDE "tout-en-un" plus légÚre que PhpStorm.
L'installation se fait via les installeurs standards téléchargés depuis le site nusphere.com. PhpED est un produit commercial, mais offre une version d'essai.
| OS | Installeur |
|---|---|
| Windows | Installeur .exe (32-bit et 64-bit). |
| macOS | Image .dmg (Intel et Apple Silicon). |
| Linux | Paquets .deb (Ubuntu/Debian) ou .rpm (Fedora/RHEL). |
L'IDE est centré sur la notion de "Projet", qui est définie par un fichier .ppj.
Fichier Projet (.ppj)
Le fichier .ppj stocke toutes les configurations du projet :
- La racine du projet (Root Directory).
- Le "PHP Include Path".
- Les configurations de déploiement (FTP/SFTP).
- Les configurations de débogage.
Configuration de l'Interpréteur
PhpED doit savoir quel exécutable PHP utiliser (php.exe ou /usr/bin/php) pour l'analyse, la complétion et le débogage.
Vous le configurez dans Tools > Settings > PHP ou dans les propriétés du projet.
Il peut s'agir d'un interpréteur local ou d'un interpréteur distant (via SSH/Remote Debug).
Auto-complétion "Smart"
PhpED fournit une auto-complétion contextuelle :
- Complétion des classes, méthodes, variables.
- Compréhension des Type Hints (
: string,: int). - PHPDoc : Lit et génÚre les blocs
@param,@returnpour affiner la complétion. - Complétion HTML, CSS, et JavaScript.
Analyse Statique (Inspections)
PhpED analyse votre code en temps réel pour détecter les problÚmes :
- Variables non utilisées.
- Erreurs de syntaxe.
- Code mort (inaccessible).
Formatage (PSR-12)
L'IDE intĂšgre un formateur de code (Code Formatter) qui peut ĂȘtre configurĂ© pour suivre les standards (PSR-12) ou vos propres rĂšgles de style.
C'est le point fort de PhpED. Il est réputé pour sa stabilité et sa facilité d'utilisation.
PhpED utilise le protocole dbgp et s'intÚgre parfaitement avec Xdebug. NuSphere fournit également son propre "DBG" (PHP Debugger) si Xdebug n'est pas disponible.
Lancement (F5)
Lancer le dĂ©bogage (F5) dĂ©marre le script et s'arrĂȘte au premier breakpoint.
Stepping (Navigation pas-Ă -pas)
Une fois arrĂȘtĂ©, vous utilisez les raccourcis de stepping :
F10(Step Over) : Exécute la ligne (sans entrer dans les fonctions).F11(Step Into) : Entre dans la fonction.Shift + F11(Step Out) : Sort de la fonction.
FenĂȘtres de Debug
- Call Stack : Pile d'appels.
- Variables / Watch : Inspecter les variables (locales, globales) et ajouter des "watches".
- Evaluate (
Ctrl+F7) : Ăvaluer une expression dans le contexte actuel.
C'est lĂ que PhpED brille, notamment par rapport aux configurations complexes de VS Code.
Débogage à Distance (Remote Debug)
PhpED est conçu pour le débogage de code sur un serveur distant (production, staging).
Fonctionnement :
- L'IDE "écoute" les connexions dbgp sur votre machine.
- Le serveur (avec Xdebug) est configuré pour se connecter à l'IP de votre IDE (
xdebug.remote_host). - Vous lancez une requĂȘte sur le serveur (ex: dans votre navigateur avec le cookie Xdebug).
- Le serveur contacte l'IDE, qui intercepte l'exécution. Vous déboguez le code distant comme s'il était local.
Débogage Multi-Session
PhpED peut gérer plusieurs sessions de débogage simultanément, ce qui est utile pour les applications complexes (ex: API, workers).
PhpED s'intĂšgre avec le profileur de Xdebug pour analyser la performance de votre application.
Analyse des "goulots d'étranglement"
Lorsque vous lancez le profiler, Xdebug génÚre un fichier (cachegrind.out...) qui détaille le temps passé dans chaque fonction.
PhpED peut lire ces fichiers et les afficher dans une interface graphique :
- Liste des fonctions (triées par temps d'exécution).
- Nombre d'appels.
- "Call Graph" (Arbre d'appels).
Cela vous permet d'identifier les fonctions lentes ("hotspots") qui doivent ĂȘtre optimisĂ©es.
PhpED intÚgre une compréhension des principaux frameworks PHP pour améliorer l'auto-complétion et la navigation.
| Framework | Support |
|---|---|
| Laravel | Auto-complétion des Facades, navigation vers les vues (view()), routes. |
| Symfony | Compréhension du conteneur de services (DI), navigation des templates Twig. |
| Yii | Support du framework Yii. |
| WordPress | Auto-complétion des fonctions et hooks de WordPress. |
| Smarty/Twig | Coloration syntaxique et débogage des templates. |
PhpED intÚgre une interface graphique pour Composer, le gestionnaire de dépendances de PHP.
L'outil (menu Tools > Composer) permet de :
- Lancer
composer installoucomposer updatedepuis l'UI. - Ajouter de nouvelles dépendances (
require). - Gérer les scripts Composer.
- Voir les dépendances installées.
PhpED intĂšgre une interface graphique pour les systĂšmes de gestion de versions (VCS).
SystÚmes supportés :
- Git
- Subversion (SVN)
Outil "VCS"
La fenĂȘtre d'outil permet de :
- Commit : Voir les modifications (diff), sélectionner des fichiers, écrire le message.
- History : Voir l'historique (log) du projet ou d'un fichier.
- Push / Pull / Fetch : Gérer les dépÎts distants.
- Branches : Gérer les branches (créer, fusionner).
PhpED inclut un client de base de données (similaire à DataGrip ou DBeaver) pour se connecter à vos bases de données de développement.
Supporte : MySQL, PostgreSQL, SQLite, SQL Server, Oracle...
Database Explorer
Une fenĂȘtre d'outil pour :
- Configurer les connexions (Data Sources).
- Naviguer dans les schémas, tables, vues.
Ăditeur SQL
Permet d'ouvrir une console de requĂȘte :
- Auto-complétion SQL (tables, colonnes).
- ExĂ©cution de requĂȘtes.
- Ăditeur de Table : Voir et modifier les donnĂ©es dans un tableau.
PhpED intĂšgre un "Test Runner" graphique pour PHPUnit.
Lancement des Tests
L'outil "PHPUnit" (menu Tools) vous permet de :
- Configurer le chemin vers
phpunit.xmlou le binaire PHPUnit. - Lancer tous les tests, ou un fichier/méthode spécifique.
- Déboguer un test (lancer un test avec le débogueur attaché).
FenĂȘtre de RĂ©sultats
Le "Test Runner" affiche :
- Une vue arborescente (Barre Verte / Barre Rouge) des tests passés/échoués.
- Le "stdout" et les "diff" d'assertions.
PhpED intÚgre un gestionnaire de déploiement, trÚs utile pour les environnements (anciens) non-CI/CD ou pour la synchronisation rapide avec un serveur de dev.
Protocoles Supportés
- FTP
- SFTP (SSH)
- WebDAV
Workflow
Dans les "Project Properties", vous pouvez configurer un ou plusieurs serveurs distants. L'IDE vous permet ensuite de :
- Naviguer dans les fichiers distants.
- Uploader/Downloader des fichiers (manuellement).
- Synchroniser : Comparer (diff) votre projet local avec le distant et n'uploader que les fichiers modifiés.
- Uploader au sauvegardage : (Dangereux mais rapide) Uploader un fichier dĂšs que vous le sauvegardez (
Ctrl+S).
Les raccourcis de PhpED sont différents de ceux de JetBrains.
Débogage (Clé)
F5 (Start / Continue Debug) Shift + F5 (Stop Debugger) F10 (Step Over) F11 (Step Into) Shift + F11 (Step Out) Ctrl + B (Toggle Breakpoint)
Navigation & Ădition
F12 (Go to Definition) Shift + F12 (Find Usages) Ctrl + G (Go to Line) Ctrl + F (Find in current file) Ctrl + Shift + F (Find in Files)
