L'IETF a pour très longue tradition de fournir ses RFC en mode texte (du pur ASCII 7-bit).
Mais bon, les technologies évoluent, et IETF touche maintenant bien plus que des octets simplement ordonnés, il touche de nos jours autant à la crypto qu'aux formats de compression audio et vidéo. Et du coup, ça pourrait être sympa de présenter les principes mathématiques sous-jacents et autres en autre chose que de l'ASCII.
En 2016 l'IETF a sorti une RFC "HTML Format (…)
Journal [ma vie] Parfois, il est préférable de ne rien faire
Je lisais une Request For Comment et la lecture du fichier texte brut ne me satisfaisait pas : il serait tellement agréable d'avoir une version HTML, avec des liens dans la table des matières vers les sections, un style qui ferait moins mal aux yeux, etc.
Ce n'est pas la première fois que je n'étais pas enthousiaste face à ce qui s'affichait devant mes yeux. Mais cette fois-ci, ma réflexion fut de me dire que je pourrais écrire un greffon (…)
Lien RFC 8890: The Internet is for End Users
Journal Appel à commentaires concernant la lettre d'information XMPP
Nour jarchel,
Je reprends ici mon commentaire laissé sous la dernière traduction de la lettre d'information XMPP. Je vous laisse le soin d'aller consulter les quelques réponses qui y ont été partagées.
Néanmoins, j'espérais plus de réactions: je me permets donc cette métensomatose pour relancer les personnes qui seraient susceptibles d'avoir manqué ta première incarnation.
Si, par ailleurs, tu avais le même succès que la précédente, je te promets de ne pas récidiver.
Sur ce, bon vent.
En préambule (…)
Lien Le protocole QUIC désormais normalisé
Lien L4S (RFC9330) : nouveau standard de réduction de la latence réseau
Lien RFC 1925: The Twelve Networking Truths
Forum Programmation.web Filtrage d'une adresse électronique
Bonjour,
Avec une expression rationnelle (régulière ?), je cherche à filtrer un tant soit peu des adresses électroniques saisies dans un formulaire. Pour l'instant, je me base sur les RFC 5321 sections 4.1.2 and 4.1.3 + Errata :
email address = local-part@domain ou local-part@address-literal
local-part = (?:[a-zA-Z0-9!#$%&'*+\-/=?^_\x60{|}~]+(?:\.[a-zA-Z0-9!#$%&'*+\-/=?^_\x60{|}~]+)*)|(?:"[\x20-\x21\x23-\x5B\x5D-\x7E]*")|(?:"(?:\\[\x20-\x7E])*")
domain = (?:[A-Za-z0-9](?:[A-Za-z0-9\-]*[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9\-]*[A-Za-z0-9])?)*(?:\.)?)
Pour address-literal, ça devient folklorique, j'ai laissé tomber après avoir tenté un truc pourri du style :
(?:\[([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-5]))(?:\.([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-5]))){3}\])|(?:\[IPv6:[0-9A-F]{1,4}(?::[0-9A-F]{1,4}){7}\])|(?:\[IPv6:(?:[0-9A-F]{1,4}(?::[0-9A-F]{1,4}){0,5})?::(?:[0-9A-F]{1,4}(?::[0-9A-F]{1,4}){0,5})?\])|(?:\[IPv6:[0-9A-F]{1,4}(?::[0-9A-F]{1,4}){5}:([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-5]))(?:\.([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-5]))){3}\])|(?:\[IPv6:(?:[0-9A-F]{1,4}(?::[0-9A-F]{1,4}){0,3})?::(?:[0-9A-F]{1,4}(?::[0-9A-F]{1,4}){0,3}:)?([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-5]))(?:\.([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-5][0-5]))){3}\])|(?:\[[A-Za-z0-9\-]*[A-Za-z0-9]:[\x21-\x5A\x5E-\x7E]+\])
Donc si je me cantonne à local-part@domain, ça donne :
/^((?:[a-zA-Z0-9!#$%&'*+\-/=?^_\x60{|}~]+(?:\.[a-zA-Z0-9!#$%&'*+\-/=?^_\x60{|}~]+)*)|(?:"[\x20-\x21\x23-\x5B\x5D-\x7E]*")|(?:"(?:\\[\x20-\x7E])*"))@(?:[A-Za-z0-9](?:[A-Za-z0-9\-]*[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9\-]*[A-Za-z0-9])?)*(?:\.)?)$/
Je (…)