Bonjour tout le monde,

Cette semaine, j’ai travaillé sur un bug dans l’un de mes logiciels lié à une API REST. Je constate que depuis quelques jours j’ai des exceptions DateTimeParseException dans les logs, lorsque le logiciel contacte l’API alors que ça ne l’avais jamais fait avant. Je vais sur la documentation de l’API et la je lis que le format de la date et l’heure est ISO 8601 sans plus de précision avec un lien vers le site officiel iso.org. Sauf que je constate avec stupeur que le document est derrière un paywall, et que c’est pas donné en plus : 158 CHF, (je précise que je ne savais pas encore à ce moment là que les normes ISO étaient payantes).


N’ayant pas accès au document, je contacte le dev qui a développé le client de l’API, pour lui demander sur quels informations il s’était basé pour parser la date et l’heure de cette API, il m’avoue qu’il n’a pas consulté le document ISO 8601 mais qu’il est allé cherché des infos sur Internet et a utilisé du coup la RFC3339, en pensant que ça serait équivalent. Du coup il a utilisé le format : YYYY-MM-DD HH:MM:SS-00:00 (L’heure est en UTC) et m’a dit que ça fonctionnait très bien à l’époque. Ne comprenant pas pourquoi ça ne fonctionne plus j’ouvre un ticket auprès du support de l’API, et il me répondent que ce format n’est pas correct et n’est pas ISO 8601, et ils me disent que le véritable format est YYYY-MM-DDTHH :MM:SSZ (le Z à la fin voulant dire UTC).


Je me suis renseigné par la suite sur l’article Wikipédia ISO 8601, et j’apprends qu’il y a des différences avec la RFC3339 :

* Dans ISO il faut obligatoirement mettre le « T » entre la date et l’heure mais pas dans la RFC

* Le fuseau horaire -00:00 (avec un – devant) est autorisé dans la RFC3339 mais pas dans la norme ISO

Je trouve ça scandaleux de faire payer l’accès à des standards, un standard payant ne peut pas être considérer comme un standard si seulement une poignée de personne ne peut y accéder. La propriété intellectuelle est à l’origine de source de bugs et d’énervement. Je pense qu’on devrait boycotter les normes ISO et n’utiliser que des standards publiquement accessibles.
Ne faites pas de standards si c’est pour les planquer derrière un paywall.

Fin du coup de gueule,
Bonne soirée et bon Week-end.


---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à