Le champ d'adresse (URL)

Le champ d'adresse prend en charge divers protocoles spéciaux et paramètres substituables.

Conseils et astuces d'utilisation :


Les capacités standard

Le champ d'adresse peut exécuter n'importe quelle URL valide pour laquelle un gestionnaire de protocole est défini. Sur la plupart des systèmes, au moins les protocoles http://, https://, ftp:// et mailto: sont définis. KeePass prend en charge tous les protocoles pris en charge par Windows.

Par exemple, si vous enregistrez globalement (c'est-à-dire en utilisant l'explorateur Windows) PuTTY pour les URL ssh://, alors KeePass utilisera également automatiquement PuTTY pour les URL ssh://.


L'exécution de lignes de commande

Au lieu d'une URL, vous pouvez également exécuter des lignes de commande en utilisant le champ adresse. Pour indiquer à KeePass que la ligne que vous avez saisie est une ligne de commande, préfixez-la en utilisant cmd://. Par exemple : si vous souhaitez exécuter le Bloc-notes, votre URL pourrait ressembler à ceci :

cmd://C:\Windows\Notepad.exe C:\Test\MonFichierDeTest.txt

Le protocole cmd:// virtuel prend également en charge les paramètres des fichiers exécutables, contrairement au protocole file://. C'est la principale raison pour laquelle cmd:// a été introduit ; avec file:// vous ne pouvez pas passer de paramètres aux applications démarrées. Utilisez plutôt le protocole cmd://.

Les chemins du protocole cmd:// n'ont pas besoin d'être codés. Par exemple : vous n'avez pas besoin de remplacer les espaces par %20, comme il est normalement requis pour les autres URL. KeePass élimine simplement le préfixe de protocole virtuel cmd:// et transmet la ligne de commande restante au système.

Si le chemin du fichier contient des espaces, alors vous devez le mettre entre doubles quotes (").

Les variables d'environnement :
Les variables d'environnement système sont prises en charge. Le nom de la variable doit être entouré de caractères '%'. Par exemple : %TEMP% est remplacé par le chemin temporaire de l'utilisateur.

Les chemins UNC :
Les chemins UNC de style Windows (commençant par \\) sont directement pris en charge, c'est-à-dire qu'ils n'ont pas besoin d'être préfixés par cmd://.

Les doubles quotes (") et les barres obliques inverses (\) :
il existe plusieurs ensembles de règles pour l'analyse des lignes de commande (structure SHELLEXECUTEINFOW, fonction CommandLineToArgvW, main function and command line arguments, etc.). Ces ensembles de règles sont contradictoires ; les lignes de commande sont interprétées différemment. Par exemple : dans la documentation de la structure SHELLEXECUTEINFOW, les barres obliques inverses n'ont pas de signification particulière, tandis que la fonction CommandLineToArgvW interprète parfois une barre oblique inverse comme un caractère d'échappement. Autre exemple : A"""B C"""D est interprété comme un argument (à savoir A"B C"D) par le code de démarrage Microsoft C/C++ (fonction main), alors que la fonction CommandLineVersArgvW renvoie deux arguments (à savoir A"B et C"D). KeePass ne peut pas savoir comment l'application exécutée interprétera sa ligne de commande, et il n'y a pas d'encodage de ligne de commande qui soit interprété comme prévu par toutes les applications. Par conséquent, nous recommandons :

  • d'utiliser des doubles quotes(") uniquement pour indiquer le début et la fin du chemin du fichier ou d'un argument. N'utilisez pas de double quote dans les données qui nécessitent un codage. Par exemple : si votre ligne de commande contient un paramètre substituable {PASSWORD}, alors le mot de passe ne doit pas contenir de double quotes.
  • d'utiliser une barre oblique inverse uniquement lorsque le caractère suivant n'est pas une double quote, c'est-à-dire évitez \". En particulier, évitez les données se terminant par une barre oblique inverse si une double quote suit sur la ligne de commande. Par exemple, si la ligne de commande contient un argument comme -pw"{PASSWORD}", le mot de passe ne doit pas se terminer par une barre oblique inverse, car sinon le remplacement du paramètre substituable entraîne la séquence \" problématique.

Systèmes de type Unix :
sur les systèmes de type Unix, KeePass suppose que les doubles quotes (") et les barres obliques inverses (\) doivent être encodées. De plus, KeePass suppose que les simples quotes (') n'apparaissent que dans des contextes où elles ne doivent pas être encodées (par exemple : à l'intérieur de doubles quotes). Ainsi, si l'un de vos arguments peut contenir une simple quote, alors vous devez vous assurer qu'elle se trouve dans un tel contexte. Sous Windows, cela n'a pas d'importance, car les simples quotes n'ont pas de signification particulière ici.


Les paramètres substituables

Dans le champ adresse (URL), vous pouvez utiliser plusieurs paramètres substituables qui seront automatiquement remplacés lors de l'exécution de l'URL. Par exemple :

https://www.exemple.com/par_defaut.php?user={USERNAME}&pass={PASSWORD}

Pour cette entrée, KeePass remplacera {USERNAME} par les données du champ de Nom d'utilisateur et {PASSWORD} par les données du champ de Mot de passe lorsque vous exécutez le lien.

Pour une liste complète des paramètres substituables réservés pris en charge, alors consulter la page Les paramètres substituables.

Notez également que les paramètres substituables spéciaux sont également pris en charge. Par exemple : le paramètre substituable {APPDIR} est remplacé par le chemin du répertoire de l'application de l'instance KeePass en cours d'exécution. C'est le chemin absolu du répertoire contenant l'exécutable KeePass, sans barre oblique inverse à la fin. Si vous souhaitez démarrer une nouvelle instance de KeePass, alors vous pouvez définir l'URL sur :

cmd://"{APPDIR}\KeePass.exe"

Pour utiliser différents navigateurs pour les entrées, vous pouvez utiliser des URL telles que les suivantes :
cmd://{INTERNETEXPLORER} "https://www.exemple.com/"
cmd://{FIREFOX} "https://www.exemple.com/"
cmd://{OPERA} "https://www.exemple.com/"
cmd://{GOOGLECHROME} "https://www.exemple.com/"
cmd://{SAFARI} "https://www.exemple.com/"
Le paramètre substituable du navigateur sera remplacé par le chemin de l'exécutable du navigateur (si le navigateur est installé).


La modification du gestionnaire d'adresse (les remplacements d'adresse (URL))


Le comportement du champ d'adresse peut être remplacé individuellement pour chaque entrée à l'aide du champ 'Remplacer l'adresse' (onglet 'Propriétés' dans la boîte de dialogue de l'entrée). Cela vous permet d'exécuter une URL spécifique, tout en utilisant le champ d'adresse pour (uniquement) stocker des données. Lorsque vous double-cliquez sur le champ d'adresse (URL) de l'entrée dans la fenêtre principale, la ligne de commande spécifiée (dans le champ 'Remplacer l'adresse') sera exécutée.

En utilisant un navigateur différent :
Si votre navigateur par défaut est Firefox et que vous souhaitiez ouvrir un site spécifique avec Internet Explorer, alors spécifiez les éléments suivants dans le champ de remplacement d'adresse :

cmd://{INTERNETEXPLORER} "{URL}"

KeePass ouvrira Internet Explorer et transmettra les données du champ d'adresse (URL) en tant que paramètre. Cela utilise un paramètre substituable pour trouver Internet Explorer.

La modification globale du comportement de l'URL :
Si vous souhaitez modifier l'action d'URL par défaut pour un protocole d'URL (par exemple : http://, https:// ou ftp://), alors vous pouvez définir un remplacement de protocole d'URL dans 'Outils' → 'Options' → onglet 'Intégration ' → 'Remplacer l'adresse (URL)'. Cela permet par exemple de spécifier un navigateur par défaut pour des sites Web (dans la boîte de dialogue, vous pouvez trouver plusieurs remplacements pour les navigateurs comme Internet Explorer, Mozilla Firefox, Opera et Google Chrome).

Les remplacements du protocole d'une adresse (URL) peuvent également être utilisés pour définir de nouveaux protocoles. Par exemple : si vous souhaitez définir un protocole kdbx:// qui ouvre une autre base de données KeePass, alors spécifiez ce qui suit comme remplacement pour le protocole kdbx (sur Windows) :
cmd://"{APPDIR}\KeePass.exe" "{BASE:RMVSCM}" -pw-enc:"{PASSWORD_ENC}"
sur des systèmes de type Unix (Mono) :
cmd://mono "{APPDIR}/KeePass.exe" "{BASE:RMVSCM}" -pw-enc:"{PASSWORD_ENC}"
Si une entrée a maintenant une URL ressemblant à kdbx://CheminVersVotreBaseDeDonnées.kdbx et le mot de passe maître pour cette base de données dans le champ de mot de passe, alors double-cliquer sur l'URL de l'entrée dans la fenêtre principale ouvre l'autre base de données. Le paramètre de ligne de commande -pw-enc et le paramètre substituable {PASSWORD_ENC} permettent de transmettre le mot de passe maître de l'autre base de données sous forme chiffrée, c'est-à-dire que les moniteurs de processus et les utilitaires similaires ne peuvent pas lire le mot de passe maître.



Démarrage de sessions RDP/TS

Vous pouvez utiliser le champ d'adresse (URL) des entrées et le protocole virtuel cmd:// pour démarrer des connexions de bureau à distance.

Pour cela, saisissez ce qui suit dans le champ d'adresse (URL) d'une entrée :

cmd://mstsc.exe

Maintenant, lorsque vous double-cliquez sur le champ d'adresse (URL) de l'entrée dans la fenêtre principale, une connexion de bureau à distance Windows est initiée.

MSTSC est le programme de connexion au serveur de terminaux Windows (connexion au bureau à distance). Vous pouvez transmettre un chemin d'accès à un fichier RDP existant au programme pour l'ouvrir. Par exemple : l'URL suivante ouvre le fichier RDP spécifié :

cmd://mstsc.exe "C:\Mes fichiers\Connexion.rdp"

MSTSC prend également en charge plusieurs options de ligne de commande :

  • /v:<Server[:Port]>
    Définit le serveur de terminaux auquel se connecter.
  • /console
    Se connecte à la session de terminal du serveur.
  • /f
    Démarre le client en mode plein écran.
  • /w:<Width>
    Définit la largeur de l'écran du bureau à distance.
  • /h:<Height>
    Définit la hauteur de l'écran du bureau à distance.
  • /edit
    Ouvre le fichier RDP spécifié pour édition.
  • /migrate
    Migre les anciens fichiers de connexion vers les nouveaux fichiers RDP.


L'exécution de commandes Shell intégrées

Le champ d'adresse (URL) peut être utilisé pour démarrer des applications/documents et URL. Si vous souhaitez exécuter une commande Shell intégrée, tel que par exemple COPY, alors cela ne fonctionne cependant pas directement, car il n'y a pas de COPY.EXE (en fait dans Windows 9x il y en avait une, mais sur tous les systèmes d'exploitation Windows modernes, ces commandes sont intégrées à la fenêtre de ligne de commande).

Afin d'exécuter des commandes Shell intégrées, vous devez les transmettre à l'interpréteur de ligne de commande cmd.exe.

Pour la commande COPY, vous devez spécifier cmd.exe en tant que fichier exécutable et /C COPY depuis vers comme arguments (où 'depuis' et 'vers' sont des chemins). Le paramètre /C indique à cmd.exe d'exécuter la ligne de commande qui suit.

Dans le champ d'adresse (URL), votre URL ressemblerait à ce qui suit :
cmd://cmd.exe /C COPY depuis vers
Dans d'autres emplacements, comme les lignes de commande dans le système de déclencheur, vous pouvez omettre le préfixe d'URL cmd://.