A mes parents qui n'ont cessé de consentir des efforts
au prix de multiples sacrifices pour faire de nous les Hommes de demain;
Trouvez en ce rapport, le résultat de deux années de dur labeur
que vous êtes en droit d'attendre et le témoignage de ma gratitude
pour tout ce que vous faites pour moi.
REMERCIEMENTS
REMERCIEMENTS
Un rapport de stage ne peut être que l'oeuvre de
l'Homme soutenu par son entourage. Si ce travail a été
effectué dans les délais, il n'en demeure pas moins qu'il est
l'aboutissement d'une somme d'efforts dont nous ne pouvons prétendre
avoir été les seuls générateurs. Nous exprimons
avec fierté notre reconnaissance :
Ø Au DIEU Tout Puissant qui nous a
donné la vie.
Ø A M. FOTSO Victor, Fondateur de l'Institut Universitaire
de Technologie de Bandjoun.
Ø Au Directeur de l'IUT-FV de
Bandjoun, Pr FOGUE Médard, pour son appui constant dans
la résolution de nos problèmes administratifs et
académiques.
Ø Au Chef de Département Génie Informatique
de l'IUT-FV de Bandjoun, Pr NKENLIFACK
Marcellin, pour les conseils qu'il ne cesse de nous donner.
Ø A mon encadreur académique M. LIENOU
Jean Pierre, pour sa disponibilité pendant le travail
Ø A M. FOTSO KUATE Victor pour son
encadrement et ses multiples conseils.
Ø Aux étudiants et amis de l'IUT FOTSO
Victor de Bandjoun.
LISTE DES ABREVIATIONS
SIGLES
|
SIGNIFICATIONS
|
WAP
|
Wireless Application Protocol
|
TIC
|
Technologies de l'Information et de la Communication
|
PDA
|
Personal Digital Assistant
|
SAV
|
Services à Valeurs Ajoutés
|
PHP
|
Personal Home Page
|
CSS
|
Cascading Style Sheet
|
HTML
|
HyperText Markup Language
|
HTTP
|
Hyper Text Transfer Protocol
|
SMSC
|
Short Message Service Center
|
BTS
|
Brevet des Techniciens Supérieurs
|
CCNA
|
Cisco Certified Network Associate
|
GSM
|
Global System for Mobile
|
SMS
|
Short Message Service
|
TCP
|
Transport Control Protocol
|
WAMP
|
Windows Apache MySQL PHP
|
RESUME
Dans ce rapport, il est question pour nous de
développer un serveur SMS couplé à un système de
gestion de la scolarité : base de données et traitement. La
réalisation de ces tâches intègre trois notions à
savoir : la notion de plateforme, la notion de langage de programmation et la
notion de serveur. Pour le développement nous avons utilisé
PHP comme langage de programmation. Le serveur utilisé
est le WAMP Server. Nous utiliserons Kannel comme la
passerelle
ABSTRACT
In this Internship report, it is a question for us
to deplore a SMS server. The realization of these spots shall
integrate three concepts: first of all, we have the concept of platform; the
second is the concept of programming language and third the concept of waiter.
For the development, we used PHP and JavaScript as programming
language. The WAMP Server will be used to store the data. We
are going to use Kannel as Gateway
TABLE DES MATIERES
DEDICACE
Erreur ! Signet non
défini.
REMERCIEMENTS
ii
REMERCIEMENTS
ii
LISTE
DES ABREVIATIONS
iii
RESUME
iv
ABSTRACT
v
TABLE
DES MATIERES
vi
LISTES
DES ABREVIATONS
viii
INTRODUCTION
GENERALE
1
CHAPITRE
I : PRESENTATION DU PROJET
2
I.1 Contexte du projet
2
I.2 Problématique et recherche de
développement
2
I.3 Objectifs et méthodologies
4
I.4 Etude de l'existant
4
I.4.1 Critique de l'existant
4
I.4.2 Solutions proposées
5
I.5 La partie sécurité de
l'application
5
CONCLUSION
PARTIELLE
6
CHAPITRE
II : LE CHOIX DES OUTILS ET DEFINITION DES TERMES
7
II.1 Les langages de programmation
7
II.2 Le système de gestion de base de
données
8
II.3 Choix de la passerelle
9
II.4 Etude de la passerelle/serveur :
KANNEL
9
II.4.1 Présentation de KANNEL
9
II.4.2 Principe de fonctionnement de Kannel
10
II.4.3 Architecture de Kannel
10
II.4.4 Mode de communication entre les blocs
11
II.4.5 Kannel et la sécurité
11
CONCLUSION
PARTIELLE
12
CHAPITRE
III : LE CHOIX DES OUTILS ET DEFINITION DES TERMES
13
III.1 Configuration de Kannel
13
III.1.1 Configuration du bearerbox
14
III.1.2 Configuration du wapbox
16
III.1.3 Configuration du smsbox
16
III.1.4 Configuration du « Fake SMSC » ou
« SMSC logiciel »
18
III.2 PHP/KANNEL et le WEB to SMS
19
III.2.1 Envoi d'un message à partir du
navigateur
19
III.2.2 Architecture GSM
20
CONCLUSION
PARTIELLE
22
CONCLUSION
GENERALE
23
_Toc223198378
BIBLIOGRAPHIE
3
LISTES DES ABREVIATONS
Figure 1: Architecture de Kannel
3
Figure 2: Statut de Kannel
19
Figure 3: Diagramme de classes pour l'envoi massif
des SMS
21
INTRODUCTION GENERALE
Le développement des Technologies de l'Information
et de la Communication(TIC) a connu aujourd'hui un essor
considérable. On assiste de plus en plus au déploiement de
nouveaux services à valeurs ajoutés (SAV), notamment dans le
domaine de la téléphonie qui a connu le plus de succès. En
outre, avec l'avancée de l'informatique on constate de plus en plus un
rapprochement très fort entre les Technologies de
Télécommunications et de l'Informatique. Ce rapprochement est
d'autant plus visible sur les SAV, permettant la conception d'applications
pouvant interfacer les équipements GSM aux équipements
informatiques. C'est ainsi qu'on assiste à l'application du service
d'envoi et de réception de SMS par le web qui est l'objet de notre
étude. De là, il nous est demandé de réaliser un
serveur SMS couplé à un système de gestion de la
scolarité. Ainsi pour y parvenir, nous allons tout d'abord faire une
présentation générale du projet, ensuite étudier
les outils et logiciels permettant la réalisation de c e projet,
terminer avec la mise en oeuvre proprement dite la plateforme.
CHAPITRE I :
PRESENTATION DU PROJET
I.1 Contexte du projet
Les besoins des utilisateurs grandissent et les
Technologies de l'Information et de la Communication (TIC) avancent à
grand pas. Cette émergence se distingue surtout dans le domaine de la
téléphonie mobile, qui a connu le plus grand succès. La
téléphonie au travers d'un réseau « par paquets
» offre des avantages en terme de réduction des coûts.
Toutefois, l'aspect financier n'est qu'une des raisons qui peuvent amener une
entreprise ou une organisation à faire le pas vers cette
technologie
I.2 Problématique et
recherche de développement
L'introduction des TIC au niveau des populations
rurales par l'utilisation des ordinateurs a montré ses limites. En
effet, l'exploitation des applications sur des ordinateurs de bureau a
posé de sérieux problèmes de maintenance à cause de
pannes répétées Ce qui a augmenté d'une
manière considérable le coût d'exploitation. D'autre part,
le coût élevé du téléphone ont aussi
rendu presque inexploitable les solutions qui ont été
proposées. Il convient aussi de souligner que toutes ces applications
étaient faites avec des logiciels propriétaires d'où les
coûts exhorbitants pour la généralisation de leur
utilisation. De manière générale, les constats ainsi
faits peuvent être partagés avec tous les projets. En
effet, l'examen des problèmes rencontrés jusqu'ici semble
militer en faveur de solutions alternatives qui vont résider dans
l'utilisation des technologies sans fil , des services basés sur
des serveurs SMS et l'utilisation d'équipements de
communication à usage plus simple et ce, en recourant aux logiciels
libres permettant à des entités de poursuivre la recherche dans
ce domaine à moindre coût. Actuellement, plus que toute autre, la
technologie cellulaire est celle qui est la plus diffusée dans les pays
en développement. On peut dire que la téléphonie mobile
a envahi toutes les couches de la population, toutes les
régions du pays et toutes les tranches d'âge. On remarque
particulièrement l'appropriation du téléphone mobile par
les femmes, les jeunes et les acteurs du secteur informel de
l'économie (commerçants, artisans) jusque dans les zones
rurales lorsque le signal y est présent. Cet avantage est
accentué avec l'utilisation des PDA (Personal Digital Assisant )
littéralement assistant numérique personnalisé qui
occupent aujourd'hui une place de plus en plus importante dans
l'innovation de la communication. Le troisième aspect à
prendre en considération est l'émergence des réseaux
basés sur le sans-fil (réseaux Wi-Fi) offrant à la fois
simplicité et coût abordable pour des connexions à
Internet avec, en plus, la possibilité des les combiner avec
des téléphones mobiles et des PDA. La quatrième
motivation vient de l'utilisation de logiciels libres (open source). En
effet, les logiciels libres constituent une solution pour résoudre le
coût élevé des applications est l'utilisation des logiciels
libres. Une des forces de ces logiciels étant le développement
coopératif grâce au partage des connaissances, l'accès aux
sources des programmes permet une meilleure appropriation des nouvelles
technologies par les programmeurs. Leur mode de diffusion permet de les
rendre librement accessibles, contribuant ainsi à la
vulgarisation de l'outil informatique où, malheureusement, le prix
des licences maintient un certain retard.
I.3 Objectifs et
méthodologies
La tache que nous aurons à accomplir
consistera justement à développer un serveur SMS, basées
sur des solutions open source. Une fois la solution libre avec le choix des
outils et les logiciels de test, la seconde partie consistera, quant à
elle à la mise en oeuvre de la plateforme. Enfin, il faudra tester les
différentes fonctionnalités offertes par notre plateforme et
à faire un couplage de Kannel avec une architecture SMS afin de pouvoir
envoyer des SMS
I.4 Etude de l'existant
I.4.1 Critique de
l'existant
L'envoi de messages manuellement présente plusieurs
insuffisances et nécessite une mise à niveau de ces
insuffisances. Il se résume par :
- L'accès à l'information qui est limité
pour les parents d'élèves ;
- L'envoi des messages qui fait perdre beaucoup de
temps ;
- La difficulté d'atteindre les parents
d'élèves à un moment donné ;
- L'absence de la sécurité rend l'accès
facile aux données concernant les messages ;
- Le coût d'acheminement des messages est très
élevé ;
I.4.2 Solutions
proposées
Dans le but de faciliter l'envoi des messages, nous avons
réalisé une application qui présente une technique de
publicité parfaite peut tirer de nombreux avantages pour
l'administrateur ainsi que pour les employés. Alors, l'objectif de notre
projet est d'essayer de palier ces infrastructures en offrant des solutions SMS
rapides à diffuser, évolutives, mesurables, faciles et
puissantes.
Elle contient les fonctionnalités suivantes :
- Communiquer instantanément avec les clients d'une
manière évolutive et puissante ;
- Envoyer des messages d'une manière plus fiable et
mesurable ;
- Faciliter le développement et la gestion des
messages : nous n'avons pas besoins d'un agent professionnel qui doit
maitriser certains langages et avoir certaines compétences pour
communiquer et envoyer des messages.
- Permettre à la cellule informatique d'émettre les
messages en masse ;
- Envoyer des messages à un grand nombre de numéros
de téléphone des abonnés : notre application joue le
rôle de passerelle entre le réseau IP et le réseau GSM pour
l'envoi des SMS en masse.
I.5 La partie
sécurité de l'application
Chaque système s'occupe de la partie
sécurité ce qui le rend plus sécurisé, le webmaster
a protégé son application à travers un identifiant et un
mot de passe et c'est le même pour l'employé. Alors, les
données personnelles doivent être sécurisées, par
conséquent n'importe quel utilisateur ne peut y accéder sans
permission préalable. Cette sécurisation permet d'éliminer
l'apparition des sérieux problèmes à tout utilisateur, la
protection de toutes les pages de l'application et par conséquent elle
n'est pas exposé au danger.
CONCLUSION PARTIELLE
A la lumière de ce qui précède,
il était question de la présentation du projet. Dans ce chapitre,
nous avons étudié le contexte général du projet,
ainsi que l'ensemble des tâches à réaliser. Pour accomplir,
quelques notions relatives à ce travail doivent être
définies. Nous avons consacré le chapitre suivant pour illustrer
les notions de base nécessaires ainsi que les outils pour la
réalisation du projet.
CHAPITRE II : LE CHOIX
DES OUTILS ET DEFINITION DES TERMES
Pour réaliser une plateforme permettant
d'envoyer des SMS, il existe plusieurs logiciels et outils
d'implémentation. Ces derniers se différencient les uns des
autres et peuvent être choisis selon les besoins de l'utilisateur.
II.1 Les langages de
programmation
Un langage de programmation est un code de
communication, permettant à un être humain de dialoguer avec une
machine en lui soumettant des instructions et en analysant les données
matérielles fournies par le système, généralement
un ordinateur. Le langage permet à la personne qui dirige un programme,
de faire abstraction de certains mécanismes internes,
généralement des activations et désactivations de
commutateurs électroniques, qui aboutissent au résultat
désiré. Comme langage de programmation, nous pouvons
citer :
- [R1] JavaScript : qui est un langage de scripts
principalement utilisé dans les pages web interactives. Il est une
extension du langage HTML qui est incluse dans le code et permet d'apporter
des améliorations à ce dernier en permettant d'exécuter
des commandes.
- [R1] CSS : qui sert à mettre en forme des
documents web, type page HTML. Par l'intermédiaire de
propriété d'apparence (couleurs, bordures, polices, etc.) et de
placement (largeur, hauteur, côte à côte, dessus-dessus,
etc.), le rendu d'une page web peut être intégralement
modifié sans aucun code supplémentaire dans la page web. Les
feuilles de styles ont d'ailleurs pour objectif principal de dissocier le
contenu de la page de son apparence visuelle.
- [R1] Le langage HTML est un langage utilisé
afin de construire des documents présentant des informations
affichées sur l'écran de l'ordinateur. Il s'agit du langage
principal utilisé pour construire les pages web visualisables en
naviguant sur internet. Il permet de décrire la page web
élément par élément en se servant de balises de
description.
- [R1] Le langage PHP est utilisé principalement
en tant que langage de script côté serveur, ce qui veut dire que
c'est le serveur qui va interpréter le code PHP et générer
du code qui pourra être interprété par un navigateur.
II.2 Le système de
gestion de base de données
Dans le monde d'aujourd'hui, il existe plusieurs
logiciels de gestion de base de données (Oracle, PostgreSQL,
MySQL , etc.) utilisés autant par le grand public (applications web
principalement) que par des professionnels. Nous avons choisi MySQL comme
candidat pour remplir le rôle de gestionnaire de base de données
parce qu'il est le serveur de base de données le plus utilisé
dans le monde. Son architecture logicielle le rend extrêmement rapide et
facile à personnaliser. Les principaux avantages de MySQL sont sa
rapidité, sa robustesse et sa facilité d'utilisation et
d'administration. Un autre avantage majeur de MySQL est sa documentation
très complète et bien construite.
II.3 Choix de la
passerelle
[R3] Certaines solutions
dites « propriétaires », seraient des
dérivés de « Kannel », puisque cette
dernière n'est pas une solution toute faite. En effet, la solution
« Kannel » pourrait être reprise et adaptée
aux besoins qui s'imposent ; la solution dérivée obtenue
étant personnalisée, peut elle-même être
commercialisée ou mise à la portée des utilisateurs. La
multitude de ce protocole de communication avec les SMSC, que les
solutions « Kannel » prend en compte, en même
temps que sa fonction de serveur SMS, sans oublier la qualité et la
stabilité des solutions libres en générale, pour ne citer
que ceux-là, sont quelques-unes des raisons qui nous ont conduites
à porter notre choix. Il existe une large documentation sur internet,
une multitude de sites proposant des forums, des exemples de projets
réalisés avec Kannel et même des applications
téléchargeables gratuitement.
II.4 Etude de la
passerelle/serveur : KANNEL
II.4.1 Présentation
de KANNEL
[R3] La passerelle WAP Kannel est une passerelle WAP
et SMS Open Source (source libre). Lancée en mars 1999, le projet est
à l'initiative la compagnie Finlandaise WAPIT. La passerelle est
actuellement disponible pour les systèmes d'exploitation Linux (RedHat,
Ubuntu et Debian). Concernant les fonctionnalités SMS, la passerelle
Kannel supporte les principaux protocoles SMS. La passerelle Kannel est un
outil très intéressant pour développer des applications en
collaboration avec le serveur web Apache.
II.4.2 Principe de
fonctionnement de Kannel
[R3] Le SMS est acheminé par le réseau
de téléphonie mobile vers le serveur. Le serveur autorise
à part la liaison au SMSC via une liaison spécialisée, une
liaison à travers un simple modem GSM. L'acheminement des SMS
requête-réponse diffère selon les deux modes de liaison. En
effet, selon le mode de liaison du serveur au SMSC de l'opérateur, par
le truchement d'un modem GSM (SMSC virtuel), le SMS arrive à la
destination.
II.4.3 Architecture de
Kannel
[R3] L'architecture de Kannel révèle
qu'il est composé de trois principaux blocs appelés encore «
box » ; leur intercommunication correcte confère à Kannel,
sa stabilité et son utilité. En effet, il s'agit de :
lebearerbox, le SMS box et le WAP box. Le bearerbox est l'interface entre le
réseau de téléphonie mobile et les autres compartiments du
serveur. Pour les autres blocs, Il joue le rôle de routeur
Figure 1: Architecture de
Kannel
II.4.4 Mode de
communication entre les blocs
[R3] Les données sont
échangées entre le bearerbox et les wapbox, smsbox à
travers le protocole TCP /IP. TCP /IP est un protocole adapté
très souvent pour une utilisation en réseaux étendus
(comme Internet), et son incorporation dans la procédure de
communication des différents blocs de Kannel, signifie que ces blocs
peuvent être déployés sur des ordinateurs aussi distants
que possible, si nécessaire. Les performances en termes de risque de
crash sont plus optimisées lorsque ces blocs sont déployés
sur des machines différentes. Rappelons aussi, que de façon
permanente, les différents blocs, échangent à intervalles
réguliers des messages de signalisations.
II.4.5 Kannel et la
sécurité
[R3] En ce qui concerne l'accès à
distance au bearerbox, Kannel utilise SSL pour les transactions
sécurisées entre le bearerbox, les smsbox et wapbox auxquels il
est connecté. L'administration à distance peut également
être assurée grâce à une connexion
sécurisée. L'accès des utilisateurs à la passerelle
peut être entièrement sécurisé et
contrôlé en spécifiant des utilisateurs avec un mot de
passe dans le fichier de configuration. De ce fait, tout utilisateur
désirant envoyer un SMS, par exemple, devra au préalable entrer
son login et mot de passe définis dans le groupe sms-user du fichier de
configuration ou même dans un autre fichier. Kannel prévoit aussi
des certificats pour les connexions http sécurisées. Ces
certificats permettent de vérifier l'authenticité d'un serveur ou
d'un client. Ainsi PHP, les logiciels MySQL et Kannel ont été
choisis pour la réalisation du projet.
CONCLUSION PARTIELLE
A la fin de ce chapitre, il était question de choisir
les outils d'implémentation et les logiciels. Nous notons comme langage
de programmation le PHP et le JavaScript. Comme SGBD, notre choix est
porté su MySQL. Enfin comme passerelle SMS, nous avons choisi Kannel
pour sa sécurité.
CHAPITRE III : LE
CHOIX DES OUTILS ET DEFINITION DES TERMES
Dans ce chapitre, nous allons passer à la phase
pratique de notre projet. Tout d'abord nous procéderons aux
installations et configurations des outils et logiciels permettant la
réalisation de la plateforme SMS. Ensuite, nous verrons comment se fait
l'interaction entre la passerelle et notre application web. En fin nous verrons
les scripts de gestion de cette dernière et enfin nous
présenterons les résultats obtenus.
III.1 Configuration de
Kannel
[R2] Le fichier /etc/kannel/kannel.conf a
une grande partie de l'information que nous voulons mais nous devrons
ajouter quelques informations relatives au modem GSM utilisé qui
permettra d'agir correctement avec notre serveur. La configuration sera
subdivisée en plusieurs phases qui représentent les principales
parties du système Kannel, y compris le serveur qui manipule
l'envoi et la réception des SMS (bearerbox) et le système
qui manipule l'expédition finale à vos manuscrits (smsbox).
Copier les fichiers Kannel.conf et modems.conf se trouvant dans
/usr/local/gateway-1.4.1/docs/examples dans /etc/kannel/kannel.conf. Le fichier
de configuration peut être divisé en trois parties :
configurations de bearerbox, configurations de smsbox et configurations de
wapbox. La partie Bearerbox a un « groupe core» et tous les groupes
de Centres SMS, alors que la partie wapbox a seulement un groupe wapbox. Mais
dans notre cas nous n'allons pas configurer le Wapbox. Dans la partie smsbox il
y a un groupe smsbox et puis bon nombre de groupes sms-service et
sendsms-user.
III.1.1 Configuration du
bearerbox
- Groupe core
include="/etc/kannel/modems.conf"
group = core
admin-port = 13000
smsbox-port = 13007
admin-password = 12345
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1;192.168.0.10"
access-log = "/var/kannel/access.log"
store-file = "/var/kannel/kannel.store"
sms-incoming-queue-limit = 0
sms-resend-retry= 1
[R2] Configuration pour Kannel doit
toujours inclure un groupe de généraux bearerbox configuration.
Ce groupe est désigné comme «de base» dans le fichier
de configuration, et devrait être le premier groupe dans le fichier de
configuration
- Groupe SMSC
[R2] Il contient les variables
de connexion aux SMSC ou aux modemes. Il permet de définir les SMSC que
Kannel pourra utiliser:
group = smsc
smsc = smpp
host= 192.168.1.1
port= 2775
receive port= 2775
group = modems
smsc = at
modemtype = huawei
device = /dev/ttyUSB0
speed = 9600
pin = 0000
modemtype = `huawei'
my-number= 698707791
detect-string='huawei e173'
Ensuite, on a les variables de connexion à un modem. Dans
le cas ou on utilise un modem GSM, on doit spécifier le group modem qui
permet de définir le type de modem à utiliser :
III.1.2 Configuration du
wapbox
[R2] Dans notre cas, nous n'avons
pas besoin de configurer le wapbox mais nous proposons ici une configuration
standard du wapbox. Il contient un seul groupe :wapbox
group = wapbox
bearerbox-host = localhost
log-file = "/var/log/wapbox.log"
log-level= 0
syslog-level = none
III.1.3 Configuration du
smsbox
- Groupe smsbox
[R2] Il définit
la configuration de Kannel qui gère l'envoi et la réception de
SMS
group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
global-sender = 13013
sendsms-chars = "0123456789 +-"
log-file = "/var/kannel/smsbox.log"
access-log = "/var/kannel/access.log"
mo-recode=true
- Groupe send-user
[R2] Il permet de définir les
utilisateurs pouvant utiliser l'envoi de SMS via le web. La configuration se
fait en entrant un nom et un mot de passe utilisateur.
group = sendsms-user
username = Thomas
password =Thomas
user-deny-ip = "*.*.*.*"
user-allow-ip = "127.0.0.1"
#user-deny-ip = ""
#user-allow-ip = ""
- Groupe sms-service
Il permet de définir les services SMS à
utiliser. Chaque service est identifié par un mot clé et
l'application qui se chargera de traiter les requêtes.
group =sms-service
keyword =consulter
post-url="http://localhost/Kannel/send.php?sender=%p&text=%r"
catch-all =true
max-messages =5
concaténation =true
Le %p représente le numéro de
téléphone de l'expéditeur, le %r représente le
texte qui se trouve dans le message sans le mot clé.
III.1.4 Configuration du
« Fake SMSC » ou « SMSC logiciel »
[R2] L'étape suivante va consister
à configurer le groupe « smsc ». En effet, c'est cette
configuration qui précise le SMSC de l'opérateur avec
lequel peut dialoguer l'application. Le plus important des
paramètres est le protocole de communication avec le SMSC ;
une fois le protocole défini, il ne restera qu`à effectuer
une configuration adéquate des paramètres restants, pour relier
le serveur à ce dernier. En pratique, il n'en est pas ainsi
puisque les opérateurs préfèrent offrir très
souvent des connexions relais (passerelle), utilisant plutôt le
protocole HTTP (très répandu). Kannel en a aussi tenu compte et a
proposé un type de groupe « smsc » spécial
appelé « http ». En effet, Ce SMSC de type HTTP permet un
accès à tout SMSC d'opérateur dont très
souvent la passerelle offre une interface http. La configuration d'un
« Fake SMSC » se présente comme suit :
group = smsc
smsc = fake
port = 10000
connect-allow-ip = 127.0.0.1
La configuration des fichiers fut l'essentiel
du travail réalisé, puisqu'il a fallu d'abord cerner les
différentes variables, puis ensuite n'utiliser que celles qui
correspondent à nos besoins. L'utilisation du « Fake SMSC »
n'est pas aussi obligatoire, mais utile puisqu'il nous a permis non seulement
de tester l'état de l'installation, mais aussi d'être
rassuré que notre application peut dialoguer avec un SMSC «
physique » quelconque. A la fin de configuration, la figure suivante
montre le statut de Kannel.
Figure 2: Statut de
Kannel
III.2 PHP/KANNEL et le WEB
to SMS
III.2.1 Envoi d'un message
à partir du navigateur
[R2] Maintenant que nous avons installé la
passerelle Kannel et implémenter notre application web nous allons faire
communiquer ces deux entités. En effet, toujours dans le but de
faciliter l'utilisation des services informatiques aux usagers, nous allons
envoyer des SMS à partir de l'application web. Tout d'abord lorsque le
Kannel est démarré nous pouvons effectuer un test dans notre
navigateur pour envoyer un SMS. Il suffit juste de taper au niveau de la barre
d'adresse de notre navigateur la syntaxe suivante:
http://[nom_serveur]:[port]/cgibin/sendsms?user=[nom_utilisateur]&pass=[mot_de_passe]
&to=[numéro_destinataire]&text=[message]
http://localhost:13013/cgi-bin/sendsms?user=Thomas&pass=Thomas&to=698707791&text=helow
Nous recevons dans notre portable destiné aux
tests le message : « helow ». Nous pouvons appliquer ce principe pour
envoyer un SMS dans notre application web. Mais il existe deux types d'envois:
les envois simples :les envois multiples. La méthode citée
ci-dessus serait inappropriée pour l'envoi multiple. En effet il nous
faut trouver un moyen de répéter le processus d'envoi au cas
où nous voudrions envoyer plusieurs SMS en une fois. Nous avons donc eu
recours à la méthode des sockets. Cette méthode nous
permettra tout simplement d'envoyer des SMS en utilisant le protocole HTTP, en
PHP bien entendu. Un socket est un identifiant unique représentant une
adresse sur le réseau. Des processus peuvent s'y connecter pour y
envoyer des données ou pour en recevoir. Les processus devront adopter
un protocole de communication afin d'assurer un échange de
données cohérent. L'adresse du socket est spécifiée
par le nom de l'hôte sur lequel on la crée et le numéro de
port. Nous créerons une fonction qui prend en entrée le
numéro du destinataire et le texte à envoyer et qui retourne le
résultat de la requête envoyée à Kannel. Nous
utiliserons cette fonction pour les envois simples et pour les envois
multiples.
III.2.2 Architecture
GSM
De l'application on écrit un message qu'on veut envoyer
à un destinataire. Mais avant que ce message ne parvienne au
destinataire, il est « contourné » par un
mobile GSM intégrant un modem servant de passerelle. Ce mobile ou modem
connecté à un port USB afin de pouvoir le parvenir à la
destination. La figure suivante qui est le diagramme de classes, décrit
le mécanisme d'envoi massif des SMS.
Figure 3: Diagramme de
classes pour l'envoi massif des SMS
CONCLUSION PARTIELLE
Au regard de qui précède, il était
question de la mise en oeuvre de la plateforme. Nous notons la configuration de
Kannel qui est un outil important pour le développement des applications
avec le serveur Apache.
CONCLUSION GENERALE
A la lumière de ce qui précède,
il était question d'une « Etude et Conception d'un serveur SMS
couplé à un système de gestion scolaire ». En
réalité, ce système permettra, entre autres aux
étudiants d'un institut scolaire de bénéficier de
certaines opérations ou services à distance par un simple SMS.
Cependant, pour que ce système soit opérationnel, il faudrait un
partenariat avec les institutions financières ou coopératives
bancaires et les opérateurs de téléphonie mobile. Nous
avons donc simulé un SMSC et la mise en place d'un serveur SMS et le
SMSC. Nous avons conçu notre base de données pour interagir avec
Kannel. Cette base de données contient toutes les données
concernant le système (clients, messages reçus, messages
envoyés, services disponibles...). Ainsi, pour mener à bien
l'étude du projet, il a fallu adopter une certaine
démarche : en premier lieu les différents outils ou/et
moyens indispensables pour le développement de notre application ;
en second lieu nous avons spécifié le système pour en
discerner les fonctionnalités et enfin, nous avons procédé
à sa conception ainsi qu'aux différents choix technologiques.
BIBLIOGRAPHIE
BIBLIOGRAPHIE
DOCUMENTS
[R1] Philipe Rigaux Conception et Réalisation
des sites Web Dynamiques, 557 pages, 4e édition, DUNOD
consulté le 16-08-2013
SITES INTERNETS
[R2] :
http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html,
Mannuel de configuration de Kannel, consulté le 15-06-2013
[R3] :
www.memoireonline.com,
Mémoire Online, Site de publication des Rapports de Stage
consulté le 10-01-2014
|