Vie de développeur web – L’URL qui avait un paramètre en trop

Voici une anecdote qui m’a étonnamment donné du fil à retordre cette semaine.

Au travail, nous utilisons déjà JIRA pour faire le suivi de nos tâches internes. Dans le passé, nous avons essayé diverses initiatives pour faire le suivi des correctifs pour les anomalies identifiées par le client. Courriels, un Google Document ou même juste le bon vieux téléphone dans les cas extrêmes.

À tous les coups, c’est l’étape de faire le triage de ces tâches qui nous rend la vie difficile.

L’idée est d’intégrer le plug-in JIRA Issue Collector qui permet, à même votre site, de soumettre des anomalies et de collecter quelques statistiques sur le contexte de la soumission (navigateur, page web, etc.).

Est-ce que vous voyez où je m’en vais avec cette histoire? L’intégration du plug-in est pourtant très simple. Vous procédez à quelques configurations sur une page pour la mise en marche du plug-in et vous intégrez une déclaration de script JavaScript qui est générée automatiquement par l’outil de configuration.

Cependant, pour une raison que j’ignorais, au bout d’une heure, j’ai commencé à comparer ma situation à celle de Rocky Balboa.

Rocky-Bolboa-IV[1]

Je n’arrivais simplement pas à faire fonctionner le sapristi de script sur ma page! Au point où j’en étais, j’avais déjà tenté, en vain, les solutions suivantes:

  • Intégrer le script sur mon site en désactivant le JavaScript
  • Créer une page HTML simple en y intégrant le strict minimum pour faire fonctionner le script selon la documentation
  • En faire part à un collègue qui a fait une intégration similaire dans le passé pour voir ce qui se passe.
  • Demander à un collègue, choisi au hasard dans le bureau, pour exécuter ma page HTML simple sur son poste.
  • Demander au collègue d’à côté de réviser mes essais précédents.
  • Reconfigurer le script du côté de JIRA afin de m’assurer que je ne suis pas fou.

Toujours sans succès. À ce point-là, j’ai entamé la quête pour décompiler le code fourni par le JavaScript afin de mieux comprendre son fonctionnement et finir par mettre le doigt sur ce qui ne fonctionne pas. Après tout, le web est une grande boîte ouverte.

Comme prévu, le code en question semblait en ordre. À l’exception d’un petit détail qui m’intriguait. Le paramètre d’URL utilisé pour lier ma configuration JIRA à ce qui sera exécuté sur mon site ne semblait pas être mis en mémoire. Encore là, le code en question était tout ce qui semblait de plus normal.

C’est au moment que j’étais sur le point d’abandonner complètement le dossier que je fais un dernier appel au collègue d’à côté. En faisant un topo de la situation, son attention se porte sur l’URL qui m’avait été fournie par le générateur de script.

L’URL avait la forme suivante: https://jira.com/s/5a9bd87b2535fbcebec42cad94544d8c-T/fr_FR-ga0u8z/6325/147/1.4.11/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=fr-FR?collectorId=abd34452

Cela fait déjà depuis presque cinq cents mots que j’en parle. Êtes-vous capable d’identifier la source du problème?

Il y a une anomalie dans le générateur de script du plug-in! Il semble que le cas où le script est configuré pour s’afficher en Français génère une URL avec deux points d’interrogation pour les paramètres d’URL.

C’est ainsi que j’ai découvert que l’URL avait un paramètre en trop! Une fois le deuxième point d’interrogation remplacé par une esperluette (&), le script a fonctionné à merveille!

Que mon témoignage serve d’exemple pour d’autres!

Advertisements

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l’aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment ce contenu :