Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
visual_studio_code [Le 17/03/2024, 13:51]
82.66.208.97 [Débogage local et depuis un serveur local - un sel fichier de configuration]
visual_studio_code [Le 06/03/2025, 21:13] (Version actuelle)
109.223.94.29 [Déboguer avec Xdebug et VSCodium (ou VSCode)]
Ligne 6: Ligne 6:
 [[wpfr>​Visual Studio Code]] (ou //VSCode//) est un logiciel de développement créé par Microsoft. Il est compatible avec linux, et est publié sous double licence, libre ou propriétaire. La version Microsoft est sous licence propriétaire,​ avec quelques [[https://​vscodium.com/#​why|adjonctions]],​ comme de la télémétrie ou un logo MS. [[wpfr>​Visual Studio Code]] (ou //VSCode//) est un logiciel de développement créé par Microsoft. Il est compatible avec linux, et est publié sous double licence, libre ou propriétaire. La version Microsoft est sous licence propriétaire,​ avec quelques [[https://​vscodium.com/#​why|adjonctions]],​ comme de la télémétrie ou un logo MS.
  
-La version libre, quasi similaire mais sans [[https://​vscodium.com/#​why|les ajouts de Microsoft]],​ s'​appelle [[https://​vscodium.com/​|VSCodium]].+La version libre, quasi similaire mais sans les [[https://​vscodium.com/#​why|ajouts ​propriétaires et intrusifs ​de Microsoft]],​ s'​appelle [[https://​vscodium.com/​|VSCodium]].
  
 La page ci-dessous vous explique comment installer l'une ou l'​autre version, à votre convenance. La page ci-dessous vous explique comment installer l'une ou l'​autre version, à votre convenance.
Ligne 47: Ligne 47:
 sudo snap install code --classic sudo snap install code --classic
 </​code>​ </​code>​
- 
  
 ==== Installation (VSCodium) ==== ==== Installation (VSCodium) ====
Ligne 126: Ligne 125:
  
 ==== Déboguer avec Xdebug ​ et VSCodium (ou VSCode) ==== ==== Déboguer avec Xdebug ​ et VSCodium (ou VSCode) ====
-===== Débogage depuis un serveur local =====  + 
-Xdebug permet de déboguer des fichiers php avec VSCodium ou VSCode. ​  +**Xdebug** permet de déboguer des fichiers [[:PHP]] avec **VSCodium** ou **VSCode**. 
 + 
 +=== Débogage depuis un serveur ​web local === 
 Pour un débogage depuis le serveur, tout est expliqué dans cette vidéo((voir [[https://​www.youtube.com/​watch?​v=MmyxWy8jl7U|cette vidéo]])) ((d'​après [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2082060|ce sujet]] sur le forum)) Pour un débogage depuis le serveur, tout est expliqué dans cette vidéo((voir [[https://​www.youtube.com/​watch?​v=MmyxWy8jl7U|cette vidéo]])) ((d'​après [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2082060|ce sujet]] sur le forum))
 Par contre, dans la vidéo, il ne respecte pas les droits/​propriétés des fichiers/​dossiers dans le dossier /var/www (voir le paragraphe "10.1 permissions"​ de la page [[:​apache2]] ). Et cette version ne permet que déboguer depuis le serveur local. Par contre, dans la vidéo, il ne respecte pas les droits/​propriétés des fichiers/​dossiers dans le dossier /var/www (voir le paragraphe "10.1 permissions"​ de la page [[:​apache2]] ). Et cette version ne permet que déboguer depuis le serveur local.
-===== Débogage local et depuis un serveur local - un sel fichier de configuration ===== 
-1 - Installer xdebug ===== 
-<​file>​ sudo apt install php-xdebug </​file>​ 
-la suite est en cours de rédaction (problème de mise en page) 
  
 +=== Débogage sans serveur ou depuis un serveur web local - un seul fichier de configuration ===
  
-==== Extension VSCodium Five Server ​fichiers HTML et PHP ====+Installer xdebug
  
-Pour tester rapidement les fichiers [[:PHP]] sans avoir à passer par le serveur ​[[:LAMP]], on peut installer l'extension [[https://open-vsx.org/extension/yandeu/five-server|Live Server (Five Serveur)]] sur VSCodium.((d'après [[https://forum.ubuntu-fr.org/viewtopic.php?​id=2082060|ce sujet]] sur le forum))+Installer Xdebug ​: 
 +<​code>​sudo apt install php-xdebug</​code>​ 
 +Vérifier la bonne installation : 
 +<​code>​ 
 +utilisateur@utilisateur-ThinkCentre-M700:​~$ php -v 
 +PHP 8.3.6 (cli) (built: Dec  2 2024 12:36:18) (NTS) 
 +Copyright (c) The PHP Group 
 +Zend Engine v4.3.6, Copyright (c) Zend Technologies 
 +    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies 
 +    with Xdebug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans 
 +</​code>​ 
 +<​note>​ Ces informations permettent de voir si Xdebug est installé et de repérer la version de PHP (8.3 ci-dessus). Les lignes de commande ci-dessous seront ​à adapter suivant vos versions</​note>​ 
 +On peut utiliser deux fichiers pour la configuration de Xdebug. Le premier pour une session "​CLI"​ ( interface de ligne de commande - sans serveur) le deuxième pour le serveur ​web local\\ 
 +  * ''/etc/php/8.1/cli/conf.d/20-xdebug.ini''​ 
 +  * ''/etc/php/8.1/​apache2/​conf.d/20-xdebug.ini''​
  
-3 configurations à effectuer (//File// -//Preferences// -//Settings//, puis on tape ''​Five Server'' ​dans la barre de recherche):+2 - On va effacer ces deux fichiers et créer des liens symboliques vers le fichier ou se trouvera la configuration de xdebug. Un appel de ''​/etc/php/8.1/cli/​conf.d/​20-xdebug.ini''​ ou de ''​/etc/php/8.1/apache2/​conf.d/​20-xdebug.ini''​ nous ramènera vers le fichiers de configuration (''​/etc/php/8.1/mods-available/​xdebug.ini''​). Cela permet de n'avoir qu'un seul fichier ​de configuration.
  
 +Effacer ''/​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini''​ :
 +<​code>​sudo rm /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini</​code>​
 +Effacer /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini:​
 +<​code>​sudo rm /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini</​code>​
 +
 +3 - Créer le premier lien symbolique:
 +<​code>​sudo ln -s /​etc/​php/​8.1/​mods-available/​xdebug.ini /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini</​code>​
 +Puis le deuxième lien symbolique:
 +<​code>​sudo ln -s /​etc/​php/​8.1/​mods-available/​xdebug.ini /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini</​code>​
 +
 +4 - Puis configurer l'​unique fichier de configuration /​etc/​php/​8.1/​mods-available/​xdebug.ini:​
 +<​code>​zend_extension=xdebug.so
 +xdebug.mode = develop, debug
 +xdebug.start_with_request = yes
 +xdebug.log = /​tmp/​xdebug.log
 +xdebug.client_host = localhost
 +xdebug.client_port = 9003</​code>​
 +
 +5 - Redémarrer apache2:
 +<​code>​sudo systemctl restart apache2</​code>​
 +
 +6 - Créer un fichier ''​phpinfo.php''​ dans lequel, on met:
 +<​code><?​php
 +phpinfo();</​code>​
 +On place ce fichier sur le serveur local dans le dossier /​var/​www/​html et on lance l'url [[http://​localhost/​phpinfo.php]] du fichier avec un navigateur web.
 +Vérifier la bonne installation de Xdebug:
 +<​code>​This program makes use of the Zend Scripting Language Engine:
 +Zend Engine v4.1.2, Copyright (c) Zend Technologies
 +    with Zend OPcache v8.1.2-1ubuntu2.14,​ Copyright (c), by Zend Technologies
 +    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans</​code>​
 +Il existe un paragraphe concernant Xdebug sur cette page ou on peut créer un fichier xdebug_infos.php dans lequel il faut insérer
 +<​code><?​php ​
 +xdebug_info();</​code>​
 +On doit également placer ce fichier dans le dossier /​var/​www/​html \\ 
 +on lance le fichier avec l'URL [[http://​localhost/​xdebug_info.php]]
 +On y retrouve les paramètres de réglage que l'on a effectué dans le fichier /​etc/​php/​8.1/​mods-available/​xdebug.ini
 +
 +=== Comment déboguer? ===
 +
 +Xdedug fonctionne de deux manières:
 +
 +1 - avec une session CLI (sans serveur et sans fichier de configuration launch.json):​ \\
 +- Ouvrir votre fichier avec VSCode \\
 +- Mettre des points d'​arrêt \\
 +- Lancer l'​application avec l'​option "Start Debugging"​. Le de débogueur devient opérationnel \\
 +
 +2 - avec un serveur local: \\
 +- Ouvrir votre fichier avec VSCode \\
 +- Créer un fichier launch.json file (section "run and debbug"​ dans la partie gauche de l'​interface) \\
 +- Créer ​ un(des) breakpoint(s) \\
 +- Démarrer l'​application avec l'​option "Start Debugging"​.\\
 +-  Lancer l'​application avec un navigateur internet (localhost/​my-progam.php).Le débogueur démarre.
 +
 +3 - avec le serveur web interne PHP: 
 +- Lancer le serveur PHP sur le port 8082 (par exemple) en local:
 +<​code>​ php -S localhost:​8082</​code>​
 +- Créer un fichier launch.json file si besoin (section "run and debbug"​ dans la partie gauche de l'​interface) \\
 +- Démarrer l'​application avec l'​option "Start Debugging"​.\\
 +- Lancer une requête HTTP avec le logiciel POSTMAN (par exemple) ou depuis un navigateur internet pour une requête GET.\\
 +- Le débogueur devrait démarrer aussitôt. ​
 +
 +=== le fichier launch.json de symphony ===
 +
 +pour pouvoir déboguer Symfony, il faut utiliser le fichier ''​launch.json''​ suivant:
 +<​code>​
 +{
 +    "​version":​ "​0.2.0",​
 +    "​configurations":​ [
 +      {
 +        "​name":​ "​Listen for Xdebug",​
 +        "​type":​ "​php",​
 +        "​request":​ "​launch",​
 +        "​port":​ 9003,
 +        "​pathMappings":​ {
 +          "​nom_du_dossier_du_projet":​ "​${workspaceFolder}"​
 +        },
 +        "​xdebugSettings":​ {
 +          "​max_children":​ 512,
 +          "​max_data":​ 1024,
 +          "​max_depth":​ 5
 +        }
 +      }
 +    ]
 +  }
 +</​code>​
 +  ​
 +==== Serveurs web PHP ====
 +
 +[[:PHP]] permet de lancer un [[:​php#​serveur|serveur web simple]]. Celui-ci peut être utilisé depuis **VScode**.
 +
 +=== Extension Live Server ===
 +
 +Pour tester rapidement les fichiers [[:PHP]] sans avoir à passer par le serveur [[:LAMP]], on peut installer l'​extension "Live Server"​ depuis VSCode ou VSCodium.
 +Configuration:​
 +(//File// -> //​Preferences//​ -> //​Settings//,​ puis on tape ''​Live Server''​ dans la barre de recherche):
   - Executable : ''/​usr/​bin/​php''​   - Executable : ''/​usr/​bin/​php''​
   - PHP.ini : ''/​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini''​ (à adapter, éventuellement)   - PHP.ini : ''/​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini''​ (à adapter, éventuellement)
   - Port : ''​9300''​   - Port : ''​9300''​
 +
 +=== Serveur web interne Symfony ===
 +
 +Le serveur PHP précédent fonctionne mais le serveur de Symfony est plus complet dans le cadre de l'​utilisation de ce framework.
 +Pour le lancer:
 +<​code>​symfony server:​start</​code>​
 +pour le stopper:
 +<​code>​symfony server:​stop</​code>​
  
 ===== Désinstallation ===== ===== Désinstallation =====
  • visual_studio_code.1710679896.txt.gz
  • Dernière modification: Le 17/03/2024, 13:51
  • par 82.66.208.97