Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment envoyer vos premiers SMS en Python avec Twilio ?

Twilio est une entreprise qui propose de faciliter la vie des développeurs et des entreprises en proposant des solutions de communication clés en main. Je suis sûr que vous avez déjà expérimenté les services de Twilio sans le savoir, par exemple quand vous commandez un VTC comme Uber et que vous recevez un SMS qui vous informe que votre demande a bien été prise en charge ou encore lorsque vous commandez à manger sur Deliveroo et que vous recevez des notifications de livraison sur votre Whatsapp.

Ainsi Twilio propose toute une gamme de services pour automatiser l’envoi d’emails, de SMS, d’appels, mais également la mise en place de communications vidéos ou de live stream vidéo et audio.

Qu’est-ce que Messaging X ?

Parmi toutes ces solutions, il y en a une que j’aimerai vous faire découvrir aujourd’hui. Il s’agit de MessagingX, la plateforme de messagerie de Twilio qui permet aux entreprises et aux développeurs de garder le lien avec leurs utilisateurs et clients au sein de leurs applicatifs, et cela peu importe les canaux (SMS, Whatsapp, Facebook…etc.). MessagingX laisse suffisamment de souplesse aux utilisateurs pour pouvoir « opt-out » à tout moment et permet d’obtenir la meilleure délivrabilité et le meilleur débit.

C’est donc une excellente solution très rapide à implémenter dans vos services si vous souhaitez envoyer des SMS ou des messages Whatsapp à vos utilisateurs dans le monde entier, sans vous prendre la tête avec les opérateurs et l’infrastructure de messagerie.

Et maintenant, on code

Maintenant que les présentations sont faites, je vous propose qu’on passe à un exemple concret d’envoi de SMS avec Twilio au travers de leur API. Pour débuter, vous allez avoir besoin d’un compte sur Twilio. C’est rapide à créer et si vous vérifiez votre compte, vous aurez même 20 $ de crédit offert pour vos tests.

Lors de l’inscription, vous devrez valider un numéro de téléphone. C’est avec ce numéro que vous pourrez effectuer vos tests.

Tous les exemples que je vais réaliser dans ce tuto seront en Python pour plus de facilité, mais sachez que Twilio peut fonctionner avec n’importe quel langage (PHP, Java, C#, JS, Ruby, Go…etc.) et qu’il y a de nombreux exemples disponibles dans la documentation.

J’ai besoin d’installer la bibliothèque Python de Twilio. Pour cela, il faut lancer la commande pip suivante dans un terminal :

pip3 install twilio

Dès que c’est installé, on va tester que la lib fonctionne bien. Pour cela, vous devrez vous munir de votre « Account SID » et du jeton d’authentification associé. Ce sont les identifiants Twilio nécessaires à l’API. Vous les trouverez en vous connectant à votre console.

Il faudra ensuite générer un numéro de téléphone. C’est le numéro que vous attribuera Twilio pour l’envoi de vos messages. Toujours dans la console, cliquez sur le bouton bleu « Get a trial phone number » pour obtenir ce numéro.

Et si vous n’aimez pas les numéros américains, vous pouvez toujours choisir un numéro FR en cliquant sur le lien « Search for a different number« 

Vous pourrez alors acheter un numéro du pays qui vous plaît. Dans mon cas, comme je suis sur l’offre d’essai, je vais rester sur le numéro gratuit US.

Mon nouveau numéro sera donc le +18507805044 ! Merci Twilio. Voyons maintenant ce que je peux faire avec ça. Je vais d’abord coder un simple envoi de SMS pour valider que tout fonctionne bien.

Créez un fichier sendmessage.py et mettez-y le code suivant en remplaçant les variables par vos infos.

Je mets des commentaires dans le code qui vous serviront d’explication.

# Demo Twilio par Korben - 2021

# On charge la lib Twilio et notamment l'API Rest
from twilio.rest import Client

# On stocke notre SID et notre jeton dans des variables
sid = "VOTRE_SID"
token = "VOTRE_JETON"

# Et on initialise notre objet client avec nos identifiants.
client = Client(sid,token)

# Puis on forge notre premier message
message = client.messages.create(
    
    # destinataire
    to="+336XXXXXXXX",
    
    # expéditeur (votre n° Twilio)
    from_="+18507805044",
    
    # votre message
    body="Hey salut, c'est Korben")

# J'affiche l'ID du message envoyé
print(message.sid)

Le numéro de téléphone du destinataire (to) et de l’expéditeur (from_) doivent être au format international, c’est-à-dire avec un « + » suivi de l’indicatif du pays. Concernant le corps du message (body), celui-ci est limité à 1600 caractères. Toutefois si le message contient plus de 160 caractères, Twilio enverra le message en plusieurs SMS.

Pour lancer ce script, appelez-le avec Python :

python sendmessage.py

Bravo, vous venez d’envoyer votre premier SMS.

Hyper simple n’est-ce pas ?

Maintenant, on va aller plus loin en envoyant un MMS ! Oui, avec une petite image dedans ! Pour cela, on va utiliser le paramètre « media_url » lors de la création du message comme ceci :

message = client.messages.create(
    to="+336XXXXXXXX",
    from_="+18507805044",
    body="Hey salut, c'est Korben",
    media_url="https://services.korben.info/images/assets/[email protected]")

Une image sera alors jointe au message et hébergée sur les serveurs de Twilio. Ainsi vous pourrez joindre des fichiers .gif, .png, .jpeg tant que vous ne dépassez pas les 10 fichiers pour un poids total de 5 Mo.

Maintenant quand on envoie des SMS via son propre code, on souhaite forcément avoir un retour pour savoir si le message a bien été délivré. Pour cela, il suffit d’utiliser le paramètre « status_callback » et de le faire pointer vers une URL de callback.

Si pour vos tests, vous n’avez pas de callback, vous pouvez également créer un postbin ici et spécifier l’URL du postbin dans votre code.

message = client.messages.create(
    to="+336XXXXXXXX",
    from_="+18507805044",
    body="Hey salut, c'est Korben",
    media_url="https://services.korben.info/images/assets/[email protected]",
    status_callback="http://postb.in/xxxxxxxxxxxxxx")

Vous saurez ainsi si le message a bien été envoyé, s’il est en file d’attente, si c’est un échec…etc.

Vous l’avez sûrement remarqué sur mes captures écran, l’expéditeur est un certain « 38077 ». Il s’agit de l’ID de l’expéditeur. C’est pas fou, mais heureusement, grâce à Twilio, on peut le personnaliser et mettre ce qu’on veut. Toutefois, cette option est réservée aux comptes payants.

Et pour Whatsapp ?

Et bien rien de plus simple. Tout d’abord, rendez-vous sur cette URL faire approuver votre numéro de test (le numéro « to ») auprès de Twilio. Vous devrez ajouter le contact indiqué sur la page et lui envoyer un message contenant le code donné sur la page. Et votre numéro sera alors ajouté dans les participants à la Sandbox.

Ensuite, dans le code Python, il suffira de mettre le numéro Whatsapp récupéré sur la sandbox et d’ajouter l’indicateur « whatsapp » devant les numéros de téléphone comme ceci :

message = client.messages.create(
    to="whatsapp:+336XXXXXXXX",
    from_="whatsapp:+14155238886",
    body="Hey salut, c'est Korben",
    media_url="https://services.korben.info/images/assets/[email protected]",
    status_callback='http://postb.in/1637163210278-8044048871379')

Et voilà ! Notez que vous pourrez faire de même avec Facebook Messenger disponible en beta ici.

MessagingX permet bien sûr de répondre automatiquement aux messages reçus en mettant en place un webhook sur votre serveur.

Et si vous voulez envoyer des messages vocaux, et bien même principe, sauf qu’à la place de « message » vous utiliserez « calls » comme ceci :

# Demo Twilio par Korben - 2021

# On charge la lib Twilio et notamment l'API Rest
from twilio.rest import Client

# On stocke notre SID et note jeton dans des variables
sid = "VOTRE_SID"
token = "VOTRE_JETON"

# Et on initialise notre objet client avec nos identifiants.
client = Client(sid,token)

# Puis on forge notre premier message audio
call = client.calls.create(
    twiml='<Response><Say>Hello guys!!! It's Korben</Say></Response>',
    to='+336XXXXXXXX',
    from_='+18507805044'
)

print(call.sid)

Vous recevrez alors un appel audio qui vous lira le message.

MessagingX permet évidemment de faire encore plus de choses en matière de personnalisation des messages, mais je vous laisserai maintenant creuser la documentation qui est vraiment bien fournie.

J’espère que ces explications vous auront convaincu de tester Twilio. N’oubliez pas qu’en vous inscrivant via ce lien, vous aurez 20 $ de crédits pour envoyer vos premiers messages.

Vous êtes entouré de gens qui ne comprennent rien à l’informatique et vous voulez leur en mettre plein les yeux ?

Alors, devenez hacker !

Trop compliqué, me direz-vous ? Que nenni !

Car oui, grâce au site GeekTyper, vous pouvez passer votre navigateur en plein écran et adopter un environnement de bureau totalement faux aux couleurs de la NSA, de Mr Robot, Umbrella Corp ou Militech.

GeekTyper permet de lancer des applications très flippantes de cracking de mots de passe, de coding à la vitesse de la lumière et autres machins qui font des lignes de commande automatiquement pendant que vous tapez sur votre clavier.

De quoi vous faire passer pour ce que vous n’êtes pas 🙂 En tout cas, il y a de quoi faire de bonnes blagues.

Un petit tour d’horizon en vidéo…

De mon côté, j’ai une grosse préférence pour l’ordinateur de Didier Raoult (lol) :

Le site est également disponible sous la forme d’un économiseur d’écran voire d’une application Windows si vous en faites un usage intensif. Et si votre truc, c’est de vous la raconter au bistrot, il y a également la version mobile sur Android.

GeekTyper c’est par ici.


PureVPN – Grosse promo Black Friday 2021

— Article en partenariat avec PureVPN —

Salut les amis. Vous savez sans doute que le Black Friday arrive très bientôt (cette année c’est le 26 novembre) et que c’est toujours une bonne occasion pour profiter d’un tas de services à prix réduit. Je vais d’ailleurs vous en proposer plusieurs dans les jours à venir, à commencer par PureVPN !

Ce dernier propose une offre à -88% sur l’abonnement 5 ans ! Pour 69€ vous êtes couvert durant 5 années, soit environ 1.14 €/mois. Difficile de faire mieux au vu de la qualité du service. Et peu de risques de payer pour voir l’outil disparaitre dans quelques mois puisqu’il existe depuis quasiment 15 ans.

J’ai déjà présenté plusieurs des avantages du VPN sur ce site et pourquoi je le considère comme l’un des plus sérieux. L’un des aspects dont j’avais vanté les mérites est que PureVPN est audité en permanence. Cela veut dire qu’ils peuvent se faire auditer à tout moment, et sans être prévenu, par les organes de surveillance. Le dernier en date c’était en août de cette année. C’est plutôt rassurant et l’on peut penser qu’ils respectent bien leurs engagements à ce niveau (un audit foiré aurait de graves conséquences sur leur réputation).

Justement à quoi s’engagent-ils ?

  • politique de non-conservation des logs
  • données chiffrées via l’algo AES 256-bit
  • support des protocoles de tunneling SSTP, OpenVPN & co
  • déconnexion automatique en cas de connexion interrompue (kill switch)
  • protection contre les fuites DNS, WebRTC et IPv6

PureVPN est aussi TRÈS flexible. Vous pouvez l’installer sur quasi toutes les machines et systèmes d’exploitation existants. Cela va des versions bureaux (Windows, macOS et Linux), aux versions mobiles (Android, iOS) en passant par les extensions pour navigateurs, les Smart TV ou encore les routeurs et autres consoles de salons. Le Raspberry Pi et peut-être même votre (trèèèèèès) vieux BlackBerry peuvent en profiter.

Au niveau de l’utilisation, c’est aussi pensé pour être accessible à tout le monde. Le VPN peut par exemple s’activer automatiquement dès le démarrage de la machine ou dès la connexion à un réseau wifi. Pratique pour les distraits.

De plus il vous propose toujours le serveur disponible le plus rapide dans votre situation, et cela parmi son parc de 6500 serveurs (20Gbps, 5G ready) répartis dans environ 80 pays sur les 5 continents. Donc ou que vous soyez dans le monde il y aura de quoi faire. Et vous pouvez donc bien entendu accéder aux contenus géolimités à ces différents pays dont les catalogues de plateformes vidéos (wink wink).

Avec PureVPN vous disposez aussi de la fonctionnalité de split tunneling, qui permet de protéger votre surf sur certaines applications tout en désactivant le VPN sur d’autres.

À noter aussi que le VPN va bientôt proposer de nouveaux outils plutôt cool. Par exemple le chiffrement des emails, un meilleur blocage des pubs et traqueurs ou encore une option qui permettra d’appliquer certains paramètres de sécurité directement à vos réseaux sociaux. Sans oublier un gestionnaire de mot de passe. Ces 4 produits devraient arriver dans les prochains mois et ne sont qu’une première étape, PureVPN visant à devenir une vraie suite complète en termes de sécurité informatique.

Autant en profiter dès maintenant, surtout que vous avez droit à connecter jusqu’à 10 appareils (dont 5 en simultanés) sur un même compte. Idéal pour protéger le reste de la famille à petit prix.

Profitez tout de suite de la promo à -88% sur 5 ans (1.14€/mois)

Qu’ont en commun :

  • Une soirée complètement bourrée
  • Une élection présidentielle
  • La recherche d’un travail de qualité
  • Un youtubeur dans la sauce
  • Un divorce compliqué

Vous ne voyez pas ?

Et bien c’est simple : L’absolue nécessité de nettoyer son compte Facebook avant que d’autres découvre un commentaire, une photo, un like… qui pourrait être retourné contre son auteur.

Et pour faire ça, rien de mieux que l’outil libre « Facebook Delete » qui permet de supprimer les contenus de votre choix (les likes, les commentaires, les posts…etc) aux dates de votre choix, sans vous fatiguer et sans avoir à supprimer tout votre compte Facebook.

L’outil est développé en Go et vous pouvez récupérer les sources ici mais des binaires pour Linux, Windows et macOS sont également téléchargeables ici.

Une fois téléchargé, rendez ce binaire exécutable comme ceci :

chmod +x deleter-linux

et lancez le :

./deleter-linux

Pour le lancer directement depuis les sources, faites comme ceci :

git clone https://github.com/marcelja/facebook-delete.git
cd facebook-delete
go install
go run deleter.go

Et voilà ! Vous aurez un compte Facebook tout beau tout propre pour aller de l’avant !


Vous connaissez ces sites payants qui permettent de surveiller un site web ou n’importe quel service exposé sur Internet ?

Et bien, plus la peine de chercher ce genre de truc de monitoring à la Uptime Bot ou StatusPage, car il existe l’équivalent sous licence libre que vous pouvez déployer sur votre propre serveur : Uptime Kuma.

Une fois en place sur un serveur, vous pouvez ajouter des sondes qui iront vérifier que le service que vous voulez surveiller répond bien toutes les X secondes / minutes. Et bien sûr, vous prévenir immédiatement dès que c’est inaccessible.

Uptime Kuma vous donnera le temps de réponse du dernier test, le temps de réponse moyen, le % d’uptime (disponibilité) sur 24h et sur 30 jours ainsi que la date d’expiration de votre certificat SSL.

De cette manière, vous pourrez donc contrôle la disponibilité des services en HTTP(s) / TCP / Ping / enregistrement DNS et Push. L’interface est plutôt jolie et vous pouvez le programmer pour recevoir des alertes via le service désiré : Telegram, Discord, Slack, email…etc.

Cerise sur le gâteau, une page de statut publique est également disponible pour que vous puissiez la communiquer aux gens qui ne peuvent plus se passer de vos services.

Ce script pour nodeJS peut s’installer dans un docker comme ceci :

docker volume create uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

Et si Docker ce n’est pas votre truc, vous pouvez également l’installer comme ceci :

# Mettez à jour NPM
npm install npm -g

#Clonez le git du projet
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# Lancez le service comme ceci : 
node server/server.js

Ensuite, y’a plus qu’à lancer votre navigateur et à vous rendrez sur l’URL locale suivante :

http://localhost:3001

Et dans le même style, il existe également Monitorix qui n’est pas un personnage d’Astérix, mais bien un outil open source de monitoring ou encore Cachet que vous pouvez télécharger ici. Merci à TeicionX et Polyum, pour l’info.


Le VPN Surfshark à -83% pour le Black Friday 2021 !

— En partenariat avec Surfshark —

Surfshark c’est un VPN dont je vous parle depuis un certain temps maintenant. Et la période du Black Friday est souvent propice à son lot de réduction pour les outils que sont les VPN, quasiment tous proposent un tarif réduit pour l’occasion. Aujourd’hui les 2 se rencontrent puisque Surfshark lance une promo à -83% sur l’abonnement 2 ans + 3 mois gratuits. Soit autour des 1.9€/mois.

Alors qu’il y a encore quelques années le VPN s’adressait avant tout aux paranoïaques geeks, il est devenu un outil incontournable. Tout le monde devrait en posséder un, c’est aussi simple que cela. Et si les VPN gratuits existent ils ne sont pas pour autant recommandés en termes de sécu voire fonctionnent tout simplement assez mal (lenteurs, pub partout, etc.). Alors que pour moins de 2 ou 3 €/mois vous pouvez allier qualité du service et sécurité renforcée. La plupart du temps sur plusieurs machines.

Interfaces desktop et mobile de Surfshark

Et c’est l’un des points forts de notre requin-surfeur, le nombre d’appareils ET le nombre de connexions simultanées sont illimités. Donc vous protégez tout le monde, quels que soient l’OS (Win/macOS/Linux), le type de machine (de bureau, mobile, tablette, console, smart TV), le navigateur (Chrome/Brave, Firefox, Edge), etc.

Pour ce qui est de la rapidité, ils viennent récemment d’améliorer leur parc de plus de 3200 serveurs en les passant à une vitesse de 10Gb/s au lieu de 1. De quoi être prêt à l’arrivée de la 5G et de quoi tenir la charge lorsque vous regardez votre série préférée sur Netflix US, ou le sport japonais sans restriction géographique ! (à tout hasard).

Parmi les fonctions de l’outil que j’appellerai « de base » (fuyez ceux qui ne les proposent pas) :

  • non-conservation de votre activité en ligne
  • kill switch (qui permet de vous déconnecter automatiquement en cas de perte de réseau et ne vous expose donc pas)
  • chiffrement AES-256-GCM
  • protocoles IKEv2/IPsec par défaut (possibilité d’utiliser OpenVPN, L2TP ou Wireguard)
  • protection contre les fuites IPv4
  • Authentification à 2 facteurs
  • audit indépendant (par Cure53 notamment)

Surfshark vous permet aussi de bénéficier de la fonctionnalité de split tunneling (qu’ils appellent Bypasser), donc vous pouvez créer des exceptions si vous désirez que certaines applications puissent contourner le VPN. Parce que certains sites ou services ne supportent pas toujours les connexions VPN (les banques & Co).

Surfshark Bypasser, split tunneling

Parmi les petits plus vous avez droit à un mode camouflage qui empêche votre FAI de savoir que vous utilisez un VPN. Ou encore au MultiHop, qui a la particularité de faire transiter votre surf au travers de plusieurs pays en même temps (un peu comme le fait le navigateur Tor Browser par exemple). La fonction CleanWeb quant à elle va refouler une grosse part des déchets du web : publicités, malwares, traqueurs, tentatives de phising, etc.

Pour encore aller plus loin, ils viennent d’ajouter un bloqueur de cookies il y a tout juste quelques jours, c’est tout chaud rien que pour vous 😉 Pratique notamment pour ne plus voir les énormes bandeaux RGPD. Pour le moment cela ne concerne que l’extension Chrome, mais Firefox arrive très vite.

Bloqueur de cookies par Surfshark VPN

Encore très peu connu il y a seulement 2 ans, Surfshark s’est depuis bien implanté dans le haut des meilleurs services VPN du marché. Et au vu de leurs dernières nouveautés, ce n’est pas près de s’arrêter, leur futur semble prometteur.

Découvrez Surfshark à 1.91€/mois

Et parce que j’ai eu le morceau en tête tout du long de la rédaction de l’article …

Vous vous souvenez de cette vidéo dans laquelle je vous explique comment installer Windows 11 en contournant la vérification de TPM et SecureCheck sur votre ordinateur ?

Et bien voici une méthode encore plus simple avec l’outil Rufus que j’ai déjà présenté ici.

La première étape consiste à télécharger une ISO de Windows 11 sur le site de Microsoft. Ensuite, munissez vous d’une clé USB suffisamment grande (8 Go par exemple) et insérez là dans votre ordinateur.

Téléchargez Rufus ici et lancez-le.

Ensuite, sélectionnez votre périphérique, c’est-à-dire la clé USB sur laquelle sera déployée l’ISO, choisissez ensuite l’ISO de Windows 11 puis dans les options d’image, vous aurez alors le choix entre une installation classique pour les systèmes équipés de TPM 2.0, de SecureCheck et de +8GB de RAM ou une installation sur un ordinateur auquel il manque l’une de ces choses, normalement requises par Microsoft.

Et oui, c’est aussi simple que ça. Ensuite, cliquez sur le bouton « Démarrer » pour lancer le formatage de la clé et l’installation de l’ISO de Windows 11 sur celle-ci.

Si vous êtes plutôt amateur de Ventoy et que vous avez aimé mon tutoriel à ce sujet, sachez que ces derniers proposent également la possibilité de contourner les vérifications de Windows. Pour cela, il faudra utiliser le paramètre

"VTOY_WIN11_BYPASS_CHECK": "0"

dans la config de Ventoy. Vous aurez tous les détails ici.

Bonne installation !


Si vous cherchez un moyen simple de partager des idées à plusieurs pendant une conférence par exemple, rien de mieux qu’un bon schéma sur un tableau.

Browserboard est un service qui va vous permettre de dessiner à plusieurs sur un tableau blanc partagé. Une multitude d’outils sont disponibles comme des stylos, des surligneurs, des post-its, des flèches, des formes…etc.

Pas besoin de vous créer un compte, et le service est entièrement gratuit. À la création d’un tableau blanc, vous obtenez un lien unique que vous pouvez alors partager avec d’autres personnes.

Ensuite pour l’export, vous pouvez tout simplement sortir une image PNG de votre œuvre. Notez également que le service fonctionne aussi sur mobile.

À découvrir ici

Et dans le même style, il y a également Awwapp, WiteBoard et PixClip.

Merci à J0j0b4rj0 pour l’info


Mes gazouillis

Le top européen des influenceurs et influenceuses BG de 2021 😂 #kbn https://t.co/DoAZj8FHZl
Comment envoyer vos premiers SMS en #Python avec @twilio ? #kbn https://t.co/t5xY3pJs6X