Documentation complète pour le développement web
Règles
- “
Saisie utilisateur” - ‘
Elément cliquable/sélectionnable’ Nom de fichier, dossier ou autre- <Élément à="" remplacer=""> Élément>
lien, raccourci clavier et phrase de demande de saisie
commande, extrait code et extrait de fichier
Table des matières
- Documentation complète pour le développement web
PHP
Installation de la dernière version de PHP - Linux
-
Installer php ainsi que toute ces dépendances et outils de développement depuis le dépot
apt:sudo apt install php-common php-cli php-pgsql php-curl php-xml php-json php-dev php-intl php-pear- php-common : Fournit les fichiers communs pour la dernière version stable de PHP
- php-cli : Fournit l’interface de ligne de commande pour PHP
- php-pgsql : Fournit un module de support pour l’extension PostgreSQL de PHP
- php-curl : Fournit un module de support pour l’extension CURL de PHP
- php-json : Fournit un module de support pour l’extension JSON de PHP
- php-xml : Fournit un module de support pour l’extension XML de PHP
- php-dev : Fournit les fichiers de développement pour la dernière version stable de PHP
- php-intl : Fournit un module de support pour l’extension INTL de PHP, permettant de lancer le serveur web spark fourni par CodeIgniter
-
php-pear : Fournit un gestionnaire de paquets pour PHP
-
Si l’extension
php-pgsqlne fonctionne pas il peut être nécessaire de l’activer dans les fichiers de configuration ‘/etc/php/<version>/cli/php.ini’ et ‘/etc/php/<version>/apache2/php.ini’ :extension=php_pgsql.so
-
Pour voir les autres paquets disponibles pour php :
apt-cache search php -
Pour vérifier que php est bien installé avec la bonne version tapé la commande suivante dans un terminal :
php -v-
Sortie attendu de la commande :
PHP 8.1.12-1ubuntu4.3 (cli) (built: Aug 17 2023 17:37:48) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.12, Copyright (c) Zend Technologies with Zend OPcache v8.1.12-1ubuntu4.3, Copyright (c), by Zend Technologies
-
Composer
Installation de Composer - Linux
Composer est un gestionnaire de dépendances PHP qui permet d’installer et de mettre à jour facilement des bibliothèques tierces ou des frameworks comme CodeIgniter, Laravel ou Symfony.
À la date ou j’écris ce document (octobre 2023) la dernière version de Composer disponible est la version 2.6.5 et la dernière version disponible dans les dépots apt est la version 2.5.8.
Installation simple d’une version récente de Composer - Linux
-
Installer le paquet du dépot
apt:sudo apt install composer
Installation de la dernière version stable de Composer - Linux
- Vous pouvez trouver la documentation officielle de
Composerà l’adresse suivante : -
Placez vous dans le repertoire de votre choix, dans cas
/home/${USER}:cd /home/${USER} -
Créer un fichier
InstallComposer.sh:touch InstallComposer.sh -
Donnez les droits d’exécution au fichier
InstallComposer.sh:chmod +x InstallComposer.sh -
Ouvrez le fichier
InstallComposer.shavec votre éditeur de texte favoris :open InstallComposer.sh -
Ajourter le code suivant dans le fichier
InstallComposer.shpuis sauvegarder le :#!/bin/bash # Télécharge le fichier d'intalation de composer via le lien 'https://getcomposer.org/installer' et le place dans le fichier 'composer-setup.php' php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" # Vérifie que le fichier 'composer-setup.php' est bien le bon php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installateur vérifié'; } else { echo 'Installateur corrompu'; unlink('composer-setup.php'); } echo PHP_EOL;" # Exécute le fichier d'installation 'composer-setup.php' php composer-setup.php # Efface le fichier d'installation 'composer-setup.php' php -r "unlink('composer-setup.php');"- Pour plus de détails
- php -r : Exécute du code PHP depuis la ligne de commande
- copy : Copie un fichier depuis un emplacement (même en ligne) vers un autre
- hash_file : Calcule le hachage d’un fichier en utilisant l’algorithme de hachage choisi
- echo : Affiche une chaîne de caractères
- unlink : Efface un fichier
- PHP_EOL : Constante de fin de ligne
- php composer-setup.php : Exécute le fichier
composer-setup.php - unlink(‘composer-setup.php’) : Efface le fichier
composer-setup.php
- Pour plus de détails
-
Exécuter le fichier
InstallComposer.sh:./InstallComposer.sh - Pour tout les utilisateurs (Besoin de droit d’administration)
-
Pour que tout les utilisateur profite de la commande ‘
composer’ dans le terminal déplacer le fichiercomposer.phardans le fichier ‘/usr/bin/composer’ :sudo mv composer.phar /usr/bin/composer
-
- Pour un utilisateur spécifique (Pas besoin de droit d’administration)
-
Pour que seul l’utilisateur courant profite de la commande ‘
composer’ dans le terminal déplacer le fichiercomposer.phardans le fichier ‘/home/${USER}/.local/bin/composer’ :mv composer.phar /home/${USER}/.local/bin/composer
-
-
Créer un projet en utilisant CodeIgniter et Composer :
composer create-project codeigniter4/appstarter <nameApp>
Nodejs et NPM
Installation de Nodejs - Linux
-
Installer le paquet du dépot
apt:sudo apt install nodejs
Installation de NPM - Linux
-
Installer le paquet du dépot
apt:sudo apt install npm
XAMPP
Installation de XAMPP - Linux
-
Téléchargez la dernière version de XAMPP sur le site officiel :
-
Placez vous dans le répertoire de téléchargement, dans mon cas
/home/${USER}/Téléchargements:cd /home/${USER}/Téléchargements -
Donnez les droits d’exécution au fichier téléchargé :
chmod +x xampp-linux-x64-8.1.12-0-installer.run -
Exécutez le fichier téléchargé :
./xampp-linux-x64-8.1.12-0-installer.run - Suivez les instructions de l’installeur
-
Créez un icon sur le bureau pour XAMPP :
echo "[Desktop Entry] Version=1.0 Type=Application Name=XAMPP Exec=sudo /opt/lampp/manager-linux-x64.run Icon=/opt/lampp/htdocs/favicon.ico Terminal=false StartupNotify=false" > ~/Bureau/XAMPP.desktop - Activations de la commande
xamppetxampp-gui:- Vous avez 2 solutions pour activer les commandes
xamppetxampp-gui, sois vous créer des liens symboliques sois vous créez des alias.-
Créez des liens symboliques pour XAMPP et pour XAMPP GUI :
sudo ln /opt/lampp/xampp /usr/local/bin/xampp sudo ln /opt/lampp/manager-linux-x64.run /usr/local/bin/xampp-gui -
Créez une alias pour XAMPP et pour le GUI de XAMPP :
echo "alias xampp='sudo /opt/lampp/xampp'" >> ~/.bashrc echo "alias xampp-gui='sudo /opt/lampp/manager-linux-x64.run'" >> ~/.bashrc-
Rechargez le fichier
~/.bashrc:source ~/.bashrc
-
-
-
(Optionnel) Personnellement j’ai mis toutes les alias ci-dessous pour XAMPP :
alias xampp='sudo /opt/lampp/xampp' alias xampp-gui='sudo /opt/lampp/manager-linux-x64.run' alias xampp-start='xampp startapache && xampp startmysql' alias xampp-stop='xampp stopapache && xampp stopmysql'
- Vous avez 2 solutions pour activer les commandes
Configuration de XAMPP - Linux
Modifier la taille maximale des paquets
-
Ouvrer le fichier de configuration de MySQL :
-
Avec un éditeur de texte
sudo nano /opt/lampp/etc/my.cnf -
Avec l’inteface graphique de XAMPP
-
Ouvrer l’inteface graphique de XAMPP :
xampp-gui - Cliquer sur l’onglet
Manage Servers - Cliquer sur
MySQL Database - Cliquer sur le bouton
Configure - Cliquer sur le bouton
Open Conf Filedans la fenêtre qui s’est ouverte à l’étape précédente
-
-
-
Changer la valeur de
max_allowed_packetpour remplacer1Mpar la taille maximale que vous voulez, par exemple20Mpour 20 Mo :... max_allowed_packet=20M ... -
Redémarrer le serveur MySQL :
xampp restartmysql -
Penser également à modifier la taille maximale des fichiers dans le fichier de configuration de PHP :
-
Ouvrer le fichier de configuration de PHP :
sudo nano /opt/lampp/etc/php.ini -
Changer les valeurs de
post_max_sizeetupload_max_filesizepour remplacer8Mpar la taille maximale que vous voulez, par exemple20Mpour 20 Mo :... post_max_size=20M ... upload_max_filesize=20M ... -
Si vous avez des fichiers très volumineux à envoyer, pensez également à modifier la valeur de
max_execution_timepour augmenter le temps d’exécution maximal d’un script PHP. Par exemple, pour 5 minutes au lieu de 30 secondes par defaut sur PHP 8.3 :... max_execution_time=300 ...
-
Utilisation de XAMPP
Si les commandes ne fonctionnent pas, regarder la section Installation de XAMPP - Linux pour voir comment créer des alias pour XAMPP et le GUI de XAMPP.
-
Ouvrir le GUI de XAMPP :
xampp-gui -
Afficher l’aide de XAMPP :
xampp --help
Erreur avec XAMPP
Erreur un autre serveur web est déjà en cours d’exécution
-
Si vous avez l’erreur suivante :
XAMPP: Another web server is already running. -
Vous pouvez arrêter le serveur web Apache en utilisant la commande suivante :
sudo /etc/init.d/apache2 stop -
Vous pouvez ensuite relancer XAMPP en utilisant la commande suivante :
xampp startapache
PHP MyAdmin
Installation de PHP MyAdmin - Linux
-
Installer le paquet du dépot
apt:sudo apt install phpmyadmin
Mise en place de l’accès à phpmyadmin sur tout les appareils d’un réseau local
-
Ouvrez le fichier
/opt/lampp/etc/extra/httpd-xampp.confavec un éditeur de texte en administrateursudo open /opt/lampp/etc/extra/httpd-xampp.conf -
Remplacez la ligne “
Require local” par “Require all granted” comment indiqué ci-dessous... <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Limit Require all granted ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory> ... - Sauvegardez le fichier
-
Rechargez le serveur Apache en utilisant l’inteface graphique de XAMPP ou grâce à la commande suivante :
sudo xampp reloadapache
Apache
SI vous avez installé XAMPP, vous n’avez pas besoin d’installer Apache.
Installation du serveur web Apache pour php - Linux
-
Installer le paquet du dépot
apt:sudo apt install libapache2-mod-php -
Voici quelque commande utile pour gérer le serveur web Apache :
systemctl start apache2 systemctl status apache2 systemctl stop apache2
Base de données
SI vous avez installé XAMPP, vous n’avez pas besoin d’installer MySQL ou PostgreSQL.
MySQL
Installation de MySQL - Linux
Configuration de MySQL - Linux
PosgreSQL
Installation de PostgreSQL - Linux
-
Installer le paquet du dépot
apt:sudo apt install postgresql postgresql-contrib
Configuration de Postgresql - Linux
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04
Framwork PHP
Laravel
Symfony
React
CodeIgniter
Licence
doc_developpement_web.md
Copyright (C) 2024 Floris Robart
Authors: Floris Robart
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.