[[install-tools]]

=== Concept : outils supplémentaires

[role="summary"]
Vue d'ensemble des outils supplémentaires qui aident les webmaster à créer
facilement leurs sites.

(((Outil,Coder)))
(((Outil,Devel)))
(((Outil,Drush)))
(((Outil,Composer)))
(((Outil,Git)))
(((Outil,Drupal Console)))
(((Outil Coder,vue d'ensemble)))
(((Outil Devel,vue d'ensemble)))
(((Outil Drush,vue d'ensemble)))
(((Outil Composer,vue d'ensemble)))
(((Outil Git,vue d'ensemble)))
(((Outil Drupal Console,vue d'ensemble)))

// ==== Connaissances requises

==== Quels outils sont disponibles pour les webmasters ?

Il existe plusieurs outils supplémentaires qui sont disponibles pour vous aider à
créer vos sites plus rapidement, plus précisément et avec moins d'efforts.

Drush et Drupal Console::
  Voir ci-dessous pour plus d'informations sur les outils en ligne de commande.
Git::
  Voir ci-dessous pour plus d'informations sur les outils de gestion de
  versions.
Composer::
  Voir ci-dessous pour plus d'informations sur Composer.
Devel::
  Le https://www.drupal.org/project/devel[module contribué Devel] est une aide
  aux tâches de développement comme le débogage et l'inspection du code,
  l'analyse des requêtes en base de données, et la génération de contenu de
  test.

==== Que sont les outils en ligne de commande ?

Les outils en ligne de commande fournissent une alternative à l'utilisation des
interfaces d'administration pour un certain nombre d'opérations sur votre site.
Beaucoup de webmasters et de mainteneurs ont investi du temps pour installer et
apprendre à utiliser un outil en ligne de commande, pour les raisons suivantes :

* Les tâches d'administrations sont habituellement plus rapides et moins
pénibles quand elles sont réalisées en ligne de commande plutôt qu'à travers
l'interface utilisateur.

* Vous pouvez écrire des scripts qui combinent des commandes liées au site et
des commandes liées au serveur, pour automatiser des tâches plus compliquées.

* Les outils en ligne de commande fournissent des fonctionnalités additionnelles
qui ne sont pas disponibles à travers l'interface d'administration ; par
exemple, exécuter des requêtes sur la base de données.

Les outils les plus populaires sont http://www.drush.org[Drush] et
https://drupalconsole.com[Drupal Console]. Drush est disponible depuis plus
longtemps, et comporte des commandes à la fois pour le cœur du logiciel et les
modules contribués ; Drupal Console était d'abord un outil pour les développeurs
de modules, mais fait état d'une liste de plus en plus importante de commandes
pour les webmasters. Ce guide documente les commandes de la dernière version
stable de Drush correspondant à beaucoup de tâches ; il ne documente pas de
commandes de Drupal Console ou de commandes de versions antérieures de Drush,
mais vous pouvez les rechercher dans les documentations respectives de Drupal
Console et de Drush.

Pour utiliser ces outils, vous devrez avoir accès à un terminal permettant de
saisir des lignes de commandes sur le serveur où votre site est hébergé, et vous
devrez au préalable installer Composer afin d'installer soit Drush, soit Drupal
Console.

==== Qu'est-ce qu'un système de gestion de versions ?

Un système de gestion de versions est un logiciel qui conserve des copies de
fichiers et l'historique des révisions dans un _dépôt_, et permet la création, la
suppression et la mise à jour de fichiers. Pour un projet de site web, un
logiciel de gestion de versions peut vous aider à :

* Tester en local avant de déployer vos fichiers sur le site en production

* Examiner, comparer, et revenir à des versions antérieures de vos fichiers

* Examiner les fichiers ajoutés, modifiés ou supprimés avant de soumettre
(_commit_) vos changements (mettre à jour le dépôt)

* Fusionner des changements provenant de différents membres d'une équipe

* Faire en sorte que les fichiers et la configuration reste synchronisée entre
vos sites en local et en production

Il existe beaucoup de systèmes de gestion de versions propriétaires et _open
source_ entre lesquels choisir. https://git-scm.com/[Git] est un choix répandu ;
il est _open source_ et fonctionne sur la plupart des plateformes. Git est un
système de gestion de versions _distribué_ qui vous laisse la possibilité
d'avoir une ou plusieurs copies de votre dépôt, ce qui permet de soumettre vos
changements sur une copie et de ne les _pousser_ vers le dépôt considéré comme
_canonique_ que quand vous êtes prêt(e) à les partager avec d'autres. Le dépôt
Git canonique peut être hégergé sur votre ordinateur local ou sur un serveur de
votre entreprise, mais de nombreux projets logiciels et individus hébergent
leurs dépôts Git en ayant recours à des services tiers fournis par
https://about.gitlab.com/[GitLab] ou https://github.com/[GitHub].


==== Pourquoi Composer est-il utilisé ?

https://getcomposer.org/[Composer] est un outil pour gérer les dépendances PHP,
où les développeurs définissent quelle version de chaque bibliothèque externe
est nécessaire, et Composer gère le processus de téléchargement et
d'installation des bibliothèques.

Le cœur du logiciel est le premier utilisateur de Composer, à cause de son usage
de plusieurs bibliothèques logiciels externes, qui doivent être téléchargées et
installés pour que le cœur du logiciel fonctionne. Lorsque vous installez le
cœur du logiciel, vous devez soit télécharger une archive qui contient les
versions compatibles des bibliothèques externes, soit utiliser Composer pour les
télécharger après le téléchargement initial. Les outils en ligne de commande
Drush et Drupal Console sont aussi téléchargés un utilisant Composer.

Certains modules contribués utilisent également des bibliothèques externes ; par
exemple, un module d'intégration à Facebook aura besoin que la bibliothèque
d'intégration de Facebook soit installée pour que le module fonctionne, et un
module géographique pourrait utiliser une bibliothèque standard de fonctions
géographiques. Pour installer un module avec des dépendances externes, vous
aurez besoin de Composer.

==== Quels outils sont disponibles pour les développeurs de modules et de thèmes ?

En plus des outils mentionnés ci-dessus pour les webmaster, les outils suivants
sont utiles pour les développeurs de thèmes et de modules.

Drupal Console::
  https://drupalconsole.com[Drupal Console] est un outil ligne de commande qui
  génère du code standard et interagit avec un site Drupal. Il peut générer, par
  exemple, le code d'un bloc ou un formulaire, installer des modules et des
  thèmes, et créer du contenu de test. Drupal Console utilise la Console
  Symfony.
Coder::
  https://www.drupal.org/project/coder[Coder] est un outil ligne de commande qui
  vérifie si vos modules et thèmes sont compatibles avec les normes de
  développement et les autres bonnes pratiques. Il peut aussi réparer les
  violations des standards de codage.
Outils de débogage intégrés aux navigateurs::
  Les navigateurs web tels que Firefox et Chrome incluent des outils qui
  permettent de voir, modifier, et de surveiller le CSS, l'HTML et le
  JavaScript. Vous pouvez ouvrir le panneau ou fenêtre de débogage en cliquant
  avec le bouton droit de la souris dans une zone de votre fenêtre, et choisir
  "Inspecter" ou "Inspecter l'élément".

==== Sujets liés

<<install-composer>>

==== Pour aller plus loin (en anglais)

* https://www.drupal.org/node/147789[_Drupal.org_ community documentation page
"Development tools"] (en anglais)

* https://www.drupal.org/docs/develop/using-composer/using-composer-with-drupal[_Drupal.org_ community documentation page "Using Composer with Drupal"]
(en anglais)

* https://fr.wikipedia.org/wiki/Gestion_de_versions#Gestion_de_versions_d%C3%A9centralis%C3%A9e[Article Wikipédia "Gestion de versions décentralisée"]


*Attributions*

Écrit et modifié par  https://www.drupal.org/u/batigolix[Boris Doesborg]
et https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon].
Traduit par https://www.drupal.org/u/vanessakovalsky[Vanessa Kovalsky] et
https://www.drupal.org/u/fmb[Felip Manyer i Ballester].
