Format international numéros de téléphone

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics


spout
WRInaute accro
WRInaute accro
 
Messages: 8336
Enregistré le: 14 Mai 2003

Format international numéros de téléphone

Message le Lun Sep 13, 2010 16:34

Bonjour,

Ça fait un moment que je cherche le format optimal pour enregistrer et afficher des numéros de téléphones au format international.

J'ai regardé quelques explications:
http://en.wikipedia.org/wiki/Telephone_numbering_plan

Le format le plus standard semble être du style:
Code: Tout sélectionner
+3284123456

préfixe pays: +32, préfixe régional: 084, numéro: 123456

Mais ce format n'est pas ce qu'il y a de plus facile à lire pour les utilisateurs afin de composer le numéro, je cherche le moyen pour que ce soit simple à encoder et à lire. Faire 3 champs différents par numéro n'est pas simple/ergonomique non plus (niveau encodage utilisateur).

Pour l'encodage, je pensais à une validation et l'enregistrement dans ce format:
Code: Tout sélectionner
32 84 123456
32 4 1234567
33 4 12345678


Et pour l'affichage (traitement PHP):
Code: Tout sélectionner
+32 84 12 34 56
+32 4 123 45 67
+33 4 12 34 56 78


Qu'en pensez-vous ? Avez vous déjà réfléchi à cette problématique des numéros internationaux ?

Anto1982
WRInaute passionné
WRInaute passionné
 
Messages: 1379
Enregistré le: 7 Mai 2009

Re: Format international numéros de téléphone

Message le Lun Sep 13, 2010 17:07

Oui.... et c'est un vrai casse tête... car chaque pays a sa propre convention d'usage... en plus du code pays + code regional...: la séparation des numeros.

Parfois c'est 2 par 2 (exemple de la France)
Aux USA, on aura encore un truc différent, genre 3 par 3 puis, dans un autre pays, ce sera 2, 3 et 2... etc...

Bref, je suis d'accord, c'est un vrai casse tête...

La solution que j'ai retenu pour ma part c'est:

le code pays: formaté de la façon suivante: +XXX (sans le double zero)
Le code regional (sans le zero) + le reste... je laisse le choix à l'utilisateur de segmenter cette partie à sa convenance...

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2820
Enregistré le: 13 Fév 2004

Re: Format international numéros de téléphone

Message le Lun Sep 13, 2010 19:41

Ouaip, c'est même plus compliqué que ça:

- dans un pays donné, tous les numéros n'ont pas forcément la même longueur
- dans un pays donné, le découpage ne se fait pas toujours de la même façon, même pour les numéros d'un même type. Par exemple au Royaume-Uni, le préfixe de Londres et 020, donc on écrit 020 abcd efgh (même si la plupart des gens écrivent ça en fait 0207 abc defg ou encore 0207 abcd efg), mais dans certains villes le préfixe fait 4 chiffres, dans d'autres 5. Pareil en Allemagne, en Suisse si ma mémoire est bonne, etc.
- dans un pays donné, il existe souvent plusieurs classes de numéros (les numéros géographiques, mobiles, et les numéros non géographiques comme les 08 en France par exemple). Chacun a souvent ses propres règles, mais elles ne sont pas toujours fixes. Par exemple en France, un 08 sera généralement écrit 08ab cd ef gh (plutôt que 08 ab cd ef gh comme les autres numéros), voire 08ab cde fgh ou 0 8ab cde fgh [*]
- certains pays autorisent de taper des numéros "locaux" (comme du temps de la numérotation à 6/7 chiffres en France), d'autres uniquement des numéros nationaux entiers
- le préfixe "0" saute dans certains pas, pas dans d'autres (par exemple l'Italie)
- le préfixe n'est pas toujours le même (souvent 0, mais les pays d'Amérique tu Nord et dépendances utilisent le 1).
- certains numéros ne peuvent exister que localement (par exemple les numéros courts en 1xx et 3xxx en France), et ne peuvent pas s'écrire au format international.

Le format généralement (à part pour la dernière règle) le plus pratique est effectivement de stocker au format international (E.164), sans 00 ou + initial, puis de convertir à l'affichage, mais ça exige d'avoir tout un tas de règles pour faire la conversion comme il faut. Et en plus, ça change souvent.

L'autre alternative, c'est de stocker en format code pays + numéro local. Mais là encore, si tu veux pouvoir générer le numéro international, il va falloir avec des règles de conversion spécifiques à chaque pays. Même chose si tu stockes sous forme pays/région/numéro local.

Ah, j'ai failli oublier que les séparateurs ne sont pas toujours les mêmes. En France on utilise normalement l'espace (quelquefois le point), en Allemagne l'indicatif régional est séparé du reste par /, aux US on utiliser des tirets et/ou des parenthèses...

Bref, c'est le bordel. La grande question est de savoir ce que tu veux faire de ces numéros (comment/à qui tu veux les afficher), et accessoirement qui les rentre (à quel format).

Bon courage!

Jacques.

[*] évidemment l'usage consacré en France est 08 ABPQ MCDU et pas 08 abce fghi, mais on ne va pas chipoter...


spout
WRInaute accro
WRInaute accro
 
Messages: 8336
Enregistré le: 14 Mai 2003

Re: Format international numéros de téléphone

Message le Lun Sep 13, 2010 20:03

jcaron a écrit:La grande question est de savoir ce que tu veux faire de ces numéros (comment/à qui tu veux les afficher), et accessoirement qui les rentre (à quel format).

C'est pour uniformiser les numéros dans un site de petites annonces et un annuaire, donc encodage et affichage pour les visiteurs.

Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1847
Enregistré le: 31 Aoû 2007

Re: Format international numéros de téléphone

Message le Mar Sep 14, 2010 10:22

Je me rappelle en avoir bien chié (surtout côté validation) de mon côté.
J'avais trouvé comme technique (pour la saisie) une box "pays" (avec US/FR/etc.) qui remplaçait par le +33, +44.
Et après une boite "normale" qui demandait le numéro en format local, après je remplçais le 0 par le country code.
Vu que la correspondance entre "affichage du pays" et country code est dans la base de données, j'avais rajouté un champ "explode" ainsi qu'un "offset".
Ca donnait quelque chose du genre :
+33 (0) 6 25 XX XX XX
Le "offset" me sert à savoir "où" démarre le 06 du reste, et donc à 1. Le explode était à "2" dans ce cas (en France c'est 2/2).
Pour UK j'avais mis un peu différent.

Bon, c'était bien bien chiant à valider, car dès que tu rentres dans la validation de numéro de pays dont tu n'as pas d'exemple...

Voilà pour mon petit retour (moi j'étais surtout bloqué dans la section "validation").

mipc
WRInaute accro
WRInaute accro
 
Messages: 3574
Enregistré le: 11 Fév 2009

Re: Format international numéros de téléphone

Message le Mar Sep 14, 2010 12:10

intéressant se topic, je reco.

quelqu'un à penser au diffèrent href entre tel et call, à savoir que call est utiliser par skype sur pc, et que apparemment sur iPAD c'est tel qui est usité, de même que android ne semble compatible qu'avec tel.

Code: Tout sélectionner
<a href="tel:+331abcdefgh">01 AB CD EF GH</a>
<a href='skype:+331abcdefgh?call'>01 AB CD EF GH</a>


je me suis résolut à utiliser les deux sur mon site, le format SKYPE compatible en bas et en haut le format en tel:+33 compatible google android et iPAD/iPHONE.


spout
WRInaute accro
WRInaute accro
 
Messages: 8336
Enregistré le: 14 Mai 2003

Re: Format international numéros de téléphone

Message le Mar Sep 14, 2010 15:48

Merci à tous pour vos réponses, comme je vois c'est une belle problématique pour bcp d'entre nous.

Ça va être compliqué avec le groupement des numéros différent par pays.
En résumé, tous les numéros sont composés de préfixe international + préfixe régional + numéro.

Je pense que je vais opter pour ces 3 informations séparées par un espace, et sans le 0 du préfixe régional (s'il y en a un et si pas obligatoire, cfr Italie), ainsi avec un séparateur connu on peut explode() facilement le numéro pour traitements futurs.
Avec quand même le "+" pour mettre en évidence que c'est le préfixe international:
Code: Tout sélectionner
+32 84 123456
+32 4 1234567
+33 4 12345678
+1 418 1234567

Enregistrement fort semblable à l'E.164 (juste des espaces):
Number structure for global services: http://en.wikipedia.org/wiki/E.164


Pour les afficher de façon lisible (simple à composer au téléphone), sans respecter les normes de groupement de numéros par pays:
Code: Tout sélectionner
+32 84 12 34 56
+32 4 123 45 67
+33 4 12 34 56 78
+1 418 123 45 67

Si c'est nombre pair de chiffres: groupement par 2
Si c'est un nombre impair: 1 groupe de 3, le reste par 2


spout
WRInaute accro
WRInaute accro
 
Messages: 8336
Enregistré le: 14 Mai 2003

Re: Format international numéros de téléphone

Message le Mar Sep 28, 2010 17:02

Je suis retombé sur cette page:
http://en.wikipedia.org/wiki/E.123
Notation for national and international telephone numbers, e-mail addresses and Web addresses is an ITU-T standard for printed representation of telephone numbers, e-mail addresses, and web addresses.

vs
http://en.wikipedia.org/wiki/E.164

Donc si je comprend bien, la norme ITU-T pour l'affichage est plutôt la E.123.
La E.123 correspond à ce que je pensais faire, ils n'indiquent nulle par de normes pour le nombre de chiffre par groupe.
C'est même conseillé de les grouper:
Le bon ordonnancement des chiffres d’un numéro de téléphone est à conseiller pour des
raisons de mémorisation et de présentation orale ou écrite.

Source: http://www.itu.int/rec/T-REC-E.123-200102-I/en

erix
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Enregistré le: 10 Mar 2009

Re: Format international numéros de téléphone

Message le Sam Avr 14, 2012 14:35

Très intéressant, merci pour les infos c'est exactement ce que je cherchais ;)


spout
WRInaute accro
WRInaute accro
 
Messages: 8336
Enregistré le: 14 Mai 2003

Re: Format international numéros de téléphone

Message le Mer Mai 10, 2017 17:52

Pour ceux qui tomberaient sur ce topic :
https://github.com/giggsey/libphonenumber-for-php


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :