Mais c'est quoi, ces segments ?
Temps de lecture: 4 minutes
Vous avez conçu le message texte parfait. Le coup d'envoi d'un roman en un seul SMS, digne de Shakespeare. Votre campagne se déroule à merveille. Et alors que vous jetez un œil à vos coûts, vous constatez qu'ils sont quatre fois supérieurs à ce que vous attendiez. C'est là que vous vous demandez : Mais c'est quoi, ces segments ? Et pourquoi y en a-t-il autant sur ma facture ?
Pour le savoir, il faut revenir aux bases des normes SMS. Voici ce que nous allons voir :
- Que sont les segments et quel est leur impact sur votre facture
- Les normes de codage et les en-têtes que vous utilisez pour envoyer des messages
- Comment élaborer le message parfait
- Les pièges subtils et des conseils de pro
Zoom sur le bon vieux Nokia incassable pour comprendre les segments de message
Vous souvenez-vous des messages que vous envoyiez avec votre vieux Nokia indestructible ? Lorsque vous écriviez sur le clavier T9, vous pouviez voir un compteur qui démarrait à 160 avec le chiffre 1 à côté. Lorsque le compteur atteignait 0, le 1 qui était à côté du 160 devenait un 2.
Vous saviez alors que vous auriez deux messages sur votre facture. Le premier chiffre affichait le nombre de caractères restants par segment et le second affichait le nombre de segments que vous aviez utilisés.
![](/content/dam/twilio-com/global/en/blog/legacy/2017/what-the-heck-is-a-segment-html/brickphone.png)
Ce qui a changé dans les segments depuis lors
Les normes SMS ont à peine changé depuis l'époque du Nokia. Les messages sont toujours envoyés par blocs de 140 octets appelés segments de message.
Lorsque Twilio communique avec les opérateurs pour envoyer des SMS, nous leur envoyons un segment à la fois. Pour déterminer le nombre de caractères dont vous disposez, nous allons devoir faire un petit calcul.
Un peu de maths pour mieux comprendre les segments
Le codage SMS standard utilise le jeu de caractères GSM 03.38 qui prend 7 bits pour encoder un caractère. 140 octets × 8 bits dans un octet divisé par 7 bits nous donnent le segment de message à 160 caractères.
Les segments de message servent à Twilio (et à l'industrie du SMS en général) pour compter les messages.
Cela signifie qu'en plus de vos coûts, vous devez également réfléchir en matière de segments lorsque vous analysez le débit SMS. Le débit varie en fonction du numéro d'envoi que vous utilisez, mais dans tous les cas, il est compté en segments de message par seconde plutôt qu'en nombre total de messages.
Si vous tenez à envoyer votre message dans une plage précise, assurez-vous de connaître le nombre de segments que vous envoyez.
Comment se comporte le message parfait ?
Revenons à votre message texte parfait. Vous avez compté les caractères, mais il y a encore quelque chose qui ne va pas. Vous n'avez utilisé que 210 caractères, mais il semble que chacun de ces messages comporte plus de deux segments.
![Quatre segments à cause du codage UCS-2](/content/dam/twilio-com/global/en/blog/legacy/2017/what-the-heck-is-a-segment-html/two_segments.png)
Une partie de la réponse réside dans l'encodage. Vous pouvez voir que l'encodage utilisé est UCS-2 au lieu de GSM. Pour traiter ce message en feu, Twilio doit utiliser un autre jeu de caractères. Vous avez peut-être remarqué que si vous cliquiez sur le lien GSM ci-dessus, il ne contenait pas de « ? ». Lorsque vous envoyez des messages avec des caractères non GSM tels que des emojis, nous devons utiliser un autre type d'encodage appelé UCS-2. UCS-2 utilise 16 bits pour encoder chaque caractère. En revenant aux calculs ci-dessus, nous avons donc une limite de 70 caractères (140 octets × 8 bits dans un octet / 16 bits). Outre les emojis, vous devez également faire attention aux caractères accentués. GSM 03.38 inclut certains caractères accentués tels que ñ, à et ö, mais n'inclut pas d'autres caractères tels que á, í ou ú.
À quoi sert un en-tête de données, exactement ?
Il semblerait qu'avec cette limite de 70 caractères, ce message ne devrait contenir que trois segments, et non quatre. La dernière pièce du puzzle réside dans la concaténation. Lorsque vous envoyez plusieurs segments, Twilio utilise les en-têtes de données utilisateur pour indiquer à la destination comment les réassembler. Cela prend jusqu'à 6 octets par message, ce qui ne laisse que 67 caractères pour les messages encodés en UCS-2 ou 153 pour les messages encodés en GSM.
Après tout, peut-être que les emojis n'en valent pas le coup. Cependant, lorsque vous réduisez le même message et que vous le renvoyez, il y a encore quelque chose qui ne va pas :
![Trois segments SMS à cause du codage](/content/dam/twilio-com/global/en/blog/legacy/2017/what-the-heck-is-a-segment-html/one_segment_reduced.png)
Ce message contient deux des « pièges » qui entraînent souvent des problèmes de codage : les guillemets incurvés et les espaces non GSM. Regardez ce message qui semble presque identique :
![1 segment encodé en GSM-7](/content/dam/twilio-com/global/en/blog/legacy/2017/what-the-heck-is-a-segment-html/Image02.png)
Seuls trois caractères ont été modifiés : les espaces entre les phrases sont passés de « » à « » (U+2002 à U+0020) et l'apostrophe incurvée après « Shakespeare » a été remplacée par une apostrophe standard, ’ au lieu de ' (U+2019 à U+0027). Les apostrophes et guillemets incurvés sont généralement le résultat d'éditeurs de texte beaucoup trop avancés. Les espaces non GSM sont généralement le résultat d'un copier-coller. Faites très attention à ces espaces car ils sont souvent convertis en espaces classiques à l'affichage. La console twilio.com en est un exemple : les corps de message qui contiennent des espaces non GSM dans l'API seront formatés en espaces U+0020 standard à l'affichage.
Il est toujours important de connaître le jeu de caractères avant d'envoyer des messages. Vous pouvez également utiliser l'application suivante pour consulter des messages spécifiques en amont : https://twiliodeved.github.io/message-segment-calculator/.
Grâce à cet article de blog, vous allez pouvoir prendre les bonnes décisions concernant les emojis, vérifier la présence de guillemets incurvés et d'espaces non GSM et compter avec précision les segments, le tout avant de lancer votre campagne et non après.
Articles associés
Ressources connexes
Twilio Docs
Des API aux SDK en passant par les exemples d'applications
Documentation de référence sur l'API, SDK, bibliothèques d'assistance, démarrages rapides et didacticiels pour votre langage et votre plateforme.
Centre de ressources
Les derniers ebooks, rapports de l'industrie et webinaires
Apprenez des experts en engagement client pour améliorer votre propre communication.
Ahoy
Le hub de la communauté des développeurs de Twilio
Meilleures pratiques, exemples de code et inspiration pour créer des expériences de communication et d'engagement numérique.