Beruflich Dokumente
Kultur Dokumente
com/
I. Quest ce que RAPIDSMS ............................................................3 II. Architecture de RAPIDSMS ........................................................4 1. Les Backends .........................................................................4 2. Les Librairies ..........................................................................5 3. Le Router :...............................................................................6 4. WEBUI :..................................................................................6 5. App :........................................................................................6 III. Dependence entre modules /Routage SMS.................................6 IV. Domaine dapplications Application...........................................7 V. Pratique.......................................................................................10
RapidSMS est un framework pour le dveloppement dapplications bases essentiellement sur le SMS . Le framework est dvelopp sous Python .Il intgre galement un interfaage Web bas sur le framework DJANGO RapidSMS supporte diffrents type de Backend PYGSM Interface avec un modem type GSM bas sur pySerial
Prsentation de RAPIDSMS | Alioune Dia
IRC
Interface avec un serveur IRC ( ex : Freenode , ) Interface avec un serveur de messagerie Interface avec un serveur Kannel
EMAIL KANNEL
II.Architecture de RAPIDSMS
1. Les Backends Reoivent le messages provenant des sources externes (Modem GSM, Kannel ,IRC)
Prsentation de RAPIDSMS | Alioune Dia
PYGMS PyGMS est une interface entre lapplication et le modem GSM . Utilise PySerial.py pour scanner le port srie et cre un pipe entre le modem et lapplication. # create a GsmModem object: >>> modem = pygsm.GsmModem(port="/dev/ttyUSB0") Envoi de commande GSM >>>modem.command('AT+CSCS="HEX"') >>>modem .command("AT+CSMP=%s" % ",".join(mode)) PyGSM est stable avec le modem multitech
KANNEL
Le Backend permet de crer une interface entre RAPIDSMS et KANNEL Ouvre une connexion avec KANNEL . Les paramtres de connexion avec Kannel sont fournis par le fichier de configuration de kannel. PyKannel utilise le port, ladresse du serveur ; le login et le mot de passe pour se connecter Kannel . Tlchargement http://github.com/adammck/pykannel Dautres types de Backends sont galement supports comme (IRC , EMAIL , HTTP) 2. Les Librairies Un ensemble de Librairies permettant de parser les SMS, de regrouper des fonctionnalits gnriques . Example : Sur Wara App >>> kw =Keyworder () >>> kw ( wara theme (.*) date (\d\ d? \d\ d? \d{4} ) ) >>> kw (wara themes )
Prsentation de RAPIDSMS | Alioune Dia
3. Le Router : Le router fait parti du noyau de RAPIDSMS et permet de dispatcher les messages reus Des diffrents backends vers les diffrentes applications et vice versa .
4. WEBUI : Cest une application DJANGO qui permet de donner une interface WEB aux applications .WEBUI cre le fichier DJANGO settings et DJANGO urls en parsant toutes les applications qui ont des composants web (settings.py , urls.py )
5. App : Module contenu dans chaque application cre Reoit le message transmit par le router lapplication. Contient les diffrentes mthodes de traitement dun messages (handle , parse , outgoing) Traite le message et le repasse au router via sa mthode handle. Peut instancier directement un backend et envoyer un message WorkFlow Backends/Router/Apps III. Dependence entre modules /Routage SMS
Le Backend est un processus qui tourne en dmon et interroge le modem rgulirement Lorsque un SMS est reu du modem , le message est encapsul dans un objet message , avec une connexion et le backend correspondant Le message est ensuite mis dans une pile Le router qui tourne dans un processus parallle regarde rgulirement le contenu de la pile Le router route le message vers les diffrentes applications Les applications envoient leurs rponses aux backends Les backends se charge denvoyer les rponses au modem IV. Domaine dapplications Application RAPIDSMS est dans une phase dexpansion un peu partout dans le monde, Particulirement en Afrique ,en moyen orient et en Asi. La commut des dveloppeurs augment sans cesses. Le Systme est dploy un peu partout dans le monde MALAWI, SENGEGAL, NIGERIA, IRAK, PALESTINE, MALI, MAURITANIE
V. Pratique Cration dune application base sur RAPIDSMS permettant lenregistrement dun thme au sminaire et la consultation des thmes proposs .
* app.py
*.models.py