Ministère de l’Enseignement Supérieur et de la Recherche Scientifique ∗∗∗
∗
∗∗∗
Université de Carthage ∗∗∗
∗
∗∗∗
Institut National des Sciences Appliquées et de Technologie
Rapport de Stage Obligatoire d’Eté
Filière : Réseaux Informatiques et Télécommunication Niveau : 4ième Année
Sujet :
Mise en place et configuration d'une SMS Gateway et développement d'une application web pour la gestion des SMS
Réalisé par : Msalmi Rim
Entreprise d’accueil :
HEXABYTE
Année Universitaire : 2014/2015
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique ∗∗∗
∗
∗∗∗
Université de Carthage ∗∗∗
∗
∗∗∗
Institut National des Sciences Appliquées et de Technologie
Rapport de Stage Obligatoire d’Eté
Filière : Réseaux Informatiques et Télécommunication ième Niveau : 4 Année
Sujet :
Mise en place et configuration d'une SMS Gateway et développement d'une application web pour la gestion des SMS
Réalisé par : Msalmi Rim
Entreprise d’accueil :
Hexabyte Responsable à l’entreprise:
Avis de la commission des stages
M. Ben Hassin Rached
Année Universitaire : 2014/2015
1
Liste des Figures fig1 Diagramme de cas d'utilisation global . . . . . . . . . . . . . . . . . . . . . . . . . fig2 Diagramme de cas d'utilisation pour la fonctionnalité gérer mots clés . . . . . . . . . fig3 Diagramme de séquence pour la fonctionnalité «envoyer SMS» . . . . . . . . . . . fig4 Diagramme de séquence pour la fonctionnalité «générer statistiques» . . . . . . . . . fig5 Diagramme de Gantt pour le déroulement du stage . . . . . . . . . . . . . . . . . . . fig6 Modem GSM EasyGate 2N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fig7 Installation de PlaySMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fig8 Exécution de la commande wdialconf . . . . . . . . . . . . . . . . . . . . . . . fig9 Partie (1) du fichier de configuration de Kannel . . . . . . . . . . . . . . . . . . . fig10 Partie (2) du fichier de configuration de Kannel . . . . . . . . . . . . . . . . . . . fig11 Vérification du fonctionnement de Kannel. . . . . . . . . . . . . . . . . . . . . . fig12 Interface d'authentification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . fig13 Interface d'accueil (profile) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fig14 Interface «Consulter le inbox» . . . . . . . . . . . . . . . . . . . . . . . . . . . . fig15 Interface «Gérer les mots Clés» . . . . . . . . . . . . . . . . . . . . . . . . . . . fig16 Interface «afficher statistiques en chiffre » . . . . . . . . . . . . . . . . . . . . .
6 7 8 9 10 11 12 13 13 14 14 14 15 15 15 15
2
1 Introduction "Dans le monde, le nombre d'abonnements à la téléphonie mobile – sur forfait ou prépayés – est passé de moins de 1 milliard en 2000 à plus de 6 milliards aujourd'hui, dont près de 5 milliards dans les pays en développement", a estimé la Banque mondiale (BM) dans un rapport publié
mardi
17
juillet
2012
.
Près des trois quarts des habitants de la planète disposent d'un téléphone portable et le nombre d'abonnements souscrits sur le globe devrait "bientôt" dépasser celui de la population mondiale¹. Avec la révolution de l'univers de la téléphonie, l'utilisation de la communication via SMS est devenue massive et diversifiée entre simple échange, participation à un vote, inscription dans un service, demande de renseignement ... . Les entreprises, ayant compris la progression de l'utilisation de cette technologie chez la clientèle, ont optés pour le choix d'un outil pour la gestion des trafics SMS. La société Hexabyte voudrait dans ce cadre mettre en place sa propre solution pour la gestion des SMS. Notre stage vise à installer une SMS Gateway OpenSource d'une part et de développer une application Web adaptée au besoin de Hexabyte en terme de gestion de flux SMS. Ce rapport présente les différentes axes de la réalisation de ce projet. Il s'articule autour de cinq chapitres. Nous présenterons dans un premier lieu l'organisme d'accueil ainsi que les détails du projet à réaliser, puis nous consacrerons le deuxième chapitre pour une présentation de l'objectif à réaliser et ce en détaillant le cahier des charges du projet. Dans le troisième chapitre, nous présenterons l'évolution du projet tout au long de la durée de travail. Dans le quatrième chapitre, nous détaillerons les étapes de réalisation de notre projet. Enfin le rapport présentera une ouverture sur les perspectives et les différentes possibilités d'amélioration de l'application.
3
2 Présentation de l’entreprise d’accueil La société HexaByte a été créée en 2001 sous la forme d’une Société Anonyme de droit tunisien avec un capital social initial de 280 000 DT. A la suite d’une opération d’incorporation de réserves et d’une autre d’apports en numéraire le dit capital est passé en fin 2010 à 1.750.000 DT réparti en 1 750 000 actions de nominal 1 dinar. Le siège social de la société est situé à Béja, où se trouve aussi l’essentiel de son matériel d’exploitation. La société HEXABYTE a pour objet principal la fourniture de services à valeur ajoutée des télécommunications de type internet ainsi que la conception, la production et la commercialisation de tous logiciels, matériels et équipements informatiques. Elle s’est toujours distinguée par ses offres innovantes sur le marché tunisien à travers le lancement de produits (ex : tablettes PC, caméras de surveillance) ou de services (ex : streaming vidéo) répondant aux attentes de sa clientèle. En peu de temps, la société est devenue incubateur d’idées en matière de nouvelles technologies et a développé plusieurs produits².
3 Cahier des charges: 3.1 Présentation générale du projet 3.1.1
Contexte:
Hexabyte, essaye de développer sa propre Gateway SMS ce qui lui permets d’avoir une solution adaptée à ses besoins. 3.1.2
Objectifs du projet:
Il s’agit d’installer et configurer une solution d’envoi et de réception d’SMS interconnectée avec les différents opérateurs. L’application permettra aussi de suivre le trafic SMS et d’effectuer des statistiques.
4
3.2 Spécification fonctionnelles et non fonctionnelles 3.2.1
Spéciation fonctionnelle
Définition des acteurs : Les acteurs principaux de cette application sont : - Administrateur : Personne physique : directeur de la société Hexabyte, Administrateur réseau Rôle : suivre le trafic de tous les utilisateurs de la plateforme SMS - Utilisateur : Personne physique : fonctionnaires de l’entreprise Rôle : suivre le trafic personnel sur la plateforme SMS Spécification des besoins fonctionnelles : -L'application ne doit être exploitable qu'après authentification par login et mot de passe -L'application doit permettre à l'utilisateur (*): Modifier ses paramètres (mot de passe, email, nom ) insérer un utilisateur ayant les mêmes droit ou moins consulter les messages reçus et les messages envoyés envoyer un SMS insérer un mot clé : question avec choix multiples insérer un quiz : question avec une réponse unique gérer les mots clés : activation/désactivation, suppression, statistiques générales gérer les quizs : activation/désactivation, suppression, statistiques générales générer des statistiques suivants critères (période, opérateur, type d'affichage)sur les mots clés se déconnecter RQ*: L'utilisateur peut réaliser ces opérations dans la limite de ses droit d'accès
3.2.2
Spécification non fonctionnelle
Besoin d’utilisabilité : L’application devrait être en accord avec le respect des codes. Le choix des couleurs devrait tenir compte de la charte graphique de Hexabyte. Elle doit aussi être simple et facilement exploitable. Besoins de performance : les performances d’exécution du système doivent être optimales et le temps de réponse doit être le plus court possible (ex : temps de chargement de l’interface web) Besoins de disponibilité : l’application doit être disponible et capable de suivre les évolutions. Besoins de sécurité : L’accès à l’application doit passer par une authentification et être restreint aux clients ayant un compte.
___________________________________________________________________________ (*) : L'utilisateur peut réaliser ces opérations dans la limite de ses droit d'accès
5
3.3 Diagrammes: 3.3.1
Diagrammes de cas d'utilisation:
Afin d’expliciter de plus les besoins, on a recours à un diagramme de cas d’utilisation pour présenter les différentes fonctionnalités qu’on estime importantes pour assurer la conformité par rapport aux cahier des charges.
Fig1 : Diagramme de cas d'utilisation global
6
Afin de détailler encore plus la fonctionnalité "gérer mots clés" on a réalisé ce diagramme de cas d'utilisation
Fig2 : Diagramme de cas d'utilisation pour la fonctionnalité gérer mots clés Exemple de scénario (afficher statistiques générales) : Objectif : ce cas d’utilisation permet à l'utilisateur de générer des statistiques sur le mots clés suivant ses droits d'accès Acteur Principale : utilisateur Précondition : utilisateur authentifié choisir l'option gérer mots clés du menu d'accueil Scénario nominale : 1. L'application affiche la liste des mots clés crées par l'utilisateur avec les options de activation/désactivation, affichage statistiques et suppression(*) 2. L'utilisateur appui sur l'icône d'affichage de statistiques 3. L'application invoque PlaySMS via webservices pour recevoir le résultat des statistiques 4. L'application donne le choix à l'utilisateur sur le format de l'affichage 5. L'application affiche les statistiques en chiffre Scénario alternatif : En (5) si l'utilisateur choisi l'affichage graphique l'application affichera alors un graphe (Pie Chart) avec les légendes sur les résultats de vote pour le mot clés concerné
___________________________________________________________________________ (* ): si l'utilisateur a le droit d'accès ADMIN l'application affiche tous les mots clés crées par tous les utilisateur
7
3.3.2
diagrammes de séquence :
C’est la représentation graphique des différentes interactions entre l’acteur et le système de point de vue temporel. On montre les interactions dans le cadre d’un scenario d’un diagramme de cas d’utilisation.
Fig3 : Diagramme de séquence pour la fonctionnalité «envoyer SMS»
8
Fig4 : Diagramme de séquence pour la fonctionnalité «générer statistiques»
9
4 Journal de stage
fig5: Diagramme de Gantt pour le déroulement du stage
5 Travail réalisé 5.1 Environnement de travail :
Ubuntu Server LTS 12.04 (32bit)
PHPStorm 7.1 : c'est un EDI (Environnement de Développement Intégré) supportant Php, Html et JavaScript, édité par JetBrains. Il contient une correction automatique des erreurs, autocomplétion(...). Il est extensible à travers des plugins spécifiques. Dans notre cas on a utilisé le plugin de Symfony2
Framework Symfony2 (version2.3) : c'est un Framework web. Il s'agit d'un rassemblement de bibliothèques et de composants tous fortement découplés assemblées et paramétrés pour fonctionner ensemble³. En effet, Symfony 2 se base notamment sur : Doctrine pour requêter la base de données Twig pour le rendu de ses templates SwiftMailer pour l'envoi d'e-mails • • •
PlaySMS (version1.0) : c'est outil open-source pour la gestion des SMS. Il fournit une portail web mobile fournissant plusieurs fonctionnalités (intégration dune SMS Gateway, un système de messagerie personnelle, communication en groupe ...)
10
Kannel (version 1.5.0) : c'est une GatewaySMS open-source développée en langage C qui utilise une passerelle WAP et SMS. Elle permet de gérer le push (l'envoi des messages aux entités extérieures), le pull (la réception d'un SMS ou la réception de requête) ou pullpush SMS (l'envoi de la réponse après traitement à partir de la plateforme). Concernant les fonctionnalités SMS, la passerelle kannel supporte les principaux protocoles SMS. Une GatewaySMS est un système matériel et logiciel sécurisé permettant de faire la liaison entre deux réseaux, afin de faire l'interface entre des protocoles réseaux différents. Elle agit comme un relais entre deux SMSC ( Short Message Service Center) en traduisant un protocole SMSC à un autre. Cette voie peut être utilisée par deux opérateurs de téléphonie mobile différents pour connecter leurs SMSC afin de permettre l'échange inter-opérateur du service de messagerie SMS 4. L'architecture de kannel révèle qu'il est composé de trois principaux blocs appelés encore « box » ou daemons, leur intercommunication correcte confère à kannel, sa stabilité et son utilité. Le bearerbox Présenté comme le noyau de kannel : c'est l'interface entre le réseau de téléphonie mobile et les autres compartiments du serveur. Il joue le rôle de routeur. En effet, le bearerbox reçoit les SMS provenant d'un réseau mobile et se charge de les transmettre au bloc approprié. Le SMSbox Présenté comme le logiciel qui permet d'effectuer toutes les transactions SMS, le SMSbox reçoit un SMS à partir du bearerbox, l'analyse afin d'en extraire les mots-clés et les paramètres s'il y a lieu. Le Wapbox Le Wapbox est le composant permettant de faire tout ce qui est WAP du mobile. La passerelle est l'élément clé de la communication dans le WAP : elle permet d'une part d'assurer la connexion entre le monde GSM et le réseau informatique (Internet ou Intranet), mais surtout elle code et décode les requêtes et les réponses entre le terminal mobile et le serveur Web. La technologie WAP (Wireless Application Protocol) a pour but de permettre à des terminaux mobiles d'accéder à des documents circulant sur des réseaux sans fil
Modem GSM EasyGate 2N : Il s'agit d'un modem GSM fonctionnant dans les bandes de fréquences 900MHz et 1800MHz. Il intègre les fonctions de transmission de données/voix/SMS et la fonction de FAX. C'est un modem qui supporte les commandes AT et se présente comme suit :
fig6 : Modem GSM EasyGate 2N
11
Un modem GSM est un équipement qui permet la transmission des données sur le réseau de téléphonie mobile GSM. Le modem GSM, au même titre qu'un téléphone portable, nécessite un abonnement auprès d'un opérateur téléphonique, abonnement ne concernant que la transmission de données. Cet abonnement donne lieu à l'ouverture d'une ligne téléphonique ainsi qu'à l'obtention d'une carte SIM à insérer dans le modem 5. Les modems GSM sont généralement recommandés pour une application devant fonctionner en continu ou envoyer un grand nombre de messages.
5.2 Les étapes du projet Installation et mise en place de PlaySMS 6 Installation : on a suivi les étapes indiquées dans le site de Playsms
fig7: Installation de PlaySMS
vérification du bon fonctionnement de PlaySMS en exécutant la commande accéder à l'application via l'interface d'authentification réalisation d'une étude comparative entre les différents Gateway SMS ( Voir Annexe)
12
Mise en place de Kannel SMSGateway : 1. Détection du modem à travers la commande wvdialconf
fig8 : Exécution de la commande wdialconf 2. Installation de kannel à travers la commande apt-get install kannel 3. Edition du fichier de configuration de Kannel : kannel.conf pour l'adapter au modem GSM et ses propriétés (voir Annexe)
fig9 : Partie (1) du fichier de configuration de Kannel
13
fig10 : Partie (2) du fichier de configuration de Kannel 4. vérification du fonctionnement de kannel : • démarrer Bearerbox(*) à travers la commande • démarrer SMSBox(*) à travers la commande • check du status de kannel à travers la commande
fig 11 : Vérification du fonctionnement de Kannel
Interconnecter la Gateway SMS Kannel avec playSMS en exploitant la rubrique Manage Gateway et en le rajoutant comme passerelle par défaut
Développement d'une application web avec authentification conforme au cahier des charges déjà présenté dans une section précédente
fig12 : Interface d'authentification Pour la gestion des comptes et de l'authentification on a intégré le FOSUserBundle qui est un module développé par la communauté Symfony pour la gestion des utilisateurs au sein d'une application ___________________________________________________________________________ (*) : voir section précédentes pour plus de détails
14
fig13 : interface d'accueil (profile)
fig 14 : Interface «Consulter le inbox»
fig15 : Interface «Gérer les mots Clés»
15
fig16 : Interface «afficher statistiques en chiffre »
6 Consolidation des acquis Compétences acquises à l'INSAT •
• •
Manipulation des systèmes d'exploitation Linux : Unix Les notions de Webservices modèle MVC
Compétences acquises à Hexabyte • • • •
•
Développement PHP Utilisation du framework Symfony2 utilisation de bootstrap mise en place, configuration et utilisation d'une SMS Gateway utilisation d'un modem GSM
7 Conclusion Au cours de ce stage on a pu mettre en place un système globale pour la communication via SMS et ce en interconnectant le ModemGSM, la Gateway SMS, l'application PlaySMS et la notre application. Le but étant atteint on pourra penser à une amélioration concernant l'aspect sécurité dans l'application.
16
Bibliographies [1] Oscar M. E. ADOUN , Conception et implémentation d'un système de gestion des centres d'accès a internet : rechargement de compte par SMS , Conception en Informatique
et Télécommunication 2010,bénin . Adresse Web :
[1] http://www.lemonde.fr/technologies/article/2012/07/17/pres-de-75-des-terriens-possedentun-telephone-portable_1734969_651865.html [2]http://www.hexabyte.tn/finance/index.php?option=com_content&view=article&id=66&Ite mid=143 [3]http://gregwar.com/php/symfony.html [4] http://www.memoireonline.com/06/11/4548/m_Conception-et-implementation-dunsysteme-de-gestion-des-centres-dacces-a-internet--rechargemen9.html http://www.memoireonline.com/06/11/4548/m_Conception-et-implementation-dun[5]
systeme-de-gestion-des-centres-dacces-a-internet--rechargemen21.html [6 ]https://github.com/antonraharja/playSMS/blob/master/INSTALL.md
17