| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
Cette bonne pratique est la conséquence de la section précédente. Dans la partie Profil d'un projet activé quand environment.type vaut 'dev', le profil de production ne contient pas la propriété
database.password. J'ai fait cela délibérément pour illustrer le fait de stocker les mots de
passe dans votre fichier settings.xml. Si vous développez une application dans une grande
organisation qui accorde de l'importance à la sécurité, il est probable que la majorité des développeurs ne
connaissent pas le mot de passe de production de la base de données. C'est la norme dans une organisation qui
trace des lignes infranchissables entre équipe de développement et équipe de production. Les développeurs ont accès
aux environnements de développement et de pré-production, mais ils pourraient ne pas avoir (ou ne pas vouloir)
accès à la base de données de production. Il y a un certain nombre de raisons pour lesquelles cela aurait un
sens, particulièrement, si une organisation gère des données sensibles financières, médicales ou autres. Dans ce
scénario, l'environnement de production ne pourrait être utilisé que par le responsable technique ou par un
membre de l'équipe de production. Quand ils exécutent le build avec la valeur prod pour la
propriété environment.type, ils vont devoir définir cette variable dans leur
fichier settings.xml comme suit :
Exemple 5.7. Enregistrement de mots de passe dans un profil du fichier settings.xml propre à l'utilisateur
<settings>
<profiles>
<profile>
<activeByDefault>true</activeByDefault>
<properties>
<environment.type>prod</environment.type>
<database.password>m1ss10nimp0ss1bl3</database.password>
</properties>
</profile>
</profiles>
</settings>
Cet utilisateur a défini un profil par défaut qui donne à
environment.type la valeur prod et qui spécifie le mot de
passe de production. Quand le build du projet est exécuté, le profil de production est activé par la propriété
environment.type et la propriété database.password est
remplie. Ainsi, vous pouvez mettre toute la configuration spécifique à la production dans le fichier
pom.xml du projet et retirer seulement le mot de passe nécessaire pour accéder à la base
de données de production.
Ces informations privées sont en général contraires à la portabilité, mais ce que nous venons de faire a du sens. Vous ne voudriez pas partager vos secrets avec n'importe qui.