Différences
Ci-dessous, les différences entre deux révisions de la page.
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, 17:20] 82.66.208.97 [Déboguer avec Xdebug et VSCodium (ou VSCode)] |
visual_studio_code [Le 09/09/2024, 12:43] (Version actuelle) krodelabestiole |
||
---|---|---|---|
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) ==== | ||
+ | |||
**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 === | === 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 ou depuis un serveur web local - un seul fichier de configuration === | + | |
+ | === Débogage sans seveur ou depuis un serveur web local - un seul fichier de configuration === | ||
1 - Installer xdebug | 1 - Installer xdebug | ||
Installer Xdebug: | Installer Xdebug: | ||
Ligne 137: | Ligne 141: | ||
<file>php -v</file> | <file>php -v</file> | ||
donne: | donne: | ||
- | <file>gerard@gerard-ThinkCentre-M700:~$ php -v | + | <file>gerard@gerard-ThinkCentre-M700:~$ php -v permet de voir si Xdebug est installé. |
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS) | PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS) | ||
Copyright (c) The PHP Group | Copyright (c) The PHP Group | ||
Ligne 146: | Ligne 150: | ||
</file> | </file> | ||
- | + | 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: \\ | |
- | On peut utiliser deux fichiers pour la configuration de Xdebug. Le premier pour une session "CLI" (sans serveur) le deuxième pour le serveur web local: \\ | + | |
* /etc/php/8.1/cli/conf.d/20-xdebug.ini \\ | * /etc/php/8.1/cli/conf.d/20-xdebug.ini \\ | ||
* /etc/php/8.1/apache2/conf.d/20-xdebug.ini \\ | * /etc/php/8.1/apache2/conf.d/20-xdebug.ini \\ | ||
Ligne 153: | Ligne 156: | ||
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. | 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: | + | Effacer /etc/php/8.1/cli/conf.d/20-xdebug.ini: |
- | <file>gerard@gerard-ThinkCentre-M700:~$ sudo rm /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> | + | <file>sudo rm /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> |
Effacer /etc/php/8.1/apache2/conf.d/20-xdebug.ini: | Effacer /etc/php/8.1/apache2/conf.d/20-xdebug.ini: | ||
- | <file>/etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> | + | <file>sudo rm /etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> |
- | 3 - Créee le premier lien symbolique: | + | 3 - Créer le premier lien symbolique: |
<file>sudo ln -s /etc/php/8.1/mods-available/xdebug.ini /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> | <file>sudo ln -s /etc/php/8.1/mods-available/xdebug.ini /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> | ||
Puis le deuxième lien symbolique: | Puis le deuxième lien symbolique: | ||
<file>sudo ln -s /etc/php/8.1/mods-available/xdebug.ini /etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> | <file>sudo ln -s /etc/php/8.1/mods-available/xdebug.ini /etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> | ||
- | 4 - Puis configurer l'unique fichierde configuration /etc/php/8.1/mods-available/xdebug.ini: | + | 4 - Puis configurer l'unique fichier de configuration /etc/php/8.1/mods-available/xdebug.ini: |
<file>zend_extension=xdebug.so | <file>zend_extension=xdebug.so | ||
xdebug.mode = develop, debug | xdebug.mode = develop, debug | ||
Ligne 171: | Ligne 174: | ||
xdebug.client_port = 9003</file> | xdebug.client_port = 9003</file> | ||
+ | 5 - Redémarrer apache2: | ||
+ | <file>sudo systemctl restart apache2</file> | ||
- | 5 - Créer un fichier phpinfo.php dans lequel, on met: | + | 6 - Créer un fichier phpinfo.php dans lequel, on met: |
<file><?php | <file><?php | ||
- | phpinfo(); | + | phpinfo();</file> |
- | ?></file> | + | 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. |
- | On place ce fichier sur le serveur local dans le dossier /var/www/html et on place lance l'url du fichier avec un navigateur web. | + | |
Vérifier la bonne installation de Xdebug: | Vérifier la bonne installation de Xdebug: | ||
<file>This program makes use of the Zend Scripting Language Engine: | <file>This program makes use of the Zend Scripting Language Engine: | ||
Ligne 182: | Ligne 186: | ||
with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by 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</file> | with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans</file> | ||
- | Il existe un paragraphe concernant Xdebug sur cette page ou on peut créer un fichier xdebug_info dansle quel il faut insérer | + | 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 |
- | <file><?php xdebug_info();</file> | + | <file><?php |
+ | xdebug_info();</file> | ||
+ | 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 | 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 | ||
- | |||
- | 6 - Redémarrer apache2: | ||
- | <file>sudo systemctl restart apache2</file> | ||
=== Comment déboguer? === | === Comment déboguer? === | ||
+ | |||
Xdedug fonctionne de deux manières: | Xdedug fonctionne de deux manières: | ||
Ligne 197: | Ligne 202: | ||
- Lancer l'application avec l'option "Start Debugging". Le de débogueur devient opérationnel \\ | - Lancer l'application avec l'option "Start Debugging". Le de débogueur devient opérationnel \\ | ||
- | 2 - avec un serveur local \\ | + | 2 - avec un serveur local: \\ |
- | - Ouvir votre fichier avec VSCode \\ | + | - 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 fichier launch.json file (section "run and debbug" dans la partie gauche de l'interface) \\ |
- Créer un(des) breakpoint(s) \\ | - Créer un(des) breakpoint(s) \\ | ||
- | - Démarrer l'application avec l'option "Start Debugging" option. \\ | + | - Démarrer l'application avec l'option "Start Debugging".\\ |
- | - Lancer l'application avec un navigateur internet (localhost/my-progam.php). | + | - 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: | ||
+ | <file> php -S localhost:8082</file> | ||
+ | - 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. | ||
+ | ==== Serveurs web internes ==== | ||
- | ==== Extension VSCodium Five Server - fichiers HTML et PHP ==== | + | === Serveur web interne PHP === |
- | 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)) | + | PHP dispose d'un serveur web interne. Voici un exemple de démarrage! |
+ | <file>php -S localhost:8000</file> | ||
- | 3 configurations à effectuer (//File// -> //Preferences// -> //Settings//, puis on tape ''Five Server'' dans la barre de recherche): | + | === 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) |