Synolab

Lancer un client lourd depuis un lien avec un URI Scheme

Par Cédric M. le 18 octobre 2016

 Lecture 2 minutes

Nous avons régulièrement la demande suivante lorsque nous effectuons la mise en place d’un outil CRM chez nos clients : je souhaite qu’au clic sur le bouton cela ouvre mon application lourde de gestion qui a été développée spécialement pour moi sur la fiche du client correspondant. Étant donné que les outils que nous mettons en place sont des outils web, les possibilités pour répondre à cette demande sont assez limitées.

Si ladite application lourde peut prendre en paramètre un identifiant client par exemple pour ouvrir directement la fiche correspondante alors il est possible d’utiliser la notion d’URI Scheme. Cela concerne uniquement les plateformes Windows, car lorsque nous avons ce genre de demande c’est que le client utilise généralement ce système d’exploitation.

La notion d’URI Scheme permet de lancer une commande particulière lorsque vous cliquez sur un lien qui commence par un certain texte. Ce préfixe est communément un protocole de transport du genre https, https, ftp ou bien un mot clé comme mailto.

Pour qu’un préfixe de ce type soit reconnaissable par un navigateur il faut le déclarer au préalable auprès du système d’exploitation et cela se passe communément dans la base de registre sous Windows. Voici donc un exemple de clé de registre permettant de déclarer cela :

Imaginons le lien HTML dont la cible de la balise href est mycustomapp://CustomerId
La règle de registre ajoutée permet de traiter ce nouveau protocole mycustomapp comme lien car l’entrée URL Protocol est positionné. Lorsqu’un utilisateur clique sur ce lien alors le navigateur lance la commande C:\Path\To\My\CustomApp\mycustomapp.cmd "mycustomapp://CustomerId"

Et votre application s’ouvre alors sur la fiche client souhaitée !

Cédric M.

Quand l'aPHPétit va tout va !

GIF