ISO: liens & outils utiles

Voici quelques normes ISO à connaître et que vous aurez à faire face dans vos développements. Et quelques liens / outils permettant de s'assurer que nous faisons correctement leurs intégrations


Code Pays

https://countrycode.org/ est super site qui permet de lister les pays du monde avec leur country code (en mode number et iso):




Et par pays, nous pouvons avoir des informations supplémentaires, comme le format téléphone, la position géographique, la time zone, la monnaie, etc:



Ce site du coup regroupe les country code:
  • En ISO 3166 name (où un nom est attribué à un pays)
  • En ISO 3166 numeric (où un chiffre numérique est attribué à un pays)
  • En ISO 3166-1 alpha-2 (code en 2 alpha majuscule)
  • En ISO 3166-1 alpha-3 (code en 3 alpha majuscule)

Ainsi que les langues.

Tout cela est d'ailleurs regroupés dans ce fichier téléchargeable.




Code langue / locale

Là, nous tombons dans un des plus grands soucis d'un développeur: comment s'écrit une locale ?

Nous avons deux écritures "officielles":
  • languageCode-CountryCode
  • languageCode_CountryCode
Le language code et le country code en 2 alphas, où le language code est en minuscule et le country code en majuscule. Même ce dernier n'est pas rare d'être vue en minuscule.


Du coup, des exemples de codes correctes:
  • fr-FR
  • fr_fr
  • en-GB
  • en-US
  • en_us

Un exemple typique de code pas bon: us-en ou us_en.

Cet ordre est d'autant plus important que certains cas apprête à confusion !
Par exemple "fr-ca" signifie le français canadien alors que "ca-fr" signifie ... le catalan français !!


https://lh.2xlibre.net/locales/ est une référence sur la liste des locales:



Les normes pour représenter une langue sont les suivantes:

  • En ISO 639-1 (code en 2 alpha minuscule)
  • En ISO 639-2 (code en 3 alpha minuscule)
  • En ISO 639-3 (code en 4 alpha minuscule)

Et du coup, une locale est l'usage de la norme ISO 6391-1 et de la norme ISO 3166-1 alpha-2.


Les dates

Basiquement (et classiquement), nous nous référons à la norme ISO 8601 qui fait foi et qui est fortement utilisé

Cetter dernière est toujours découpé en deux sections: dateTheure

La partie date est généralement représenté avec le format suivant: YYYY-MM-dd

Qui signifie tout simplement que:

  • L'année est sur 4 digits
  • Le mois sur 2 digits
  • Et enfin le jour du mois en 2 digits
Le tout séparé par des "-", même si une version abrégée existe, où nous n'avons pas à spécifier le dit tiret

Il est possible néanmoins d'avoir une autre représentation, mais alors il faudra préciser au parser le format attendu (se basant sur la norme). Par exemple YY-MM-dd fonctionne, où YY est les deux derniers digits de l'année. Nous pouvons ajouter le numéro de semaine également par exempe.

La partie heure est optionnel (et donc nous pouvons omettre le séparateur "T") et reprend le même principe (avec la possibilité en plus de préciser le fuseau horaire)


Pour plus de détails: https://fr.wikipedia.org/wiki/ISO_8601


Les timezones

Normalement comprises dans la norme ISO 8601, je fais une section à part car c'est surtout afin de fournir des outils, car nous pouvons trouver des choses curieuses.

Par exemple, saviez-vous que le décalage horaire avec le népal c'est ... 5h45 !

Et comme vous pouvez le voir avec l'image suivante, le découpage des fuseaux est exotique:



Pouvant avoir des aberrations, où deux petites îles du pacifique proche de 3 kms ont entre elles un décalage de plus de 24h ! Car une île est russe et l'autre américaine.


Cette page wikipedia liste les pays avec leurs timezones:
https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations

Même si le lien du début d'article https://countrycode.org/ fonctionne aussi

Commentaires

Posts les plus consultés de ce blog

NodeJs et SSL: une petite analyse

Créer sa commande slack en quelques minutes