Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Créer Votre Startup : Se Préparer pour Envoyer des Messages

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup: Increasing Security
Building Your Startup: Automatic Time-Zone Detection

French (Français) translation by Syméon Smith (you can also view the original English article)

Final product image
What You'll Be Creating

Ce tutoriel fait partie de la série Créer Votre Startup Avec PHP sur Envato Tuts+. Dans cette série, je vous guide dans la création d'une startup, l'idée à la réalité et en utilisant mon application Metting Planner comme exemple. À chaque nouvelle étape, je donnerai le code de Meeting Planner en open-source pour que vous puissiez vous en inspirer. Je parlerai aussi de certains problèmes liés au business des startup qui peuvent ressortir.

Se Préparer pour Envoyer des Messages

Lorsque vous voyagez et que des rendez-vous approchent, il peut être plus utile de recevoir des rappels par message que par mail. J'ai toujours su que les messages textes (ou SMS) seraient une part de Meeting Planner.

Dans cet épisode, je vais vous montrer la première moitié de ma configuration pour l'application Meeting Planner. Il s'agit en fait tout simplement de choisir un fournisseur de SMS, de paramétrer un compte, de créer l'infrastructure initiale de l'application, puis j'enverrai un message de test.

Dans l'épisode suivant, je créerai des scénarios de messages spécifiques pour l'application Meeting Planner, je vous expliquerai mes décisions et le code que j'aurai écrit.

Si vous ne l'avez pas encore, essayez Meeting Planner maintenant en programmant votre premier rendez-vous. Sentez-vous libres de poster vos commentaires sur votre expérience dans l'espace dédié ci-dessous.

Je participe dans les fils de commentaires, mais vous pouvez aussi me contacter sur Twitter @reifman. Je suis toujours ouverte à des nouvelles idées de fonctionnalités et de sujets pour des futures tutoriels.

Pour rappel, tout le code de Meeting Planner est écrit avec le Framework Yii2 pour PHP. Si vous voulez en apprendre plus sur Yii2, rendez-vous sur ma série parallèle Programmer Avec Yii2. Plus je crée sur Meeting Planner, et plus je suis impressionnée par Yii2 et son équipe de volontaires.

Choisir un Fournisseur SMS

La façon la plus simple d'envoyer des messages depuis votre application est de s'inscrire à un service. Tout comme j'utilise Mailgun pour les mails entrants et sortants, je vais avoir besoin d'un fournisseur de SMS pour envoyer des messages.

Les deux services les plus importants sur lesquels je me suis penchés sont Twilio et Plivo. Tous deux semblaient être des fournisseurs compétents, mais Twilio possédait des services plus larges, une documentation plus riche et une meilleure expérience utilisateur.

Ci-dessous, une capture d'écran de la page produit SMS de Twilio :

Building Startups Text and SMS - Twilio Home Page for SMS Features

Twilio offre une telle gamme de services qu'il faut descendre plus bas pour trouver les SMS :

Building Startups Text and SMS - Twilio Product Offering Menu

Plivo avait aussi l'air d'être un bon choix, mais son site, sa documentation et son API ne semblaient pas être aussi sophistiqués que ceux de Twilio :

Building Startups Text and SMS - Plivo Home Page

Cependant, Plivo est bien moins cher que Twilio; plus spécifiquement il offre des SMS entrants.

Building Startups Text and SMS - Pricing Comparison Twilio vs Plivo

J'ai décidé finalement de choisir Twilio pour mon implémentation initiale des SMS, mais aussi de moduler les fonctions pour pouvoir facilement changer de fournisseur.

Malgré cela, je suis un peu préoccupée par les coûts des messages dans Meeting Planner lorsque l'audience grossira. Est-ce que je continuerais d'offrir les SMS à tous les utilisateurs avant même qu'il y ait un revenue ou des investisseurs ?

Au moment de la phase Alpha, ce n'était pas un sujet important. Je suis toujours concentrée sur délivrer les meilleurs services possibles pour la sortie de la beta.

Débuter Avec Twilio

S'inscrire

S'enregistrer sur Twilio, c'est facile :

Building Startups Text and SMS - Twilio Sign Up

En tant que fournisseur sophistiqué de services de communication, Twilio utilise bien sûr une vérification par SMS dans le processus d'inscription.

Building Startups Text and SMS - Twilio Verification

Le Dashboard SMS

Quand le compte est vérifié, on arrive sur un sympathique et beau tableau de bord :

Building Startups Text and SMS - Twilio SMS Dashboard

Rassembler Nos Informations

D'abord, j'ai accédé à l'ID du compte et au token depuis la page API Credentials :

Building Startups Text and SMS - Twilio SMS Dashboard

J'en ai pris note pour les intégrer plus tard dans Meeting Planner.

Obtenir un Numéro de Téléphone

Twilio vous fournit un numéro de téléphone avec lequel vous pouvez envoyer des SMS depuis votre application :

Building Startups Text and SMS - Twilio Get Your Phone Number

J'ai choisi un numéro avec une identification à Seattle, où Meeting Planner est basé :

Building Startups Text and SMS - Twilio Your New Phone Number is

J'ai ensuite pu envoyer mon premier message de test avec Twilio :

Building Startups Text and SMS - Twilio Test Send a Message

Le message est arrivé très rapidement sur mon téléphone.

Penser aux Message Entrants

En allant plus loin que la première version, des messages entrants pourraient être très utiles. Vous pourriez par exemple envoyer un message indiquant que vous êtes en retard, ou que vous avez besoin d'une adresse pour vous rendre à votre rendez-vous. Pour le moment, vous avez besoin de cliquer sur l'invitation du rendez-vous pour demander ces informations.

Twilio offre un riche panel de services pour répondre aux messages entrants, incluant un langage appelé TwiML.

Building Startups Text and SMS - Twilio Incoming Messages

Pour le moment, je ne vais pas m'attarder sur les messages entrants. Cependant, lorsque des gens envoient des messages à votre numéro Twilio, vous êtes facturés; autrement dit, c'est la porte ouverte aux abus.

Jetons un œil à quelques façons simples de réduire les coûts.

Contrôler les Coûts

Pour les tests en alpha et beta, je limite le support des messages aux utilisateurs nord-américains. Cela va garder les prix bas. Twilio propose justement un moyen inclus de filtrer par géographie :

Building Startups Text and SMS - Controlling Geo Permissions for Managing Costs

Twilio propose aussi des Services de Messagerie que vous pouvez configurer comme vous voulez, par exemple en bloquant tous les SMS :

Building Startups Text and SMS

Comme vous pouvez le voir, eux aussi voient les abus et les spams par messages entrants comme une faiblesse dans la plateforme SMS en général (pas seulement la leur) et ils proposent leur aide pour cela. 

Intégrer Twilio dans Meeting Planner

Puis j'ai voulu intégrer les fonctions SMS basiques dans Meeting Planner.

Trouver une Extension Yii pour Twilio

Il y a en fait plusieurs extensions pour Twilio dans le framework Yii. J'ai décidé d'installer "YII2 wrapper for Twilio PHP SDK" (GitHub) de Filip Ajdačić car son nom était rigolo (je rigole, son extension semblait régulièrement mise à jour).

J'ai d'abord ajouté l'application au composer.json. Comme il s'agit d'une version de développement, ça a mieux marché que d'accéder directement à l'extension.

Ensuite, j'ai mis à jour l'environnement :

Je n'étais pas trop inquiète à propos du statut de développement parce que c'est juste une extension simple qui active l'API Twilio.

Ajouter les Identifiants

D'abord, j'ai ajouté les clés récupérées plus haut dans mon fichier d'initialisation :

Ensuite j'ai ajouté l'inscription de mon composant dans /frontend/config/main.php :

J'ai aussi pensé qu'il était bon de place quelques unes des variables dans common\config\params-local.php pour un meilleur accès depuis l'application :

Créer un Modèle de SMS

Ensuite j'ai créé un model Sms.php à utiliser en programmation quand les messages sont requis :

Initialement, findUserNumber() était une issue, et transmit() n'envoyait qu'à un numéro de test dans params-local.php, mon numéro personnel.

Voici le code que j'ai utilisé pour envoyer mon premier message depuis Meeting Planner :

Voici le résultat :

Building Startups Text and SMS - My First Twilio Text

Note : ouais, je sais que je devrais charger mon téléphone—mais c'est vraiment la mauvaise batterie de l'iPhone 6 qui est le problème.

C'est donc ainsi que l'on s'inscrit chez Twilio et que l'on implémente quelques fonctions basiques.

À Venir

Dans le prochain épisode, nous explorerons des vraies intégrations des SMS dans Meeting Planner. Voici quelques questions qui apparaîtront :

  • Comment les utilisateurs indiqueront leur numéro de téléphone ?
  • Quelles sont les fonctionnalités que Meeting Planner devrait utiliser pour les notifications et la livraison des messages ?
  • Comment les utilisateurs décideront-ils de pourquoi ils reçoivent des messages de Meeting Planner ?
  • Meeting Planner pourra-t-il comprendre les messages entrants et y répondre ?
  • Comment contrôlerai-je les coûts et préviendrai-je les abus pendant les premières phases de la startup ?
  • Comment cela se passerait-il de passer à Plivo pour de moindres coûts ?

Comme toujours, restez connectés pour les tutoriels à venir dans la série Créer Votre Startup Avec PHP. Comme Donald Trump le disait, « Nous allons gagner, tout gagner jusqu'à ce qu'on n'en puisse plus de gagner. Vous direz alors, "S'il te plaît, Jeff, arrête de gagner". Et je vous dirai alors, "Non, désolé, habituez-vous parce qu'il va encore y en avoir." »

Avez-vous déjà enregistré un rendez-vous via Meeting Planner ? Non ? Allez-y ! Maintenant ! Et comme toujours, laissez-moi votre pensée dans les commentaires, c'est apprécié. Je ne peux pas tout gagner sans votre aide.

Liens Relatifs

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.