Sommaire des tutoriels pour developpeur

De Didaquest
Révision datée du 9 avril 2020 à 23:35 par Admin (discussion | contributions) (Page créée avec « Category:Accueil {{Transclusion_Entete}} =Sommaire des tutoriels pour développeur= Est ce qu'on met en production aujourd'hui ? Site officiel : https://www.estcequo... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Sommaire des tutoriels pour développeur

Est ce qu'on met en production aujourd'hui ?
Site officiel : https://www.estcequonmetenprodaujourdhui.info

Langages de programmation et syntaxe

Langages de programmation et syntaxe.
1.1 Tutoriels pour programmer avec Android
1.2 Tutoriels pour l'accessibilité des applications web
1.3 Tutoriels pour programmer en Langage Assembleur
 1.3.1 Tutoriels pour décompiler un .exe
1.4 Tutoriels pour programmer en Shell Bash Linux
 1.4.1 Tutoriels pour programmer une interface GNU Linux Zenity
 1.4.2 Programmer un paquet logiciel pour Debian
 1.4.3 Programmer un paquet logiciel .rpm
1.5 Tutoriels pour programmer en CSS LESS SCSS
1.6 Tutoriels pour programmer en HTML et HTML5
1.7 Tutoriels pour programmer en Java
1.8 Tutoriels pour programmer en JavaScript
 1.8.1 Introduction à JavaScript
  1.8.1.1 Dom Javascript
 1.8.2 Attribut Async et Defer
 1.8.3 Afficher l'adresse IP du client en Javascript
 1.8.4 Créer un jeu en JavaScript
 1.8.5 Anti clickjacking
 1.8.6 Quizz JavaScript
 1.8.7 Tutoriels pour programmer en JQuery
 1.8.8 Tutoriels pour programmer en NODE.js
  1.8.8.1 Installer NODE.js depuis les dépôts
  1.8.8.2 Installer NODE.js depuis les binaires
   1.8.8.2.1 Installer NODE.js depuis PPA
  1.8.8.3 Utiliser MySQL avec NODE.js et NPM
  1.8.8.4 Tutoriels
   1.8.8.4.1 Utiliser Anticore créé par Lcf.vs de Développez
   1.8.8.4.2 Des applications ultra rapides avec NODE.js
 1.8.9 Afficher proprement des informations venant d'une table HTML en JavaScript
1.9 Tutoriels pour programmer en json
1.10 Tutoriels pour programmer en SQL
1.11 Tutoriels pour programmer en PHP
1.12 Tutoriels pour programmer en Perl
1.13 Tutoriels pour programmer en Python
1.14 Tutoriels pour programmer en Go
1.15 Tutoriels pour programmer en Ruby
 1.15.1 Prérequis pour utiliser Ruby sur Debian Stretch 9
 1.15.2 Autres tutoriels utilisant Ruby
1.16 Tutoriels pour programmer en Scratch
1.17 Tutoriels pour programmer en XML
1.18 Tutoriels pour configurer un .htaccess
1.19 Tutoriels pour configurer l'encodage
 1.19.1 Tofrodos - CRLF to LF conversion
 1.19.2 Convertir au format Unix ou Dos avec le paquet flip
 1.19.3 Dos2unix CRLF et LF + Encodage

Outils pour développeurs

Développement web

Éditeur XML

Altova xmlspy
Version professionnelle - 30 jours à l'essai : https://www.altova.com/fr/xmlspy-xml-editor
Les nouveautés de XMLSpy pour 2019 : https://www.altova.com/xmlspy-xml-editor/whatsnew
Editix
Version professionnelle - 30 jours à l'essai : http://www.editix.com/download.html
Exchanger XML Editor
Parser des balises avec Exchanger XML Editor.
Le site officiel semble être définitivement inactif : http : // www . exchangerxml . com
Version professionnelle - 30 jours à l'essai : https://download.cnet.com/Exchanger-XML-Editor/3000-7241_4-10238311.html

Éditeur depuis le terminal

Emacs
Devrait permettre d'afficher facilement les caractères de fin de ligne.
Les commandes : https://www.tuteurs.ens.fr/unix/editeurs/emacs_memo.html
mcedit
.
nano
.
Vim
Installer et utiliser Vim.

Éditeur texte

Atom
https://atom.io/
https://atom.io/download/deb
Geany
https://www.geany.org
curl -O https://download.geany.org/geany-1.35.tar.gz
tar xzvf geany-1.35.tar.gz
cd geany-1.35
./configure
make
make install
Gedit
sudo apt install gedit
Mousepad
sudo apt install mousepad
Pluma
sudo apt install pluma
Sublime Text
# Simple bloc notes avec colorisation syntaxique.
Site officiel : https://www.sublimetext.com
Page de téléchargement : https://www.sublimetext.com/3
# Télécharger et installer Sublime Text :
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update
sudo apt-get install sublime-text
Xed
# Équivalent à Sublime text, présent dans les dépôts par défaut de Ubuntu.
# Pour ajouter le dépôt PPA pour Ubuntu :
sudo add-apt-repository ppa:embrosyn/xapps
sudo apt update
sudo apt-get install xed
# Télécharger le paquet .deb pour une autre distribution :
https://pkgs.org/download/xed

Éditeur hexadécimal

Ghex
Ghex est un éditeur de fichiers binaires.
sudo apt install ghex

Environnement de développement (IDE)

Aptana
Installer Aptana : https://www.linuxhelp.com/how-to-install-aptana-studio-3-in-ubuntu/
Attention, Aptana ne semble plus maintenu.
Site officiel : http://www.aptana.com
Amaya
Amaya, navigateur et éditeur de site web Wyswyg co-développé par l'INRIA et le W3C, a été conçu pour tester les technologies promulguées par l'organisme de normalisation du web, le W3C. Cependant, ce navigateur très simple d'utilisation s'adapte bien aux utilisateurs non professionnels qui souhaitent intervenir directement sur les pages de leurs sites web.
Avec Amaya, l'utilisateur modifie la structure d'affichage du site directement à la manière d'un traitement de texte.
Une fois les modifications validées, les pages modifiées apparaissent exactement telles qu'elles sont affichées dans le navigateur.
Pour les utilisateurs avancés, il faut noter que Amaya exploite les toutes dernières technologies du Web telles que SVG, MathML, XPath...
Le logiciel Amaya :
www.w3.org/Amaya/
Télécharger Amaya :
www.01net.com/telecharger/windows/Internet/editeur_de_site/fiches/40095.html
Bluegriffon
Bluegriffon est l'équivalent de Bluefish mais intègre un lecteur WYSIWYG.
Site officiel : http://bluegriffon.org
Bluefish
# Installer Bluefish sur GNU/Linux.
sudo apt install bluefish
Eclipse
Utiliser Eclipse.
Utiliser Git avec Eclipse.
Firefox Developer
Télécharger le pack GNU/Linux de Firefox Quantum - Developer Edition : https://www.mozilla.org/fr/firefox/developer/
Komodo Edit
Komodo Edit est un éditeur simple et puissant.
Site officiel : https://www.activestate.com/products/komodo-edit/
Les précédentes versions : https://komodo-edit.fr.uptodown.com/windows
Pour des fonctionnalités supplémentaires, la version commerciale de Komodo IDE propose le débogage, les tests unitaires, le refactoring de code, le profilage de code, des intégrations avec d'autres technologies.
Netbeans
Installer Netbeans depuis une distribution Linux.
apt install netbeans
Site officiel : https://netbeans.org
Debugging PHP Source Code in the NetBeans IDE : https://netbeans.org/kb/docs/php/debugging.html
PhpStorm
L'IDE en version d'essai durant un mois : https://www.jetbrains.com/phpstorm/
L'EAD en version gratuite : https://www.jetbrains.com/phpstorm/eap/
La documentation : https://www.jetbrains.com/help/phpstorm/meet-phpstorm.html
Installer la version gratuite une fois l'archive téléchargée :
tar -xvf PhpStorm-*.tar.gz
cd PhpStorm-*/bin
./phpstorm.sh
Supprimer PhpStorm :
Supprimer le dossier de PhpStorm depuis /opt 
Supprimer les options de PhpStorm depuis ~/PhpStorm201x.x.
Supprimer le lanceur dans le menu : sudo rm /home/USER/.local/share/applications/jetbrains-phpstorm.desktop
Ultra Edit
Rapide dans le traitement. Inclus plusieurs outils comme le FTP ou encore un comparateur de fichier.
Il est disponible sous Linux, Mac OS X et Windows.
Site officiel : https://www.ultraedit.com
Zend
Site officiel de téléchargement des logiciels de ZEND
https://www.zend.com/fr/downloads
ZEND STUDIO PROFESSIONAL (Version 13.6)
https://www.zend.com/en/products/studio/downloads#Windows
ZEND GUARD
Optimisez votre cycle de développement en PHP avec l'intégration étroite de Zend Studio et de Zend Guard.
ZEND CORE

Normes de programmation

Php-codeSniffer
# Indenter son code aux normes PSR-2 avec Php-codeSniffer.
# Outil de référence pour détecter les erreurs des règles PSR, PEAR et ZEND.
# Php-codeSniffer est un outil en ligne de commande qui permet d'indenter le code PHP, Javascript et CSS.
# PHP_CodeSniffer est un outil de développement essentiel qui garantit que votre code reste propre et cohérent.
# PHP_CodeSniffer est un ensemble de deux scripts PHP :
# Le script phpcs principal qui segmente les fichiers PHP, JavaScript et CSS pour détecter les violations d'une norme de codage définie.
# Un second script PHP Code Beautifier and Fixer, phpcbf, pour corriger automatiquement les violations de la norme de codage.
# Installer Php-codeSniffer :
sudo apt-get update
sudo apt-get install php-codesniffer
# dpkg -l |grep php-codesniffer
# ii  php-codesniffer   3.2.3-1 
# Le dépôt officiel : https://github.com/squizlabs/PHP_CodeSniffer
# Tester les erreurs de normalisation :
phpcs --standard=PSR2 lefichier.ext
# Il est possible de corriger automatiquement tous les erreurs en une seule fois avec le composant PHP Code Beautifier and Fixer :
phpcbf --standard=PSR2 lefichier.ext
# Le dépôt officiel : https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically
Utiliser l'alias créé depuis le fichier .bashrc pour indenter son code plus rapidement avec Php-codesniffer :
indenter fichier.php
Cet outil peut fonctionner de manière autonome ou en lien avec les IDE open source comme Netbeans et Eclipse.
Php-codeSniffer pour Eclipse
Utiliser un terminal depuis Linux avec le script python de nettoyage PSR-2 laisse peu de chance à la fin de ligne Windows d'être conservée en cas de nettoyage d'un projet Git créé sous Windows.
L'utilisation du script python et le remplacement de la fin de ligne Windows dans chaque fichier par une fin de ligne Unix ne devrait pas poser de problème pour un projet Git correctement configuré.
Convertir les délimiteurs de fin de ligne pour utiliser Git avec Linux et Windows.
Eclipse permet d'indenter le code en PSR-2 avec Php-codeSniffer intégré nativement.
Eclipse peut rétablir la fin de ligne Windows pour les fichiers d'un projet Git créé depuis Windows.
Php-codeSniffer pour Netbeans
Consulter le manuel : https://cloud1.pw/2/go.php?file=php+codesniffer+netbeans+plugin+tutorial
Télécharger le paquet : https://pear.php.net/package/PHP_CodeSniffer/
PHP-CS-Fixer
# Différence entre PHP-CS-Fixer et Php-codeSniffer :
# https://php.libhunt.com/compare-php-cs-fixer-vs-php_codesniffer
# https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3459
Le dépôt officiel de PHP-CS-Fixer https://github.com/FriendsOfPHP/PHP-CS-Fixer
PHP CS Fixer pour Netbeans : http://plugins.netbeans.org/plugin/49042/php-cs-fixer
Exemple non testé :
php php-cs-fixer.phar fix /path/to/project --rules=@Symfony
PHP Coding Standards Fixer
Outil de l’éditeur de Symfony pour vérifier la conformité avec PSR-1 et PSR-2.
Compatible également avec les éditeurs Atom et Vim.
Cet outil peut fonctionner de manière autonome ou en lien avec les IDE open source comme Netbeans et Eclipse.
Source : https://cs.symfony.com
PHPMD
Outil d’analyse de code PHP pour détecter les bugs, les codes non optimaux et les paramètres et méthodes non utilisées.
Cet outil peut fonctionner de manière autonome ou en lien avec les IDE open source comme Netbeans et Eclipse.
Source : https://sourceforge.net/projects/phpmdnb/

Outils de documentation et de production de code

PHP dispose d’outils qui permettent de gagner du temps entre la conception et la production de code.
Ils permettent en particulier d’anticiper de nombreux problèmes et de donner des guides lors de la phase de développement.
Les Object Relational Mappings (ORM) permettent de créer des correspondances entre les classes PHP et les tables SQL pour faciliter l’accès aux bases de données.
Un ORM est une classe ou un ensemble de classes permettant à l'utilisateur de manipuler ses tables de données comme si c'étaient des objets.
La génération automatique de la documentation technique à partir des commentaires et autres éléments présents dans le code source, ce qui permet de soulager le travail des développeurs.
Doctrine
Ensemble de bibliothèques PHP pour le stockage des bases de données et le mapping des objets. Il permet en particulier d’extraire les objets à partir d’un fichier de description.

Site officiel de Doctrine : https://www.doctrine-project.org
Définition de Doctrine sur Wikipédia : https://fr.wikipedia.org/wiki/Doctrine_(ORM)
PHPDocumentor
Outil pour générer de la documentation technique en PHP. Il référence automatiquement l’ensemble des classes, méthodes, fonctions mises en place dans le code.
Site officiel : https://www.phpdoc.org
Installer Pear
# Installer Pear :
wget http://pear.php.net/go-pear.phar
php go-pear.phar
Source : https://pear.php.net/manual/en/installation.getting.php
Tester si Pear fonctionne
# Afficher toutes les commandes de Pear :
pear
# Connaître la version actuelle :
pear version
PEAR Version: 1.10.9
PHP Version: 7.2.19-0ubuntu0.18.04.1
Zend Engine Version: 3.2.0
Running on: Linux alien 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64
# Connaître le chemin d'installation des fichiers PHP.
pear config-get php_dir
/usr/share/php
# Connaître les fichiers de configuration de PHP :
php --ini
Configuration File (php.ini) Path: /etc/php/7.2/cli
Loaded Configuration File:         /etc/php/7.2/cli/php.ini
Scan for additional .ini files in: /etc/php/7.2/cli/conf.d
Additional .ini files parsed:
# Vérifier le paramètre PHP include_path :
/var/www/html# php -c /path/to/php.ini -r 'echo get_include_path()."\n";'
.:/usr/share/php
# Test d'inclusion de fichier.
# Créer un fichier check_pear.php dans le répertoire du site par défaut /var/www/html pour le serveur Apache2 contenant :
<?php
require_once 'System.php';
var_dump(class_exists('System', false));
?> 

# Lancer la commande :
php check_pear.php

# Doit retourner :
bool(true)
Source : https://pear.php.net/manual/en/installation.checking.php
Consulter les versions disponibles pour phpdoc : http://pear.phpdoc.org
La première tentative pour installer phpDocumentor ne fonctionnera pas
# Installation par défaut :
pear channel-discover pear.phpdoc.org
pear install phpdoc/phpDocumentor
# Problème de découverte : invalid channel.xml :
pear channel-discover pear.phpdoc.org
Error: Unable to create XML parser
Discovering channel pear.phpdoc.org over http:// failed with message: channel-add: invalid channel.xml file
Trying to discover channel pear.phpdoc.org over https:// instead
Error: Unable to create XML parser
Discovery of channel "pear.phpdoc.org" failed (channel-add: invalid channel.xml file)
# Contournement proposé depuis l'issue de GitHub : https://github.com/phpDocumentor/phpDocumentor2/issues/1787
wget https://pear.phpdoc.org/channel.xml
pear channel-add ./channel.xml

# L'installation ne va à nouveau pas fonctionner.
pear install phpdoc/phpDocumentor
No releases available for package "pear.phpdoc.org/phpDocumentor"
install failed
The command '/bin/sh -c pear install phpdoc/phpDocumentor' returned a non-zero code: 1
# L'installation d'une version spécifique va fonctionner :
pear install http://pear.phpdoc.org/get/phpDocumentor-2.9.0.tgz
downloading phpDocumentor-2.9.0.tgz ...
Starting to download phpDocumentor-2.9.0.tgz (16,175,113 bytes)
..........................................done: 16,175,113 bytes
WARNING: channel "pear.phpdoc.org" has updated its protocols, use "pear channel-update pear.phpdoc.org" to update
install ok: channel://pear.phpdoc.org/phpDocumentor-2.9.0
# Générer la documentation depuis le projet placé par défaut dans le dossier /var/www/html de Apache2 avec la commande :
phpdoc -d ./ -t ./docs/
phpdoc -d "." -t "./docs" --template="responsive-twig"
# Une partie de la documentation est générée mais elle n'est pas fonctionnelle !
# Histoire de continuer sur cette installation qui ne fonctionne pas :
pear install phpdocumentor
# On constate une sacrée différence de version, mais, mes essais ne semblent pas plus concluants.
install ok: channel://pear.php.net/PhpDocumentor-1.4.4
Désinstaller Pear
# Supprimer phpDocumentor
# pear uninstall phpdocumentor
pear uninstall phpdoc/phpDocumentor
uninstall ok: channel://pear.phpdoc.org/phpDocumentor-2.9.0
# Ainsi que le canal :
pear channel-delete pear.phpdoc.org
Channel "pear.phpdoc.org" deleted
pear uninstall pear
Réinstaller Pear depuis le dépôt de la distribution
apt-get install php-pear
Réinstaller et utiliser PhpDocumentor
wget https://pear.phpdoc.org/channel.xml
pear channel-add ./channel.xml
pear install http://pear.phpdoc.org/get/phpDocumentor-2.9.0.tgz
wget https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.9.0/phpDocumentor.phar
sudo mv phpDocumentor.phar /usr/local/bin/phpdoc
sudo chmod +x /usr/local/bin/phpdoc
phpdoc --version
phpDocumentor version 2.9.0
# Pour permettre à la Class Hierarchy Diagram d'être générée, installer le paquet graphviz :
apt install graphviz
# Pour créer la documentation de tout le projet :
php /usr/local/bin/phpdoc -d "." -t "./docs"
# Changer de template :
# Source : https://docs.phpdoc.org/getting-started/changing-the-look-and-feel.html
php /usr/local/bin/phpdoc -d "." -t "./docs" --template="clean"
php /usr/local/bin/phpdoc -d "." -t "./docs" --template="responsive-twig"
php /usr/local/bin/phpdoc -d "." -t "./docs" --template="checkstyle"
php /usr/local/bin/phpdoc -d "." -t "./docs" --template="zend"
# Lister les templates disponibles :
phpdoc template:list
Available templates:
* abstract
* checkstyle
* clean
* new-black
* old-ocean
* responsive
* responsive-twig
* xml
* zend
# Pour créer la documentation pour un seul fichier :
php /usr/local/bin/phpdoc -f "sample1.php" -t "./docs"
# Ignorer des dossiers ou des fichiers :
--ignore (files or directories) 
# Consulter le rendu :
http://localhost/docs/
Renseigner le code pour permettre la génération de la documentation
# Le bloc PHPDoc est généré automatiquement à l'aide des commentaires '/**' placés dans le code source par les développeurs.
# Commentaires à placer au début de chaque fichier php :
/**
* Class Category | core/Category.class.php
*
* @package     MyApp XYZ
* @subpackage  Categories
* @author      Sandro Miguel Marques <sandromiguel@something.com>
* @version     v.1.1 (06/12/2016)
* @copyright   Copyright (c) 2016, Sandro
*/
namespace Myapp;
# Commentaires à placer au dessus de chaque bloc de code pour les commandes suivantes :
function
class
namespace
properties
constants
Propel
Alternative à Doctrine permettant d’extraire les objets à partir de la base de données.
Site officiel : http://propelorm.org

Outils de gestion de versions de fichiers

Git
Accueil Git.

Tests et débogage

Tester le code représente une autre partie importante du travail d’un développeur.
Plus une application est complexe et plus il devient difficile et long de la vérifier, or, ce travail est indispensable.
Pour PHP, il existe deux types de tests :
- Les tests unitaires qui consistent à isoler une méthode afin de vérifier qu’elle produit le résultat attendu en passant des paramètres déterminés.
- Les tests IHM ou de recette qui permettent de s’assurer que les comportements de l’application sont ceux attendus, notamment la saisie d’une valeur erronée doit produire un message d’erreur adapté.
Il existe deux autres types d'outils pour vérifier le code en temps réel :
- Le débogueur permet d’exécuter étape par étape une application afin de s’assurer du bon cheminement dans le code.
Il est possible de consulter à tout moment la valeur des variables et de définir des points d’arrêt.
- Le profileur permet de recueillir des indicateurs sur les éléments qui interviennent lors de l’exécution de l’application (Nombre et temps d’exécution, mémoire consommée...).
PHPUnit et Xdebug sont des librairies externes aux IDE.
La connexion aux IDE facilite le suivi de l’état de l’application et des erreurs en cours d’écriture du code.
Ils sont les principaux outils de test et de débogage indispensables pour bien développer en PHP qui sont supportés et utilisés sur les IDE Netbeans et Eclipse.
PHPUnit
Librairie PHP pour écrire des tests unitaires, PHPUnit est inclut par défaut dans la majorité des frameworks PHP.
Il peut également être ajouté sous forme d’un paquet Composer. L’intégration dans les IDE Eclipse via PHP-PDT et Netbeans permet de lancer des tests automatiques et d’analyser les résultats.
Site officiel : https://phpunit.de
Intégration de PHPUnit dans Eclipse : http://marketplace.eclipse.org/content/pti-php-tool-integration
PHPUnit et Composer : https://phpunit.de/manual/6.5/en/installation.html#installation.composer
Testing with PHPUnit and Selenium : https://netbeans.org/kb/docs/php/phpunit.html
SimpleTest
Autre outil de test unitaire PHP qui n’est plus maintenu.
Compatible avec Eclipse.
PHPdbg
Inclu nativement dans le code source PHP5.6, c’est un module qui permet le débogage en ligne de commande.
XDebug
Installé sur le serveur PHP, il apporte les fonctions de débogage et profilage.
Il s’intègre bien aux IDE Netbeans et Eclipse.
Installer XDebug sur Xampp.
Configurer Eclipse avec Debug.
Sélénium
Sélénium n'est pas spécifique au PHP.

Intégration continue

Les outils d’intégration continue pour le PHP sont apparus récemment dans l’écosystème du PHP.
Il n’existe pas encore de solution mature qui puisse répondre spécifiquement aux problématiques de développement du langage PHP.
C’est tout le contraire du Java qui dispose de Jenkins.
Jenkins-PHP
Jenkins est le serveur d’intégration continue par excellence basé sur Java et est extensible avec plusieurs centaines de plugins.
Jenkins-PHP propose des instructions et un template Jenkins spécifique pour les projets PHP.
Site officiel : http://jenkins-php.org
PHPCI
Outil spécifique pour PHP.
Il ne dispose pas de toutes les fonctionnalités que propose Jenkins.
Lancer un scann sur son code pour vérifier si il est bien à jour avec les dernières recommandations de version.
Le plugin PHPCI pour Netbeans permet l'intégration de PCI pour vérifier si un script PHP a des commandes obsolètes.
Source : https://www.phptesting.org
Source : https://github.com/Block8/PHPCI
Source : https://github.com/dancryer/phpci
PHPUnderControl
Outil historique pour l’intégration continue, il n’est plus maintenu.
Dépôt Github : https://github.com/phpundercontrol/phpUnderControl-UNMAINTAINED
Travis CI
Il existe des services d’intégration continue d’hébergement gratuits intégrées à Github comme Travis CI.
Il permet de ne pas avoir à déployer son propre serveur d’intégration continue PHP.
Site officiel : https://travis-ci.org

Déploiement automatique

Le déploiement consiste a exporter l’application du dépôt, copier des fichiers sur un serveur et lancer des scripts de mise à jour.
Il est souvent fait manuellement et peut être long si les serveurs, les technologies et les systèmes de protection en place sont nombreux.
Il peut également arriver que la personne qui fait le déploiement oublie des étapes ou modifie l’ordre par mégarde.
Il est indispensable aujourd’hui de faire du déploiement automatique dans un environnement de production.
L’automatisation permet de déployer en parallèle sur plusieurs serveurs, de programmer le retour en arrière en cas d’échec et d’installer plusieurs versions de tests.
Il existe plusieurs façons de faire :
Écrire un script Shell contenant les commandes à passer manuellement.
Utiliser un outil d’automatisation de tâches dédié.
Les IDE offrent quelques facilités dans le lancement du processus de déploiement notamment avec l’enregistrement des configurations de déploiement récurrentes.
Les outils de déploiement automatique se différencient par une prise en charge plus globale à travers les opérations telles que :
- La gestion des dépendances.
- L’exécution de tests automatiques.
- La manipulation des fichiers et dossiers et leur accès.
- Les opérations sur des bases de données.
- La gestion de versions.
- Le déploiement sur un serveur
Dans le cadre d’un déploiement à grande échelle, il est possible d’utiliser des outils de déploiement automatique open source pour PHP.
Noter que les frameworks PHP ont très souvent leurs propres outils pour faire du déploiement rapidement.
Phing
Outil pour faire du déploiement automatique PHP à partir d’un simple fichier XML.
Il fournit des tâches de base pour installer ou mettre à jour une application web et peut être étendu à d’autres tâches.
Site officiel : https://www.phing.info
Capistrano
Outil avancé pour exécuter des commandes de manière structurée et répétée sur une ou plusieurs machines.
Le déploiement des applications PHP avec cet outil nécessite une bonne compréhension de Ruby et de Rake.
How To Automate PHP App Deployment Process Using Capistrano On Ubuntu 13 : https://www.digitalocean.com/community/tutorials/how-to-automate-php-app-deployment-process-using-capistrano-on-ubuntu-13
Deployer
Outil PHP simple et fonctionnel qui peut faire des déploiements en parallèle, des déploiements atomiques sans interruption de service.
Des solutions sont disponibles pour les tâches des principaux frameworks PHP.
404.png Fixme.png Site officiel : https://deployer.org
Ansible
Ne gère que la configuration des applications.
Composer
Composer est un outil de gestion de dépendances.
https://getcomposer.org
https://packagist.org
Appliquer la norme PSR-2 au code PHP : https://www.bpaulin.net/articles/programmation/2014/01/07/appliquer-la-norme-PSR-2-au-code-PHP/
Puppet
Ne gère que la configuration des applications.

Développement applicatif

Guile

Guile est qualifié de langage de script préférentiel pour GNU.
https://www.gnu.org/software/guile/

Lua

https://www.lua.org

Bibliographie

Ok.png Les bonnes pratiques PHP : https://blog.linagora.com/les-bonnes-pratiques-php/
Checking your code for PSR-2 : https://akrabat.com/checking-your-code-for-psr-2/
PHP Standards Recommendations : https://www.php-fig.org/psr/
Ok-ko.png Référentiel Technique : https://references.modernisation.gouv.fr/referentiel/3.0

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de DIDAQUEST.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur ce wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne de ce wiki pour trouver votre contenu.
La page de discussion de Didaquest vous permet de poser une question.
Utiliser la recherche interne du site pour chercher dans tout le contenu.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows en lisant la page dédié à la sécurité.
Améliorer le contenu des pages avec vos propositions depuis l'onglet discussion.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en EDUTOKEN ou avec une autre monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.