Format international numéros de téléphone

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par spout, 13 Septembre 2010.

  1. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
    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:
    +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:
    32 84 123456
    32 4 1234567
    33 4 12345678
    
    Et pour l'affichage (traitement PHP):
    Code:
    +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 ?
     
  2. Anto1982
    Anto1982 WRInaute passionné
    Inscrit:
    7 Mai 2009
    Messages:
    1 113
    J'aime reçus:
    0
    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...
     
  3. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    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...
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
    C'est pour uniformiser les numéros dans un site de petites annonces et un annuaire, donc encodage et affichage pour les visiteurs.
     
  5. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    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").
     
  6. mipc
    mipc WRInaute accro
    Inscrit:
    11 Février 2009
    Messages:
    3 104
    J'aime reçus:
    0
    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:
    <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.
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
    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:
    +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:
    +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
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
    Je suis retombé sur cette page:
    http://en.wikipedia.org/wiki/E.123
    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:
    Source: http://www.itu.int/rec/T-REC-E.123-200102-I/en
     
  9. erix2
    erix2 Nouveau WRInaute
    Inscrit:
    10 Mars 2009
    Messages:
    10
    J'aime reçus:
    0
    Très intéressant, merci pour les infos c'est exactement ce que je cherchais ;)
     
  10. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 163
    J'aime reçus:
    338
Chargement...
Similar Threads - international numéros téléphone Forum Date
Choix de NDD pour l'international Référencement international (langues, pays) 17 Janvier 2022
Stratégie Blog de Niche Internationalisé et duplicate content Référencement Google 19 Décembre 2021
Search Console Ciblage international Référencement international (langues, pays) 18 Février 2021
Comment référencer un site à l'international anglais grâce au netlinking ? Débuter en référencement 11 Janvier 2021
quelle extension de NDD pour le SEO en France et la vente à l'international ? Référencement international (langues, pays) 9 Janvier 2021
SEO : que faire de la racine d'un site international en .com ? Référencement international (langues, pays) 29 Mai 2020
Différence entre SEO france et SEO international? Référencement Google 20 Novembre 2019
Plan de migration site international Référencement international (langues, pays) 4 Janvier 2019
référencement international : faut-il tout traduire ? traduction auto suffit ? Référencement international (langues, pays) 11 Septembre 2018
Utilisation NDD expiré international Netlinking, backlinks, liens et redirections 18 Avril 2018
Comment ecrire sur les RS à l'international Autres réseaux sociaux 17 Mai 2017
Internationalisation meta et contenu Référencement international (langues, pays) 6 Avril 2017
Probleme d'internationalisation malgré des réussites Référencement international (langues, pays) 9 Mars 2017
Business local et référencement international Débuter en référencement 27 Février 2017
.net ou .org pour site destiné aux US et international Noms de domaine et référencement 20 Février 2017
Code pays du répertoire selon standard = meilleur SEO international ? Référencement international (langues, pays) 5 Octobre 2016
Search console / Ciblage international Crawl et indexation Google, sitemaps 26 Septembre 2016
Référencement international d'artiste Référencement international (langues, pays) 24 Septembre 2016
Internationalisation avec domaine - Images et autres fichiers publiques Référencement international (langues, pays) 21 Septembre 2016
URL - internationaliser son site Débuter en référencement 14 Juillet 2016