WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

M-banking: Analyse, conception et implémentation d'une solution de SMS-Banking

( Télécharger le fichier original )
par Firmin Evrard DOUANLA TOUOPI
Institut d'ingénierie informatique de Limoges - Master 2009
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    DEDICACE

    A ma famille

    Trouvez en ce document la récolte de toutes vos semences

    REMERCIEMENTS

    Il aurait été difficile de nous passer de l'appui de nombreuses personnes à qui nous tenons à

    donner toute notre reconnaissance :

    _ Le Seigneur tout puissant qui nous a donné la force au quotidien afin que nous puissions

    achever notre travail ;

    _ M. DERRICK FONTAH, Directeur Général de BETTER PLANNING LTD qui en plus de

    nous avoir accueilli dans son entreprise, n'a ménagé aucun effort afin que ce projet aboutisse à

    terme ;

    _ M FOTSO VALERY, notre encadreur académique qui malgré ses multiples occupations à

    toujours répondu présent quand besoin l'était ;

    _ M. ASSONFACK HYPPOLITE notre maitre de stage pour ses enseignements, critiques,

    suggestions et son suivi sans faille ;

    _ M. KEPGNIA GHISLAIN qui nous a chaleureusement légué son savoir faire technologique ;

    _ Dr TABOD CHARLES pour ses critiques et suggestions ;

    _ les enseignants de notre filière pour les enseignements qu'ils nous ont apportés durant ces trois

    années ;

    _ Mlle DJIFACK ADELEXIE et M. JIA FABRICE qui ont pris la peine de relire ce travail pour

    apporter quelques corrections orthographiques ;

    _ le personnel de BETTER PLANNING LTD (Franck, Emmanuel, Edmond, Félicité, Fred,

    Marc...) pour leur chaleureux accueil ;

    _ Mes voisins de la WHITE CITY avec qui nous partageons notre quotidien ;

    _ Tous mes camarades de la promotion (2006-2009) du cycle de CS2I de l'ISTDI sans qui nous

    n'aurions pu vaincre certains obstacles ;

    _ Tous ceux qui de près ou de loin ont participé et que j'aurais omis de mentionner explicitement

    ici.

    Une pensée affectueuse à tous les membres de ma famille et amis pour leur assistance et soutien sans faille.

    SOMMAIRE

    DEDICACE i

    REMERCIEMENTS ii

    SOMMAIRE iii

    DEFINITION DES SIGLES v

    LISTE DES FIGURES ET TABLEAUX vi

    INTRODUCTION 1

    CHAPITRE I : CONTEXTE 3

    I.1.1 Présentation et historique de l'entreprise 3

    I.1.2 Les activités de BETTER PLANNING LTD 3

    I.1.3 Présentation du service d'accueil 4

    CHAPITRE II : PROBLEMATIQUE 5

    I.2.1 Problématique 5

    I.2.2 Intérêt et choix du sujet 6

    CHAPITRE I : QUELQUES DATES HISTORIQUES ET DEFINITIONS 8

    II.1.1 Quelques dates historiques 8

    II.1.2 Définitions 8

    CHAPITRE II : LES DIFFÉRENTES TECHNOLOGIES M-BANKING 10

    II.2.1 LE STK-BANKING 10

    II.2.1.1 Présentation générale du SIM TOOLKIT 10

    II.2.1.2 Description du STK-BANKING 10

    II.2.1.3 Avantages du STK BANKING 13

    II.2.1.4 Inconvénients du STK-BANKING 13

    II.2.2 Le WAP-BANKING 13

    II.2.2.1 Aperçu sur le protocole WAP 13

    II.2.2.2 Approche conceptuelle du WAP-BANKING 14

    II.2.2.3 Avantages du WAP-BANKING 17

    II.2.2.4 Inconvénients du WAP-BANKING 17

    II.2.3 Le SMS-BANKING 17

    II.2.3.1 Présentation générale du SMS 17

    II.2.3.2 Qu'est ce que le SMS-BANKING 19

    II.2.3.3 Architecture générale d'une plate forme SMS-BANKING 19

    II.2.3.4 Avantages du SMS-BANKING 20

    II.2.3.5 Inconvénients du SMS-BANKING 21

    II.2.4 Le M-BANKING au Cameroun 21

    II.2.5 Comparaison entre le STK-BANKING , le WAP-BANKING et le SMS-BANKING 21

    CHAPITRE I : CHOIX TECHNOLOGIQUES 23

    III.1.1 La passerelle SMS 24

    III.1.2 La méthode UP 24

    CHAPITRE II : ANALYSE 26

    III.2.1 Expression des besoins 26

    III.2.1.1 Les différents services qui seront proposées aux clients 26

    III.2.1.2 Gestion des clients 27

    III.2.1.3 Gestion de la facturation 27

    III.2.1.4 GESTION DES SM 27

    III.2.1.5 Sécurité 28

    III.2.1.6 Etats et statistiques 28

    III.2.2 Analyse 28

    III.2.2.1 Définition de quelques concepts 28

    III.2.2.2 Principaux cas d'utilisation autour desquels s'organise SMS BANKING 29

    III.2.2.3 Description détaillée de quelques cas d'utilisation 31

    CHAPITRE III : CONCEPTION 49

    III.3.1 Conception de la base de données 49

    III.3.2 Architecture détaillée de SMS BANKING 50

    III.3.2.1 Sous système CUSTOMER SMS 50

    III.3.2.2 Le core SMSBANK 50

    III.3.2.3 Sous système GATEWAY SMS 51

    III.3.2.4 Sous système SI BANK. 52

    CHAPITRE IV : IMPLEMENTATION 54

    III.4.1 La passerelle GMS/IP 54

    III.4.1.1 rôle de KANNEL 54

    III.4.1.2 Installation de KANNEL 54

    III.4.1.3 configuration et administration de KANNEL 55

    III.4.2 Installation du modem GSM 56

    III.4.3 Implémentation des modules du système 56

    III.4.3.1 Outils utilisés 56

    III.4.3.2 Réalisation 57

    III.4.3.3 Résultats 57

    CONCLUSION 64

    BIBLIOGRAPHIE ET WEBOGRAPHIE I

    ANNEXES II

    DEFINITION DES SIGLES

     
     

    ASP

    Advanced Server Pages

    BSC

    base station controller

    BTS

    Base Transceiver Station

    CDMA

    Code Division Multiple Access

    CGI

    Common Gateway Interface

    GSM

    Global System for Mobile Communications

    HTML

    HyperTex Markup Language

    HTTP

    HyperTex Transfer Protocol

    IHM

    Interface Homme-Machine

    JSP

    Java Server Pages

    M-BANKING

    Mobile Banking

    MSC

    (Mobile Service Switching Centre)

    PHP

    Personal Home Page

    SGBC

    Société Générale des Banques du Cameroun

    SGBD

    Système de Gestion des Bases de Données

    SIM

    Subscriber Identity Module

    STK

    SIM Application Toolkit

    SM

    Short Message

    SMS

    Short Message Service

    SMSC

    Short Message Service Center

    SQL

    Structured Query Language 

    SVA

    Servives à Valeur Ajoutée

    IP

    Internet Protocol

    UML

    Unified Modeling Language

    UP

    Unified Process

    URL

    Uniform Resource Locator

    UMTS

    Universal Mobile Telecommunications System

    VLR

    Visitor Location Register

    VSAT

    Very Small Aperture Terminal

    WML

    Wireless Markup Language

    LISTE DES FIGURES ET TABLEAUX

    Figure 1 : Communication application SIM toolkit application serveur 12

    Figure 2 : Architecture composants STK-BANKING 12

    Figure 3 : couches du protocole WAP 13

    Figure 4 : Echange d'information lors dune requête WAP 16

    Figure 5 : Transmission d'un SM depuis un terminal 18

    Figure 6 : Transmission d'un SM du SMSC vers un terminal destintaire 19

    Figure 7 : Plate forme SMS BANKING avec passerelle 20

    Figure 8 : Plate forme SMS BANKING avec passerelle 20

    Figure 9 : Diagramme de cas d'utilisation des services d'informations à la demande 31

    Figure 10 : Diagramme de sequence du cas d'utilisation « demande de solde » 34

    Figure 11 : Diagramme de cas d'activité du cas d'utilisation « demande de solde » 35

    Figure 12 : Diagramme de sequence du cas d'utilisation « demande de chéquier » 39

    Figure 13 : Diagramme d'activité du cas d'utilisation demande de chéquier 40

    Figure 14 : Diagramme de séquence du cas d'utilisation alerte credit compte 43

    Figure 15 : Diagramme de d'activité du cas d'utilisation alerte credit compte 44

    Figure 16 : Diagramme de séquence du cas d'utilisation alerte virement salaire 47

    Figure 17 : Diagramme d'activité du cas d'utilisation alerte virement salaire 48

    Figure 18 : Diagramme de classe du système 49

    Figure 19 : Schéma du sous système CUSTOMER SMS 50

    Figure 20 : Schéma du sous système GATEWAY SMS 52

    Figure 21 : Schéma du sous système SI BANK 53

    Figure 22 : Lancement du BEARERBOX de kannel 58

    Figure 23 : Utilisation de Javaservice pour la création du service GATEWAYSMS1 58

    Figure 24 : Le service GATEWAYSMS1 lancé 59

    Figure 25 : Le service CORESMSBANK Lancé 59

    Figure 26 : Interface générale de SMS-BANKING 60

    Figure 27 : Interface de visualisation des SM émis par les clients 61

    Figure 28 : Interface de visualisation des SM emis en direction des clients 62

    Figure 29 : Interface d'inscription des clients aux services de notification évènementielle 62

    Figure 30 : Interface d'incription des clients aux services d'information à la demande 63

    Figure 31 : Interface de visualisation du nombre total des SM emis par le système aux clients durant une periode 63

    Tableau 1 : Comparaison entre STK-BANKING, WAP-BANKING et SMS-BANKING 22

    INTRODUCTION

    Depuis des milliers d'années, l'homme cherche à améliorer ses moyens de communication et d'accès à l'information. Au XXe siècle, les télécommunications trouvent dans l'informatique un allié solide. Les progrès technologiques récents ont permis l'apparition d'une grande variété de nouveaux moyens permettant à un utilisateur d'accéder et d'utiliser l'information qui l'intéresse en tout lieu couvert par le réseau et à tout moment. L'accès au contenu ne s'effectue plus exclusivement de la même façon ni par les mêmes appareils qu'il y a quelques décennies. Ces nouveaux appareils, fruits d'une véritable révolution technologique, ont pour nom : assistants personnels, téléphones cellulaires, smartphones, etc. Les téléphones mobiles aujourd'hui sont allés au-delà de leur rôle primitif d'outils de communication et ont progressé pour devenir une extension de la personnalité de l'utilisateur. Nous assistons à une époque où ce dernier n'achète plus cet appareil afin d'être non seulement en contact avec d'autres personnes mais, d'exprimer lui -même ses attitudes, sentiments, et intérêts. Les abonnés veulent continuellement plus de leurs téléphones mobiles. Ils les utilisent pour stocker leurs données, jouer, lire des articles de presse, surfer sur internet, avoir un aperçu sur l'astrologie, écouter de la musique et même recevoir leurs états financiers. Il en découle que, les téléphones mobiles regorgent des vaste fonctionnalités au-delà de la voix qui doivent être explorées et exploitées. Dans ce sens, un boom des services à valeur ajoutée parmi lesquels le M-BANKING a été constaté un peu partout dans le monde, laissant en rade d'autres technologies aussi avantageuses et, répondant également aux attentes des utilisateurs. Cependant ces technologies ne sont pas toujours mises en oeuvre partout où besoin en est, du fait soit de l'inaccessibilité pour certains et pour d'autres du fait de la méconnaissance de leur existence.

    La suite de ce mémoire, sera constituée de trois parties une première, le contexte et problématique, décrira de manière brève l'entreprise où nous avons fait notre stage académique et présentera les motivations du choix de notre sujet. Une deuxième partie, intitulé approche théorique du M-BANKING présentera les différentes technologies du M-BANKING avec leurs forces et faiblesses. Réalisation de notre solution de SMS-BANKING constituera la troisième partie, où nous exposerons l'approche que nous proposons pour mettre en place une plate forme de SMS-BANKING. Enfin nous terminerons notre mémoire par une conclusion, une annexe et des références bibliographiques.

    PARTIE I : CONTEXTE ET

    PROBLEMATIQUE

    Dans cette partie, nous présenterons de façon générale l'entreprise qui nous a accueillis durant notre stage puis, définirons le concept SMS BANKING

    La résolution d'un problème passe sans doute par sa compréhension. Cette partie énonce  clairement le  problème  tel  que  posé à notre arrivée en entreprise,  l'explique  de  façon  schématique  et  présente  les  données  à  étudier  

    CHAPITRE I : CONTEXTE

    I.1.1 Présentation et historique de l'entreprise

    Implanté sur le terrain depuis près de 10 ans et résolument tournée vers les attentes et besoins des entreprises, la société BETTER PLANNING LTD se spécialise dans le développement des applications, la vente du matériel et la fourniture des services informatiques. Le gain étant la priorité dans les entreprises, BETTER PLANNING LTD ne faillit pas à la tradition et aspire à une croissance économique. D'où son objectif majeur qui est de fournir des produits de qualités afin de se démarquer et satisfaire les besoins de sa clientèle.

    I.1.2 Les activités de BETTER PLANNING LTD

    BETTER PLANNING LTD s'est donnée pour objectif majeur de fournir des produits de qualités afin de satisfaire les besoins de sa clientèle. Son activité principale est le développement de solutions logicielles destinées aux entreprises. Comme solutions logicielles, nous pouvons citer:

    § GLOBAL BANK  pour les opérations bancaires;

    § SYSOFT PAYROLL  pour la gestion des salaires et des Ressources Humaines ;

    § MEDICAL pour la gestion hospitalière;

    § CYBERCASH pour le transfert d'argent.

    BETTER PLANNING LTD est également spécialisé dans la prestation des services informatiques tels que:

    § partenaire de distribution des produits RINGO ;

    § installation et la configuration des antennes VSAT ;

    § développement des sites web ;

    § fourniture de matériel informatique et maintenance après vente ;

    § fourniture des équipements réseaux ;

    § formation en informatique ;

    § cyber café.

    I.1.3 Présentation du service d'accueil

    Il s'agit ici du département technique. Sa responsabilité principale est le développement des logiciels. Il regroupe en son sein des développeurs, des responsables de formation, une équipe de maintenance et des stagiaires. Les employés y sont repartis en groupe de travail suivant les projets en cours et sous la coordination du directeur général. En bref, ce département est chargé :

    § du développement d'applications informatiques ;

    § de l'assistance auprès des clients en cas de difficulté d'exploitation ;

    § de la formation à l'utilisation des logiciels qu'elle a développés.

    CHAPITRE II : PROBLEMATIQUE

    I.2.1 Problématique

    Sur son site Internet la société MTN Cameroun déclare qu'au 31 Décembre 2008, elle comptait près de 3 574 000 abonnés actifs, soit 62% de parts du marché camerounais. D'après ces chiffres, nous estimons à 5 764 517 abonnés actifs sur le territoire national  en cette date; ce qui représente près du quart de la population nationale. Comparé à la proportion de la population détentrice d'un compte bancaire ou ayant droit aux services bancaires, ce nombre est largement au dessus. Malgré ce boom technologique, sur environ une quarantaine d'institutions financières (banques et coopératives bancaires) que compte le Cameroun, moins d'une dizaine offre à leur clientèle un service de banque à distance sur téléphones mobiles.

    Rendu à ce stade de l'observation, la préoccupation de ce mémoire vise à faire une étude du M-BANKING et implémenter une solution de banque à distance. 

    I.2.2 Intérêt et choix du sujet

    Les services financiers sur mobile ont toutes les chances de faire partie des applications les plus prisées sur téléphone portable, rappelle l'entreprise ABI research. Elle confirme qu'en 2013, ce ne sont pas moins de 500 millions de personnes qui devraient être clientes de ce type de solutions. Notre défi étant de faire du Cameroun un pays moderne. On ne peut être fort que si on peut vivre dans un monde où la technologie n'est plus un mythe. C'est dans cette optique que nous nous sommes assignés la tâche d'étudier les techniques de banque à distance sur téléphones mobiles et d'en déployer une afin d'apporter notre pierre à la construction de l'édifice technologique nationale et ainsi éclairer les uns et les autres sur ce sujet. C'est également une occasion pour nous informer davantage sur le sujet et de donner des armes technologiques aux banques, dans la mise sur pied de leur SVA. Sur le plan technique, son principal atout est sa richesse. Ce projet nous permettra de toucher le monde des télécommunications sans fil, les réseaux informatiques, les protocoles de transport, les SGBD et les langages de programmation sans oublier les systèmes d'exploitation.

    PARTIE II :

    APPROCHE THEORIQUE

    DU M-BANKING

    Dans cette présente partie, il sera question de poser des bases théoriques relatives à notre sujet d'étude.

    CHAPITRE I : QUELQUES DATES HISTORIQUES ET DEFINITIONS

    II.1.1 Quelques dates historiques

    1876 : Invention du premier téléphone par Alexander Graham Bell et Elisha Gray.

    1885 : Apparition du téléphone sans fil, sous la forme d'un radio phone.

    18 janvier 1903 : Guglielmo Marconi envoie un message grâce à la télégraphie.

    Années 1950 : Naissance du téléphone mobile.

    1976 : Mise sur pied de la première génération de téléphonie mobile fonctionnant de façon analogique AMPS (Advanced Mobile Phone System).

    1982 : lancement des premiers services bancaires par téléphone fixe

    1984 : M. Matti Makkonen discute de l'idée de créer un service de traitement de messages pour les téléphones mobiles numériques, dans une pizzéria de Copenhage, avec deux autres Finlandais, MM. Tiainen et Tapiola.

    7 sep 1987 : Le réseau GSM voit effectivement vu le jour suite à la signature de l'accord de développement du réseau Global System for Mobile Communications (GSM).

    1988 : L'ETSI, est fondé et est charge de l'élaboration de normes communes en matière de télécommunications.

    1992 - le GSM va donner naissance à une première expérience de SM.

    3 décembre 1992 : L'ingénieur Neil Papworth envoie le premier SM sur le réseau GSM de Vodafone en Grande-Bretagne.

    1997 : Lancement des premiers services bancaires par message téléphonique de type SM par la banque Nordea..

    1999 : Lancement des premiers services bancaires par message téléphonique de type WAP.

    II.1.2 Définitions

    La banque à distance se définit comme étant toute activité bancaire destinée à un client, se déroulant à partir d'un point de service électronique (téléphone, micro-ordinateur, téléviseur, distributeur automatique de billets ou guichet automatique de banque) et utilisant un système de télécommunication tel que le réseau téléphonique, la télévision par satellite, le minitel ou Internet. Le M-BANKING est donc une composante de la banque à distance.

    Le M-BANKING est un système basé sur le réseau GSM permettant aux clients d'une banque d'accéder à leurs comptes et à des informations générales (demande de soldes, demande d'historique, demande de chéquier, etc.) sur les produits et services bancaires via un téléphone mobil.

    CHAPITRE II : LES DIFFÉRENTES TECHNOLOGIES M-BANKING

    Les principaux standards technologiques du M-BANKING actuellement disponibles sont les suivants :

    § le STK-BANKING,

    § le WAP-BANKING,

    § le SMS-BANKING.

    Nous tâcherons au travers des paragraphes suivants d'effectuer un tour d'horizon des ces différentes technologies.

    II.2.1 LE STK-BANKING

    I) II) II.2.1.1 Présentation générale du SIM TOOLKIT

    La première génération de cartes SIM appelées cartes Phase 1, insérées dans le téléphone mobile, offrait à l'utilisateur des fonctionnalités de base comme l'émission, la réception, le transfert des appels ainsi que de la gestion de son répertoire. Cette première génération disposait également des fonctions de sécurité car chaque carte disposait de 1 kilooctet de mémoire afin de stocker les informations relatives à l'abonné associé (numéro d'appel, numéro d'identifiant, type d'abonnement). Avec les cartes Phase 2 de 2ème génération, la capacité de stockage de la carte SIM atteint les 8 kilooctets. Les cartes SIM deviennent intelligentes et peuvent utiliser le SMS du GSM. L'utilisateur accède alors à de nouveaux services et à de nouvelles fonctionnalités telles que l'identification de l'appelant, la mise en attente des appels et les conversations à plusieurs. Enfin avec l'avènement des cartes Phase 2+ de cette même génération, ce fut la naissance du SIM toolkit, sa mémoire permet de stocker de 16 à 64 kilooctets d'information. Ainsi, de petites applications (codées en langage Java, ou applets Java.) peuvent y être stockées, transformant ainsi la carte SIM en une plate-forme de services. Le téléphone devient un terminal interactif capable d'héberger des applications intelligentes dans la carte SIM et d'échanger des données avec un serveur logiciel connecté à l'environnement de l'opérateur GSM.

    II.2.1.2 Description du STK-BANKING

    L'augmentation des capacités de stockage de la carte à puce a permis de faire évoluer fortement les fonctionnalités du téléphone mobile ; permettant ainsi aux opérateurs de téléphonie mobile d'offrir des services à valeur ajoutée de plus en plus variés. D'un point de vue plus commercial, l'avènement de la SIM Toolkit a facilité le lancement des nouveaux SVA. Parmi ces services, Le STK-BANKING est au coeur de la bataille que se livrent les opérateurs de téléphonie mobile de part le monde.

    Le STK-BANKING se définit comme étant un service permettant aux clients d`un opérateur de téléphonie mobile d'accéder aux informations de leurs comptes bancaires via une application logée sur la carte SIM. La mise sur pied d'un tel service nécessite que l'opérateur de téléphonie signe des contrats avec diverses banques et travaille en étroite collaboration avec celles afin de mettre sur pied les différents composants de la plate forme.

    Les principaux composants du STK-BANKING sont :

    · un terminal mobile GSM, doté d'une carte SIM toolkit dans laquelle est installée l'application cliente. Cette application propose les différents services (demande de soldes, demande d'historique, demande de chéquier, etc.) aux clients via une IHM et sous forme de menu. Mais avant d'y accéder, l'utilisateur doit au préalable s'authentifier. En général, les paramètres d'authentification sont attribuer au client lors de son abonnement au service Toutes les communications entre le terminal mobil et les systèmes d'information de la banque se font via des messages courts cryptés. La figure 1 représente une communication entre une application cliente sur une carte SIM toolkit et son application distante.

    · L'application serveur assurant la fonction de passerelle entre le terminal mobile et les sources d'information (base de données des différentes banques). Cette application effectue tous les traitements sur la base de données de la banque et renvoie les résultats au client. Elle(application serveur) peut être hébergée soit chez les sources d'informations(banques) qui souhaitent protéger leurs données clientèles (numéros de comptes bancaires...) ou parce qu'elles sont reliées à plusieurs opérateurs de téléphonie mobile; soit chez les opérateurs qui souhaitent offrir des services spécifiques à leurs abonnés dans des domaines applicatifs trop variés pour placer une plate-forme chez chaque fournisseur d'information ; soit chez un tiers hébergeur de l'opérateur.

    Figure 1 : Communication application SIM toolkit application serveur

    · un support de communication entre l'application cliente et le serveur : le SMS de l'opérateur de téléphonie permet l'échange d'informations.

    La figure 6 représente l'architecture générale des différents composants d'une plate forme du STK-BANKING.

    Figure 2 : Architecture composants STK-BANKING

    II.2.1.3 Avantages du STK BANKING

    La sécurité est l'élément fort de cette technologie. L'utilisation STK- BANKING se fait après s'être authentifié. Toutes les informations sont cryptés par l'application cliente avant d'être transmise par réseau GSM puis sont décryptées au niveau de l'application serveur et vice-versa. Le STK-BANKING est assez fiable car il est maîtrisé par les opérateurs. Il est indépendant de la marque du téléphone.

    II.2.1.4 Inconvénients du STK-BANKING

    Malgré ses forces, le STK-BANKING essuie néanmoins quelques faiblesses :

    § après qu'une carte SIM soit livrée au client il peut être difficile d'ajouter les applications ou encore de modifier les fonctionnalités des applications existantes ;

    § la taille de la mémoire de la carte reste réduite ; ce qui réduit les fonctionnalités à allouer aux différentes applications.

    II.2.1 II.2.2 Le WAP-BANKING

    II.2.2.1 Aperçu sur le protocole WAP

    Le protocole WAP est un protocole de communication permettant d'accéder à internet à l'aide d'un appareil de transmission sans fil ayant un écran de taille réduite, un processeur de faible puissance et une autonomie limitée(un téléphone portable, un assistant personnel, etc.). Il redéfinit le protocole HTTP, le format des données HTML et l'interactivité obtenue par le langage javascript. Indépendant des architectures matérielles utilisées par l'opérateur, il est utilisable sur des réseaux divers tels que : GSM, CDMA, UTMS, TETRA...

    Le protocole WAP est défini selon un modèle en 5 des couches. Chacune de ces couches définit une interface vis-à-vis de la couche suivante.

    La figure 3 représente les différentes couches du protocole WAP.

    Figure 3 : couches du protocole WAP

    · La couche WAE (Wireless Application Environment)

    La couche application du WAP définit l'environnement de développement des applications sur les terminaux mobiles.

    · La couche WSP (Wireless Session Protocol)

    La couche session est constituée de deux protocoles :

    - un protocole orienté connexion agissant au-dessus de la couche transaction

    - un protocole non orienté connexion agissant au-dessus de la couche transport

    · La couche WTP (Wireless Transaction Protocol)

    La couche de transaction gère le déroulement de la transaction, elle définit donc la fiabilité du service. La communication peut se faire de trois façons, c'est-à-dire :

    - à sens unique avec acquittement

    - à sens unique sans acquittement

    - en full duplex avec acquittement

    · La couche WTLS (Wireless Transport Layer Security)

    Les données circulant entre le terminal mobile et la passerelle grâce à des réseaux sans fil, il est nécessaire que les transactions soient sécurisées, c'est ce que se propose de faire la couche sécurité. Celle-ci est basée sur le standard SSL (Secure Socket Layer) et permet :

    - de crypter les échanges de données ;

    - de garantir l'intégrité des données (vérifier que celles-ci n'ont pas été modifiées) ;

    - d'authentifier les acteurs de l'échange.

    · La couche WDP (Wireless Datagram Protocol)

    La couche WDP est à la base de la pile de protocoles WAP, c'est elle qui est chargée de l'interface avec les protocoles de transmission de données utilisés par les opérateurs de télécoms.

    II.2.2.2 Approche conceptuelle du WAP-BANKING

    Le WAP-BANKING se définit comme étant un service permettant aux clients d`un opérateur de téléphonie mobile d'accéder aux informations de leurs comptes bancaires via une application logée sur un serveur web.

    Tout comme pour le Web, les applications WAP sont conçues dans une approche client - serveur. Le terminal mobile incorpore un navigateur léger (l'équivalent d'Internet Explorer ou de Netscape Navigator) qui communique avec un serveur WAP. Les ressources des terminaux mobiles actuels étant limitées, le traitement des données est principalement assuré côté serveur. Les architectures WAP reposent sur quatre briques technologiques, chacune étant nécessaire lors du transfert des données par le protocole WAP. Ainsi pour la mise en oeuvre d'un service WAP-BANKING, nous avons besoin de :

    · un serveur Web et (ou) applicatif disposant de contenu au format WAP (ou plus précisément WML). Ce serveur héberge l'application permettant au client de faire ses différentes demandes (demande de solde, demande d'historique, etc.) en direction de la banque ;

    · la passerelle ou serveur WAP : elle est chargée de convertir les données reçues en paquets conformes au protocole HTTP pour pouvoir dialoguer avec des serveurs Web et vice-versa ;

    · le réseau de l'opérateur ;

    · l'utilisation par le client d'un terminal WAP c'est à dire qui héberge un navigateur WAP. Le terminal n'a d'utilité, vis à vis du WAP, que par l'existence de son navigateur WAP. Le navigateur se charge en effet de décoder les informations transmises par la passerelle WAP.

    La figure 4 représente l'architecture générale d'une application WAP

    Figure 4 : Architecture générale d'une application WAP

    Le terminal mobile (un appareil mobile tel qu'un téléphone supportant les fonctionnalités du WAP, un assistant personnel, ou bien tout autre appareil capable de supporter cette technologie) désirant obtenir des données, en provenance d'un service WAP, doit dans un premier temps se connecter à une passerelle à l'aide d'un numéro de téléphone, ou bien grâce à un assistant de connexion. Lorsque le terminal mobile est connecté à la passerelle, l'ensemble des transactions effectuées par le mobile est envoyée par la passerelle au serveur applicatif (serveur web) par une transmission de type IP, sous forme de requêtes proches du standard HTTP. Le serveur applicatif va renvoyer à la passerelle des documents au format WML (le langage de formatage des documents affichables sur terminal mobile), en fonction des requêtes du terminal mobile. Cela signifie que le serveur peut utiliser les mêmes technologies qu'un serveur web pour fournir ses données (accès à une base de données, exécution d'un script CGI, exécution de scripts PHP ou ASP, ou bien de servlets, ...). Une fois les données formatées, celles-ci sont envoyées à la passerelle, qui va se charger de les transmettre au terminal mobile.

    La figure suivante explicite la façon dont va avoir lieu un échange d'informations à travers une application WAP lors d'une requête.

    Figure 5 : Echange d'information lors dune requête WAP

    1. L'utilisateur appuie sur une touche de son téléphone à laquelle correspond une URL

    2. Une requête est envoyée à la passerelle configurée, en utilisant le protocole WAP

    3. La passerelle WAP crée une requête HTTP conventionnelle pour l'URL demandée et la transmet au serveur Web

    4. Cette requête HTTP est analysée par le serveur Web. Si l'URL correspond à un fichier statique (html), le serveur Web va chercher ce fichier et lui ajoute un entête HTTP. Si l'URL correspond à un script CGI ou autres, dans ce cas, le serveur lance l'application correspondante.

    5. Le serveur Web retourne le jeu de cartes WML avec l'entête HTTP ajouté, ou directement les données WML issues du script.

    6. La passerelle WAP vérifie l'entête HTTP et le contenu WML, et code le tout dans une forme binaire. La passerelle crée alors une réponse au format WAP qui est transmise au navigateur.

    7. Le navigateur reçoit une réponse. Il interprète le contenu WML et affiche la première carte du jeu de carte.

    II.2.2.3 Avantages du WAP-BANKING

    Le principal avantage du WAP est son interactivité, permettant de concevoir de applications fortement structurées et facilement modifiables. Il offre ainsi la possibilité de créer des rubriques, mettre des informations en ligne, consultables à l'initiative de l'utilisateur, à partir de son téléphone mobile. Il permet également de protéger les informations transmises entre le client et la banque.

    II.2.2.4 Inconvénients du WAP-BANKING

    Le WAP n'a pas jusqu'à présent connu le succès commercial escompté. Ceci est du à :

    § la plupart des utilisateurs ne savent pas déclencher une session WAP à partir de leur mobile ;

    § le WAP nécessite 30 à 40 secondes de connexion et un nombre de « clicks » importants avant d'accéder à l'information utile pour réaliser une transaction ;

    § le WAP est synchrone, c'est-à-dire que vous recevez immédiatement le résultat de votre requête. Si pour une raison ou une autre, votre appareil mobil perd la connexion avec le réseau de l'opérateur de téléphonie, vos n aurez pas l'information escomptée même quand la connexion redeviendra normale ;

    § tous les téléphones portables ne sont pas compatibles WAP.

    II.2.3 Le SMS-BANKING

    II.2.3.1 Présentation générale du SMS

    Le service de messages courts offert par le réseau GSM permet à un utilisateur de composer un message textuel d'au plus 160 caractères (codés à l'aide d'ASCII 7 bits sur 140 octets) à partir de son terminal et de l'envoyer à un destinataire possédant un téléphone mobile ou à une entité extérieure au réseau GSM appelée SME (Short Message Entity). Un SME est l'application capable de recevoir les SM.

    Les messages émis sont soit transmis directement au terminal destinataire du message (si celui-ci est allumé), soit stockés dans le serveur de message courts (SMSC, pour SMS Center) par lequel il transite. Les messages courts ne circulent pas dans les mêmes canaux logiques que la voix ou les données si bien qu'il est possible pour un utilisateur en communication téléphonique (avec un autre correspondant) de recevoir des messages courts simultanément. Le SMS nécessite la mise en place d'un ou plusieurs serveurs spécifiques dans le réseau GSM. Le serveur de messages courts (SMSC) assure  le stockage (dans des bases de données), la distribution aux terminaux destinataires (quand ceux-ci se sont manifestés dans le réseau GSM auquel ils appartiennent) et le traitement des dates de validité des SM. Les SMSC fonctionnent en "Store and Forward" c'est-à-dire qu'ils envoient le SM au récepteur si et seulement si ce dernier est opérationnel dans le réseau. Lorsque le SM est envoyé, il passe successivement par les équipements BTS, BSC, MSC /VLR avant d'être router vers le SMSC approprié. Si à ce niveau le SM est bien reçu, un acquittement de bonne réception est envoyé au MSC/VLR, qui à son tour l'envoi au mobile. La figure 6 illustre toute la littérature expliquant la transmission d'un SM depuis un terminal.

    Figure 6 : Transmission d'un SM depuis un terminal

    Lors de l'acheminement d'un SM, le SMSC envoie d'abord une requête de localisation au HLR, qui l'indique le MSC/VLR où est enregistré le terminal destinataire. S'il est accessible, le SMSC lui délivre le message. Après avoir reçu le SM, le mobile renvoi au SMSC un acquittement de réception par le biais du MSC/VLR. La figure 7 modélise l'acheminement d'un SM vers un terminal.

    Figure 7 : Transmission d'un SM du SMSC vers un terminal destintaire

    II.2.3.2 Qu'est ce que le SMS-BANKING

    Le SMS BANKING est une application bancaire permettant aux clients d'une banque ou coopérative bancaire de recevoir leur état financier, d'effectuer des transactions financières ou encore d'effectuer des demandes bancaires tels que : les demandes de chéquiers, les demandes de soldes via leur téléphone portable en utilisant le SMS de l'opérateur d'un opérateur de téléphonie mobile.

    II.2.3.3 Architecture générale d'une plate forme SMS-BANKING

    Il existe en général deux types d'architecture pour mettre sur pied une plate forme de SMS BANKING. Mais, quelque soit l'architecture choisit notons qu'il nous faudra toujours :

    · les modems GSM qui permettent à la banque de se connecter au réseau d'un opérateur de téléphonie en utilisant les cartes SIM ;

    · les téléphones portables que doivent disposer les clients qui veulent s'abonner à ce service ;

    · une application serveur comprenant toutes les fonctionnalités du SMS BANKING et qui sera déployée au niveau des serveurs de la banque 

    II.2.3.3.1 Architecture utilisant une passerelle

    Dans cette architecture les modems GSM sont reliés sur une passerelle GSM/IP. Toutes les SM transitent par elle. Elle reçoit les requêtes des clients et les redirigent vers les serveurs de base de données de la banque. Ou encore transmet les informations venant des serveurs en direction des clients. C'est cette passerelle qui est chargée de gérer toutes les files d'attentes des SM entrants et sortant dans le système.

    Figure 8 : Plate forme SMS BANKING avec passerelle

    II.2.3.3.2 Architecture sans passerelle

    Dans cette architecture, le modem GSM est directement lié aux serveurs de base de données de la banque. Il faut écrire un programme qui va relier notre modem GSM à la base de données de la banque. L'une des difficultés ici est que le développeur doit non seulement bien synchroniser les files d'attente des SM sortant et entrant, mais aussi connaître parfaitement les commandes AT afin de pouvoir communiquer aisément avec le modem GSM.

    Figure 9 : Plate forme SMS BANKING sans passerelle

    II.2.3.4 Avantages du SMS-BANKING

    Les avantages du SMS-BANKING sont également ceux du SMS de l'opérateur de téléphonie. Ils sont entre autres :

    § les SM utilisant un canal de signalisation, ils sont presque toujours transmis même lorsque le réseau mobile est saturé par de nombreux appels. (exceptions: panne ou destruction du réseau mobile ou en fin d'année lorsque de très nombreux SM sont transmis simultanément) ;

    § le service est quasi-instantané : chaque envoi est acheminé immédiatement au(x) destinataire(s) sélectionné(s) ;

    § la réception et la lecture des SM sont gratuites, ils n'induisent donc aucune charge financière pour le récepteur, et peuvent être consultés malgré un forfait épuisé ;

    § la communication, non intrusive, ne dérange pas le récepteur qui peut consulter son SM à son moment voulu ;

    § les SM sont compatibles sur tout type de téléphone.

    II.2.3.5 Inconvénients du SMS-BANKING

    L'utilisation des SM n'est cependant pas dépourvue d'inconvénients. La sécurité est le point faible du SMS-BANKING. Tous les messages envoyés circulent en clair dans le réseau de l'opérateur de téléphonie. Ainsi, toutes les informations sniffées sont lisibles sans aucunes difficultés.

    II.2.4 Le M-BANKING au Cameroun

    Comme énoncé dans la partie problématique, le M-BANKING au Cameroun est encore dans son état embryonnaire. Les banques ou coopératives bancaires ont encore du mal à s'enrôler de cette technologie. D'après nos investigations aucune institution financière n'offre un service de WAP-BANKING. Le SMS-BANKING qui est la technologie la plus en vue est la panache de quelques banques. Nous avons entre autre la SGBC avec le service MESSALIA, la BICEC avec son service BICEC info, ECOBANK et bien d'autres. Quant au STK-BANKING, il est encore dans sa phase développement ; une entreprise est présentement en laboratoire et travaille pour la mise en oeuvre ce type de service. Il s'agit de l'opérateur de téléphonie mobile MTN Cameroun qui lancera le service MTN mobile money dans les prochains mois.

    II.2.5 Comparaison entre le STK-BANKING, le WAP-BANKING et le SMS-BANKING

    Nous ferons cette comparaison grâce à un tableau.

     

    STK- BANKING

    WAP- BANKING

    SMS- BANKING

    SECURISE

    OUI

    OUI

    NON

    DEPENDENCE AVEC L'OPERATEUR DE TELEPHONIE

    OUI

    NON

    NON

    ADAPTABLE A TOUS LES TELEPHONES MOBILES

    OUI

    NON

    OUI

    FACILEMENT UTILISABLE

    OUI

    NON

    OUI

    CAPACITE D'AJOUTER DES FONCTIONNALITES FACILEMENT

    NON

    OUI

    OUI

    Tableau 1 : Comparaison entre STK-BANKING, WAP-BANKING et SMS-BANKING

    Il ressort de ce tableau que le SMS-BANKING et le WAP-BANKING sont les deux seules solutions que nous pouvons réaliser car, le STK-BANKING est une technique qui ne dépend pas seulement de l'éditeur de logiciel mais aussi de l'opérateur de téléphonie ; étant donné que ce dernier est le propriétaire de la carte SIM. Mais, étant donné les points faibles du WAP-BANKING à savoir qu'il est non compatible à tous les téléphones et la méconnaissance de cette technique par le grand public, nous avons choisi d'implémenter le SMS BANKING.

    PARTIE II : REALISATION DE NOTRE SOLUTION DE SMS-BANKING

    La partie précédente a consisté à dégager la préoccupation principale de nos travaux et les différentes questions qui s'y rattachent. Nous nous proposons dans cette section de présenter la démarche adoptée pour répondre à ces différentes questions.

    Ce chapitre présente les résultats auxquels nous avons abouti, suivi de commentaires. Il commence par un bref rappel des objectifs initiaux, vient ensuite la présentation des résultats obtenus à travers les différents modules.

    CHAPITRE I : CHOIX TECHNOLOGIQUES

    Disposant d'une multitude de techniques et de technologies pour mettre en oeuvre la plate forme SMS-BANKING, il a fallu au préalable que nous choisissons celles avec lesquelles nous allons implémenter la solution.

    Un facteur apparaît primordial voire déterminant pour une bonne implantation de l'application SMS-BANKING : la gestion des files d'attentes des SM émis par les clients ou en direction des clients. Notre système devra avoir moins de pertes et savoir gérer les flux des SM. Les passerelles SMS étant conçues avec ces caractéristiques, nous avons choisi d'implémenter une solution utilisant une passerelle.

    Afin de réaliser l'application, nous nous sommes appuyés sur la méthode UP, méthode qui offre l'avantage de bâtir un système de manière incrémentale et itérative.

    III.1.1 La passerelle SMS

    Une passerelle SMS est un dispositif ou un service permettant router les SM du réseau GSM vers un réseau quelconque (intranet par exemple) ou vice versa. Elle gère les queues (files d'attente), les droits d'accès, les journaux, les connexions aux modems, les rapports de livraisons de SM etc....

    III.1.2 La méthode UP

    Le processus unifié est un processus de développement logiciel itératif, centré sur l'architecture, piloté par des cas d'utilisation et orienté vers la diminution des risques. C'est un patron de processus pouvant être adaptée à une large classe de systèmes logiciels, à différents domaines d'application, à différents types d'entreprises, à différents niveaux de compétences et à différentes tailles de l'entreprise.

    § UP est itératif: L'itération est une répétition d'une séquence d'instructions ou d'une partie de programme un nombre de fois fixé à l'avance ou tant qu'une condition définie n'est pas remplie, dans le but de reprendre un traitement sur des données différentes. Elle qualifie un traitement ou une procédure qui exécute un groupe d'opérations de façon répétitive jusqu'à ce qu'une condition bien définie soit remplie.

    § UP est piloté par les cas d'utilisation d'UML : Le but principal d'un système informatique est de satisfaire les besoins du client. Le processus de développement sera donc centré sur l'utilisateur. Les cas d'utilisation permettent d'illustrer les besoins de l'utilisateur. Ils détectent puis décrivent les besoins fonctionnels (du point de vue de l'utilisateur), et leur ensemble constitue le modèle de cas d'utilisation qui dicte les fonctionnalités complètes du système.

    § UP est centré sur l'architecture.

    La méthode UP s'articule autour de quatre (04) phases :

    · L'analyse des besoins : donne une vue du projet sous forme de produit fini. Cette phase porte sur les besoins principaux

    · L'élaboration : cette phase reprend les éléments de la phase d'analyse des besoins pour arriver à une solution détaillée de la mise en oeuvre

    · La construction : c'est le moment où on construit le produit. L'architecture de référence se métamorphose en produit complet.

    · Transition : le produit est en version bêta, un groupe d'utilisateurs essaie le produit et détecte les anomalies et défaut.

    Ces différentes phases s'organisent autour d'activités. Les principales activités de la méthode UP sont :

    · l'expression des besoins : permet de définir les différents besoins, tant fonctionnels que non fonctionnel,

    · l'analyse : permet d'accéder à une compréhension des besoins et des exigences du client. Il s'agit de livrer des spécifications pour permettre de choisir la conception de la solution,

    · la conception : permet d'acquérir une compréhension approfondie des contraintes liées aux outils de réalisation, à l'utilisation des composants et au système d'exploitation,

    · la mise en oeuvre : c'est le résultat de la conception pour implanter le système sous forme de composants, c'est -à-dire d'éléments prêt à l'emploi ;

    · la validation : elle permet de vérifier et de valider la mise en oeuvre.

    CHAPITRE II : ANALYSE

    III.2.1 Expression des besoins

    Pour la mise en oeuvre de notre solution SMS BANKING, il a fallu que nous recensions les différentes fonctionnalités du système.

    III) III.2.1.1 Les différents services qui seront proposées aux clients

    III.2.1.1.1 Des services d'information à la demande

    Grâce à ces fonctionnalités les clients peuvent à tout moment demander de recevoir des informations par SM sur leur téléphone mobile. Pour cela le client envoie un SM contenant un mot clé spécifique au service dont il veut avoir accès auquel il ajoute un code personnel (code PIN) qui lui est attribué par la banque. Ces différents services sont :

    · demande de solde,

    · demande historique (quatre dernières transactions sur un compte),

    · demande de chéquier,

    · demande de virement.

    Exemple: pour consulter son solde, il va simplement envoyer un SM depuis son téléphone contenant :<code service solde> <code personnel>. Comme exemple, nous pouvons avoir le SM suivant : D12 A001

    III.2.1.1.2 Des services de notification évènementielle

    Ces fonctionnalités permettent aux clients de recevoir des informations sur leurs téléphones mobiles lorsqu'un évènement se produit ou une condition est satisfaite. Nous aurons entre autre :

    · alerte par SM après virement d'un salaire,

    · alerte par SM après un débit sur un compte,

    · alerte par SM pour toutes les transactions effectuées sur le compte,

    · alerte par SM après crédit sur un compte,

    · alertes/Information marketing (promotionnelles),

    · alerte par SM après dépassement de seuil minimal,

    · alerte de virement spontané,

    · alerte par SM après dépassement de seuil maximal.

    Exemple : après virement d'un salaire, un SM est automatiquement envoyé au client pour l'en informer.

    III.2.1.1.3 Des services de notification périodique

    Cette fonctionnalité permet aux clients de recevoir périodiquement des informations concernant le solde de leurs comptes.

    Les fréquences sont les suivantes :

    · mensuelle : le client reçoit son solde tous les 1 er du mois,

    · hebdomadaire : le client reçoit son solde chaque lundi,

    · quotidienne : le client reçoit son solde tous les jours.

    III.2.1.2 Gestion des clients

    L'application SMS BANKING devra être capable de gérer des milliers de numéro de compte, numéro de GSM, services choisis (solde, alertes virements de salaire, alertes dépôts, historiques...), paramétrage d'envoi de l'information pour chaque client, seuils personnalisés,... Comme autres fonctionnalités, nous aurons :

    · importation automatique des comptes des clients inscrits à SMS BANKING de la base de données bancaire vers la base de données de SMS BANKING,

    · activation et désactivation des comptes clients aux différents services,

    · possibilité de définir les règles de diffusion des alertes,

    · consultation en temps réel des comptes à partir des options multicritères de recherche.

    III.2.1.3 Gestion de la facturation

    SMS BANKING donnera à la banque ou la coopérative bancaire la liberté de définir sa politique tarifaire adéquate (facturation mensuelle ou facturation par SM envoyé au client) et de paramétrer la facturation pour chaque client.

    III.2.1.4 GESTION DES SM

    L'application devra offrir la possibilité de :

    · consulter à tout moment de tous les messages reçus par le système,

    · consulter à tout moment de tous les messages émis par le système,

    · rechercher tous les SM envoyés ou reçus par un client,

    · rechercher tous les SM reçu ou envoyé par le système pendant une période,

    · de rechercher les SM entrant et sortant par service.

    III.2.1.5 Sécurité

    Pour les besoins de sécurité, chaque client de SMS BANKING doit avoir un code PIN personnel qu'il devra intégrer à tous ses SM. De plus, en vue de renforcer la sécurité, les SM ne sont traités que lorsque le numéro de téléphone du client et le code pin sont justes.

    III.2.1.6 Etats et statistiques

    Des états pourront être extraits de l'application et imprimés ou enregistrés.

    · possibilités de tirer des statistiques individuelles sur les SM des clients,

    · possibilités de tirer des statistiques sur les SM pour une période donnée (SM envoyés, reçus) et les grouper par service.

    III.2.2 Analyse

    III.2.2.1 Définition de quelques concepts

    · Un cas d'utilisation représente l'image d'une fonctionnalité du système. Il est déclenché par un acteur, qui est une entité externe au système et nécessite que ce dernier lui rende service. Il s'agit donc d'une représentation du système tel que perçu par les différents utilisateurs.

    · Un scénario de cas d'utilisation est le déroulement d'un cas d'utilisation. Il permet d'échafauder toutes les hypothèses relatives au cas d'utilisation. Il est caractérisé par :

    o une pré-condition : c'est la condition à remplir avant que le scénario ne soit déclenché ;

    o une post-condition : c'est la condition que doit vérifier le système à la fin du scénario ;

    o un résumé métier : qui décrit de façon superficielle les principales étapes du déroulement du cas d'utilisation ;

    o le scénario nominal : qui représente le déroulement du cas d'utilisation de la meilleure des façons possibles, c'est-à-dire qu'aucun facteur ne nuit à son déroulement ;

    o le scénario alternatif : il s'agit du déroulement d'un cas d'utilisation lorsqu'une erreur s'est produite suite au non respect d'une contrainte.

    · Un acteur représente un rôle joué par une entité externe qui interagit directement avec le système étudié. Cette entité externe peut être un utilisateur humain, un dispositif matériel ou un autre système.

    III.2.2.2 Principaux cas d'utilisation autour desquels s'organise SMS BANKING

    Nous allons présenter ici quelques cas d'utilisation et les diagrammes de cas d'utilisation qui en d'écoulent.

    Consultation du solde du compte : avec son téléphone mobil, le client envoie un SM ayant un format spécifique. Si toutes les conditions sont vérifiées, le client reçoit en retour un SM dans lequel se trouve le solde de son compte.

    Consultation des 4 derniers historiques de compte : ce cas d'utilisation permet au client de consulter les 4 derniers historiques de son compte en utilisant son téléphone mobile. Un SM avec cet historique lui est envoyé

    Demande de chéquier : il s'agit ici pour le client de faire la demande d'un nouveau chéquier en utilisant un SM. Un premier SM lui est renvoyé pour confirmer que la demande a été prise en compte. Un second SM lui est renvoyé lorsque l'utilisateur confirme le traitement de cette demande.

    Demande de virement vers un autre compte : ce cas d'utilisation permet au client de faire la demande de transfert d'argent vers un compte autre que le sien en utilisant un SM. Un premier SM lui est renvoyé pour confirmer que la demande a été prise en compte. Un second SM lui est renvoyé lorsque l'utilisateur confirme le traitement de cette demande.

    Alerte de débit sur un compte : ce cas d'utilisation permet au système d'alerter le client lorsque son compte est touché en débit. Un SM lui est envoyé avec le montant débité.

    Alerte de crédit sur un compte : ce cas d'utilisation permet au système d'alerter le client lorsque son compte est touché en crédit. Un SM lui est envoyé avec le montant crédité.

    Alerte de virement de salaire sur un compte : il s'agit ici pour le système d'alerter le client lorsque son compte est touché en débit. Un SM lui est envoyé avec le montant viré.

    Alerte périodique de solde d'un compte : grâce à ce cas d'utilisation le système informe le client quotidiennement, hebdomadairement ou mensuellement du solde de son compte. Un SM lui est envoyé avec le montant du solde suivant la périodicité qu'il a choisie.

    Alerte de virement spontané sur un compte : il s'agit ici pour le système d'alerter le client lorsqu'une somme d'argent est virée sur son compte. Un SM lui est envoyé avec le montant viré.

    Alerte de dépassement de seuil minimal du solde d'un compte : ce cas d'utilisation permet au système d'alerter le client lorsque le solde de son compte est inférieure à un montant minimal qu'il a choisit. Un SM lui est envoyé pour l'en informer.

    Alerte de dépassement de seuil maximal du solde d'un compte : Ce cas d'utilisation permet au système d'alerter le client lorsque le solde de son compte est supérieur à un montant maximal qu'il a choisit. Un SM lui est envoyé pour l'en informer.

    Nous avons pour acteurs :

    § Client mobile : client muni de son téléphone mobil

    § Utilisateur : personne qui se connecte à un service spécifique de SMS BANKING avec des droits d'administration sur ce service.

    § BANK SI (un acteur qui est n'est pas humain) : c est la base de données de la banque et l'interface de synchronisation entre elle et la base de données de SMS-BANKING

    Les diagrammes des principaux cas d'utilisation sont :

    Figure 10 : Diagramme de cas d'utilisation des services d'informations à la demande

    III.2.2.3 Description détaillée de quelques cas d'utilisation

    Nous avons choisis de ne présenter ici que quelques scénarii jugés importants. Certains cas d'utilisation sont pris individuellement décris par les différents scenarii jusqu'à la présentation des diagrammes de séquence et d'activité correspondants.

    Sommaire d'identification

    Titre : Consultation de solde

    Résumé : ce cas d'utilisation permet au client de consulter le solde de son compte à partir de son téléphone portable.

    Acteurs : Client mobile

    Date de création

    13/03/2009

    Date de mise à jour

    10/04/2009

    Version

    1.0

    Responsable

    DOUANLA TOUOPI F.E

    Pré conditions : Disposer d'un crédit de communication permettant l'envoi de SMS, Disposer d'un téléphone

    Post conditions : Un SMS possédant le solde est renvoyé au client

    Description des scénarios

    - Scénario nominal

     

    1. Le client formate un SMS et l'envoi au numéro de la carte SIM présente dans le modem connecté à la passerelle GSM/IP de la banque ou coopérative bancaire

     

    2. Réception, vérification du format du SMS et stockage du SMS dans la base de données de SMS BANKING par le système.

     

    3. Vérification du code PIN du client par le système.

     

    4. Vérification du numéro de téléphone du client par le système.

     

    5. Vérification effective de l'inscription du client au service de consultation de solde par le système.

     

    6. La vérification si le nombre maximal de SMS a envoyé au client pour le mois en cours et pour le service de consultation de solde est atteint par le système.

     

    7. La récupération du solde du client par le système.

     

    8. Formatage du message à retourner au client par le système.

     

    9. Insertion dans la table d'historique des SMS par le système.

     

    10. Insertion du SMS à envoyer au client dans la table des SMS sortants par le système.

     

    11. Mis à jour du statut du SMS entrée (SMS traité) par le système.

     

    12. Incrémentation du compteur de SMS (ce compteur permet de compter le nombre de SMS déjà envoyé au client durant ce mois. Il est nécessaire pour la vérification du seuil maximal) pour le service de consultation de solde.

     

    13. Envoi du SMS avec solde au client par le système.

     

    14. Mis à jour du statut du SMS sortant (SMS envoyé) par le système.

    - Scénario alternatif

    E1

    Le système détecte des erreurs sur le formatage du SMS. Le scénario E1 démarre au point 2. du scénario nominal.

     

    Le système enregistre le SMS avec une remarque : « Mauvais SMS ». Dans ce cas, le scénario nominal s arrête au point 2.

    E2

    Le système détecte que le code PIN du client est incorrect. Le scénario E2 démarre au point 3. du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « client inexistant »

    Dans ce cas, le scénario nominal s arrête au point 3

    E3 Le système détecte que le numéro de téléphone du client est

    incorrect. Le scénario E3 démarre au point 4. du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « client inexistant »

    Dans ce cas, le scénario nominal s arrête au point 4

    E4

    Le système détecte que le client n'est pas inscrit à ce service. Le scénario E4 démarre au point 5 du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « Client non inscrit au service spécifié »

    Dans ce cas, le scénario nominal s arrête au point 5

    E5

    Le système détecte que le nombre maximal de SMS du mois courant pour le service de consultation de solde est atteint. Le scénario E5 démarre au point 6 du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « Nombre maximal de SMS atteint »

    Dans ce cas, le scénario nominal s'arrête au point 6

    E6

    Le système n'arrive pas à envoyer le SMS. Le scénario E6 démarre au point 13 du scénario nominal.

    Le système met à jour la table des SMS sortant avec un statut permettant d'identifier la source d'erreur. Le SMS sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 13.

    Figure 11 : Diagramme de sequence du cas d'utilisation « demande de solde »

    Figure 12 : Diagramme de cas d'activité du cas d'utilisation « demande de solde »

    Sommaire d'identification

    Titre : Demande de chéquier

    Résumé : Ce cas d'utilisation permet au client de faire une demande à partir chéquier à partir de son téléphone portable.

    Acteurs : Client mobile, utilisateur

    Date de création

    13/03/2009

    Date de mise à jour

    10/04/2009

    Version

    1.0

    Responsable

    DOUANLA TOUOPI F.E

    Pré conditions : Disposer d'un crédit de communication permettant l'envoi de SMS, Disposer d'un téléphone

    Post conditions : deux SM sont envoyés au client. Un pour l'informer que sa demande est bien arrivé et sera traité puis un second pour l'en informer que sa demande de chéquier est traité.

    Description des scénarios

    - Scénario nominal

     

    1. Le client formate un SMS et l'envoi au numéro de la carte SIM présente dans le modem connecté à la passerelle GSM/IP de la banque ou coopérative bancaire

     

    2. Réception, vérification du format du SMS et stockage du SMS dans la base de données de SMS BANKING

     

    3. Vérification du code PIN du client

     

    4. Vérification du numéro de téléphone du client

     

    5. Vérification effective de l'inscription du client au service de demande de chéquier

     

    6. La vérification si le nombre maximal de SMS a envoyé au client pour le mois en cours et pour le service de demande de chéquier est atteint.

     

    7. Insertion de la demande dans la table des transactions

     

    8. Formatage du premier message à retourner au client lui informant que sa demande sera traitée

     

    9. Insertion dans la table d'historique des SMS

     

    10. Insertion du SMS à envoyer au client dans la table des SMS sortants

     

    11. Mis à jour du statut du SMS entrée:SMS traité

     

    12. Incrémentation du compteur de SMS (ce compteur permet de compter le nombre de SMS déjà envoyé au client durant ce mois. Il est nécessaire pour la vérification du seuil maximal) pour le service demande de chéquier. Le système extrait le numéro de téléphone du récepteur

     

    13. Envoi du premier SMS de confirmation de la demande

     

    14. Mis à jour du statut du SMS sortant: SMS envoyé

     

    15. L'utilisateur confirme le traitement de la demande de chéquier

     

    16. Formatage du second message à retourner au client lui informant que sa demande a été traitée

     

    17. Insertion dans la table d'historique des SMS

     

    18. Insertion du SMS à envoyer au client dans la table des SMS sortants

     

    19. Mis à jour du statut du SMS entrée: SMS traité

     

    20. Incrémentation du compteur de SMS pour le service demande de chéquier

     

    21. Envoi du second SMS de traitement de demande effectué

     

    22. Mis à jour du statut du SMS sortant: SMS envoyé

    - Scénario alternatif

    E1

    Le système détecte des erreurs sur le formatage du SMS. Le scénario E1 démarre au point 2. du scénario nominal.

     

    Le système enregistre le SMS avec une remarque : « Mauvais SMS ». Dans ce cas, le scénario nominal s arrête au point 2.

    E2

    Le système détecte que le code PIN du client est incorrect. Le scénario E2 démarre au point 3. du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « client inexistant »

    Dans ce cas, le scénario nominal s arrête au point 3

    E3 Le système détecte que le numéro de téléphone du client est

    incorrect. Le scénario E3 démarre au point 4. du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « client inexistant »

    Dans ce cas, le scénario nominal s arrête au point 4

    E4

    Le système détecte que le client n'est pas inscrit à ce service. Le scénario E4 démarre au point 5 du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « Client non inscrit au service spécifié »

    Dans ce cas, le scénario nominal s arrête au point 5

    E5

    Le système détecte que le nombre maximal de SMS du mois courant pour le service de demande de chéquier est atteint. Le scénario E5 démarre au point 6 du scénario nominal.

    Le système met à jour la table des SMS entrant avec pour remarque : « Nombre maximal de SMS atteint »

    Dans ce cas, le scénario nominal s'arrête au point 6

    E6

    Le système n'arrive pas à envoyer le premier SMS. Le scénario E6 démarre au point 13 du scénario nominal.

    Le système met à jour la table des SMS sortant avec un statut permettant d'identifier la source d'erreur. Le SMS sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 13.

    E7

    L'utilisateur donne un accord négatif à la demande de chéquier. Le scénario E7 démarre au point 15 du scénario nominal.

    Formatage du second message à retourner au client lui informant que sa demande n'a pas été traitée avec la cause du non traitement.

    E8

    Le système n'arrive pas à envoyer le second SMS. Le scénario E6 démarre au point 21 du scénario nominal.

    Le système met à jour la table des SMS sortant avec un statut permettant d'identifier la source d'erreur. Le SMS sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 21.

    Figure 13 : Diagramme de sequence du cas d'utilisation « demande de chéquier »

    Figure 14 : Diagramme d'activité du cas d'utilisation demande de chéquier

    Sommaire d'identification

    Titre : Alerte crédit compte

    Résumé : Ce cas d'utilisation permet d'envoyer un SM à un client lorsque son compte est crédité.

    Acteurs : Client + mobile, BANK SI

    Date de création

    13/03/2009

    Date de mise à jour

    10/04/2009

    Version

    1.0

    Responsable

    DOUANLA TOUOPI F.E

    Pré conditions : Disposer d'un crédit de communication dans le modem de la banque permettant l'envoi du SM, le réseau de l'opérateur de téléphonie doit être opérationnel.

    Post conditions : Un SM avec le montant crédité est envoyé au client

    Description des scénarios

    - Scénario nominal

     

    1. BANK SI met à jour ou effectue un nouvel enregistrement dans la BD SMS-BANKING avec statut non traité

     

    2. Le système récupération du nouvel enregistrement

     

    3. Le système vérifie si il s'agit d'un crédit sur un compte

     

    4. Le système vérifie si le client inscrit au service « d'alerte en cas de crédit » sur le compte

     

    5. Le système vérifie si le nombre maximal de SM a envoyé au client pour le mois en cours et pour le service d'alerte en cas de crédit du compte est atteint

     

    6. Le système formate le message à envoyer au client avec montant crédité

     

    7. Le système recherche le numéro de téléphone du client

     

    8. Le système insertion SM dans la table d'historique des SM

     

    9. Le système insert le SM à envoyer au client dans la table des SM sortants avec statut (non envoyé)

     

    10. Mis à jour du Statut de l'enregistrement (traité)

     

    11. Le système incrémente le compteur de SM (ce compteur permet de compter le nombre de SM déjà envoyé au client durant ce mois. Il est nécessaire pour la vérification du seuil maximal) pour le service alerte en cas de crédit.

     

    12. Le système envoie le SM « d'alerte de crédit du compte » au client

     

    13. Le système met à jour du statut du SM sortant: SM envoyé

    - Scénario alternatif

    E1

    Le système détecte que le client n'est pas inscrit à ce service. Le scénario E1 démarre au point 4 du scénario nominal.

    Le système met à jour cet enregistrement : « Client non inscrit au service spécifié »

    Dans ce cas, le scénario nominal s arrête au point 4

    E2

    Le système détecte que le nombre maximal de SM du mois courant pour le service d'alerte en cas de crédit est atteint. Le scénario E2 démarre au point 5 du scénario nominal.

    Le système met à jour cet enregistrement : « Nombre maximal de SM atteint »

    Dans ce cas, le scénario nominal s'arrête au point 5

    E3

    Le système n'arrive pas à envoyer le SM. Le scénario E3 démarre au point 12 du scénario nominal.

    Le système met à jour la table des SM sortant avec un statut permettant d'identifier la source d'erreur. Le SM sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 12.

    Figure 15 : Diagramme de séquence du cas d'utilisation «  alerte credit compte »

    Figure 16 : Diagramme de d'activité du cas d'utilisation alerte credit compte

    Sommaire d'identification

    Titre : Alerte virement salaire

    Résumé : Ce cas d'utilisation permet d'envoyer un SM à un client lorsque son salaire est viré sur son compte.

    Acteurs : Client mobile, BANK SI

    Date de création

    13/03/2009

    Date de mise à jour

    10/04/2009

    Version

    1.0

    Responsable

    DOUANLA TOUOPI F.E

    Pré conditions : Disposer d'un crédit de communication dans le modem de la banque permettant l'envoi du SM, le réseau de l'opérateur de téléphonie doit être opérationnel.

    Post conditions : Un SM avec le montant viré est envoyé au client

    Description des scénarios

    - Scénario nominal

     

    1. BANK SI met à jour ou effectue un nouvel enregistrement dans la BD SMS-BANKING avec statut non traité

     

    2. Le système récupération du nouvel enregistrement

     

    3. Le système vérifie si il s'agit d'un virement salaire sur un compte

     

    4. Le système vérifie si le client inscrit au service « virement salaire » sur le compte

     

    5. Le système vérifie si le nombre maximal de SM a envoyé au client pour le mois en cours et pour le service d'alerte en cas de débit du compte est atteint

     

    6. Le système formate le message à envoyer au client avec montant viré

     

    7. Le système recherche le numéro de téléphone du client

     

    8. Le système insertion SM dans la table d'historique des SM

     

    9. Le système insert le SM à envoyer au client dans la table des SM sortants avec statut (non envoyé)

     

    10. Mis à jour du Statut de l'enregistrement (traité)

     

    11. Le système incrémente le compteur de SM (ce compteur permet de compter le nombre de SM déjà envoyé au client durant ce mois. Il est nécessaire pour la vérification du seuil maximal) pour le service alerte en cas de virement salaire.

     

    12. Le système envoie le SM « de virement salaire » au client

     

    13. Le système met à jour du statut du SM sortant: SM envoyé

    - Scénario alternatif

    E1

    Le système détecte que le client n'est pas inscrit à ce service. Le scénario E1 démarre au point 4 du scénario nominal.

    Le système met à jour cet enregistrement : « Client non inscrit au service spécifié »

    Dans ce cas, le scénario nominal s arrête au point 4

    E2

    Le système détecte que le nombre maximal de SM du mois courant pour le service d'alerte en cas de crédit est atteint. Le scénario E2 démarre au point 5 du scénario nominal.

    Le système met à jour cet enregistrement : « Nombre maximal de SM atteint »

    Dans ce cas, le scénario nominal s'arrête au point 5

    E3

    Le système n'arrive pas à envoyer le SM. Le scénario E3 démarre au point 12 du scénario nominal.

    Le système met à jour la table des SM sortant avec un statut permettant d'identifier la source d'erreur. Le SM sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 12

    Figure 17 : Diagramme de séquence du cas d'utilisation « alerte virement salaire »

    Figure 18 : Diagramme d'activité du cas d'utilisation alerte virement salaire

    CHAPITRE III : CONCEPTION

    III.3.1 Conception de la base de données

    Grâce à l'outil de génie logiciel win'design, nous avons dessiné le diagramme de classe figure 19 puis, générer le MCD annexe 1 et le MLD annexe 2

    Figure 19 : Diagramme de classe du système

    III.3.2 Architecture détaillée de SMS BANKING

    L'application SMS BANKING système est composée de quatre sous-systèmes :

    - sous système CUSTOMER SMS ;

    - sous système GATEWAY SMS

    - sous système CORE SMSBANK.

    - sous système BANK SI;

    III.3.2.1 Sous système CUSTOMER SMS

    Le sous système CUSTOMER SMS est composé de :

    - Un client muni d'un téléphone portable et d'une carte SIM opérationnelle (constitue ce que nous avons appelle client mobile)

    - Le réseau GSM chargé de transporter tous les SMS du client vers le système et du système vers le client.

    Figure 20 : Schéma du sous système CUSTOMER SMS

    III.3.2.2 Le core SMSBANK

    C'est SMS BANKING proprement dit. Il est composé de plusieurs modules à savoir :

    - Une base de données

    - Un automate d'alertes, chargé de déclencher l'envoi de SM d'alerte lorsqu'une condition d'envoi de SM est remplie (pour envoyer, il enregistre juste les paramètres du SM dans une table de la base de données. Le sous système GATEWAY SMS se chargera du reste).

    - Un Automate de transaction, chargé de traiter les SM reçus, faire les requêtes SQL relatives aux demandes et préparer le SM de réponse qui sera envoyé au client par le sous système GATEWAY SMS.

    Ces automates sont des applications écrites et transformées en services Windows ou en démons linux.

    - Une application d'administration permettant de gérer les clients, les différents services de SMS BANKING et de produire les rapports et statistiques. C'est la partie IHM de SMS BANKING. C'est depuis cette interface que seront gérés les clients.

    III.3.2.3 Sous système GATEWAY SMS

    Le sous système GATEWAY SMS est composé de :

    - Une passerelle GSM/IP (PC+passerelle installé et configuré)

    Chargée de l'envoi et de la réception des SM en provenance et à destination du système.

    - Un ou plusieurs modems GSM munis de cartes SIM opérationnelles.

    La puce et le modem GSM servent d'interface matérielle entre le réseau de la banque et le réseau GSM d'un opérateur local.

    - Un serveur web.

    Les SM reçus par KANNEL en provenance du réseau GSM étant retransmis au réseau IP par le protocole HTTP, la présence du serveur web est nécessaire pour exécuter les requêtes HTTP.

    - Une application écrite en un langage serveur (PHP, JSP, ASP,....)

    La présence de cette application est nécessaire pour recevoir les SM, vérifier leur format et les enregistrer dans une table de la base de données de donnée prévue à cet effet. C'est cette application qui est exécutée au niveau du serveur web.

    - Une application HTTP/SQL

    Tour les SM en provenance du sous-système CORE SMSBANK devant être envoyés aux clients de la banque ou de la coopérative bancaire sont enregistrés dans une table de la base de données. D'où la nécessité de cette application qui récupère ces SM en partance et les envois à KANNEL par le biais du protocole HTTP. Notons que cette application ne nécessite pas d'interface utilisateur. Elle sera écrite en java et transformée en service Windows afin d'être lancée automatiquement et tournée en arrière plan.

    Figure 21 : Schéma du sous système GATEWAY SMS

    Une passerelle GSM/IP + Un ou plusieurs modems GSM munis de cartes SIM opérationnelles + Un serveur web + Une application écrite en un langage serveur (PHP, JSP, ASP,....) forment ce que nous avons appelées GATEWAY SMS 1

    Une passerelle GSM/IP + Un ou plusieurs modems GSM munis de cartes SIM opérationnelles + Une application HTTP/SQL forment ce que nous avons appelé GATEWAY SMS 2

    III.3.2.4 Sous système SI BANK.

    C'est le système d'information de la banque ou coopérative bancaire. Il est composé de :

    - La base de données de la banque ou coopérative bancaire;

    - L'interface de connexion pour la synchronisation des données entre la base de données de la banque ou coopérative bancaire et celle de SMS BANKING. Cette interface peut être des déclencheurs ou une application, ou encore une combinaison des deux, dépendant des deux bases de données.

    Figure 22 : Schéma du sous système SI BANK

    CHAPITRE IV : IMPLEMENTATION

    III.4.1 La passerelle GMS/IP

    Il existe une multitude de passerelle GSM/IP offrant toutes les mêmes services. On peut citer entre autre : OZEKI, NOWSMS, KANNEL. Notre choix s'est portée vers cette dernière parce qu'elle est open source et gratuite.

    III.4.1.1 rôle de KANNEL

    KANNEL est un logiciel libre servant de passerelle GSM/IP fonctionnant sur la majorité des systèmes d'exploitation UNIX parmi lesquels Linux.

    Son implémentation comme passerelle SM consiste à l'installer et le configurer de manière à recevoir des requêtes d'envoi de SM par le protocole HTTP et les soumettre à aux modems GSM auquel il est raccordé par le port série ou USB. Aussi, de recevoir les SM à partir des modems sur lesquels il est rattaché et interpréter ces SM en requête HTTP vers une URL définie.

    III.4.1.2 Installation de KANNEL

    Ø Pré-requis pour l'installation de KANNEL-1.4.1

    un compilateur C (de préférence GNU gcc)

    les librairies XML (libxml ou gnome-xml)

    GNU bison

    GNU autoconf

    GNU make.

    Ø Etapes de l'installation

    · Nous avons téléchargé la source sur le site de KANNEL www.kannel.org et l'avons mis dans le répertoire (/usr/local/src/KANNEL/gateway-1.4.1.tar.gz)

    · Puis décompresser l'archive et exécuter le script configure

    #cd /usr/local/src/KANNEL

    #tar xvzf gateway-1.4.1.tar.gz

    #cd gateway-1.4.1

    #./configure

    § Compiler avec la commande make

    #make

    # make bindir=/usr/KANNEL install

    L'installation s'étant bien passée, les fichiers suivant sont présent dans le répertoire /usr/local/src/KANNEL :

    · gw/bearerbox

    · gw/smsbox

    · gw/wapbox

    Note : il y a des options possibles de configuration ; pour avoir de l'aide sur ces options, faire :

    #./configure --help

    III.4.1.3 configuration et administration de KANNEL

    La configuration de KANNEL se fait dans un seul fichier aux choix de l'utilisateur. Le fichier doit être structuré en groupes suivant les fonctions à assigner à KANNEL.

    Syntaxe :

    § chaque groupe comporte des variables, chaque variable est définie sur une ligne ;

    § les groupes sont séparés par des lignes vides.

    Pour configurer KANNEL comme passerelle SMS/HTTP, les groupes suivants ont été créés :

    `core' qui est le noyau de KANNEL il contient les variables nécessaires pour l'administration.

    `smsc' qui contient les variables de connexion aux SMSC ou aux modems.

    `smsbox' qui gère les files d'envoi et de réception de SM

    `sendsms-user' qui contient les variables d'un client HTTP

    `sms-service' pour la réception des SM venant de la SMSC ou du modem, servant à paramétrer un service.

    On peut avoir plusieurs groupes pour chaque type (sauf pour `core').

    Le fichier de configuration se trouve à l'annexe 3

    III.4.2 Installation du modem GSM

    Le modem GSM utilisé un modem de marque FALCOM SWING (car compatibles aux systèmes d'exploitation linux) (annexe 4). Il se connecte sur les ports séries. Dans notre cas, nous l'avons connecté sur le port série 1(ttyS0 sous linux) puis, créé un lien symbolique vers le fichier nommé modem utilisable lors de la configuration du fichier de kannel. La commande a été la suivante :

    # ln -s /dev/ttyS0 /dev/modem

    III.4.3 Implémentation des modules du système

    III.4.3.1 Outils utilisés

    · APACHE TOMCAT 6.14

    APACHE TOMCAT est un serveur web fonctionnant sur la plupart des systèmes d'exploitation.

    · MICROSOFT SQL SERVER 2000

    MICROSOFT SQL SERVER 2000 est un SGBD développé et commercialisé par Microsoft, mais à l'origine par Sybase.

    · JAVASERVICE

    JAVASERVICE est une application permettant de transformer les programmes java en service NT.

    · NETBEANS 6.1

    NETBEANS est un IDE pour le développement d'applications java.

    · VISUAL STUDIO 2008

    VISUAL STUDIO 2008 est un IDE commercialisé par Microsoft pour le développement des applications dot net (vb.net, c#.net, ASP.net.....).

    III.4.3.2 Réalisation

    Lors de la réalisation, nous avons aussi interfacer SMS-BANKING avec le logiciel bancaire GLOBAL BANK.

    · Les interfaces de l'application on été faites en vb.net, avec pour métier des dll écrites en C#

    · Le client HTTP a été écrit en JSP. Cette application sera chargée de recevoir les SM émis par les clients, faire les vérifications et les insérer dans la base de données. Il fait parti du sous système GATEWAY SMS 1.

    · L'application HTTP/SQL du sous système GATEWAY SMS 1 a été écrite en java et transformée en service Windows grâce à javaservice. Deux de ses classes principales se trouvent à l'annexe 5.

    · Tous les automates du sous système core SMSBANK ont été écrits en java et transformés en service Windows grâce à javaservice.

    · L'interface de synchronisation entre la base de données de GLOBAL BANK et SMS-BANKING a été implémentée grâce à des trigger de MICROSOFT SQL SERVER 2000

    III.4.3.3 Résultats

    Tous les modules de notre système a été implémentés. Nous présenterons quelques uns de ses résultats sous forme de capture d'écran.

    Figure 23 : Lancement du BEARERBOX de kannel

    Figure 24 : Utilisation de Javaservice pour la création du service GATEWAYSMS1

    Figure 25 : Le service GATEWAYSMS1 lancé

    Figure 26 : Le service CORESMSBANK Lancé

    Figure 27 : Interface générale de SMS-BANKING

    Figure 28 : Interface de visualisation du nombre total des SM emis par le système aux clients durant une periode

    Figure 29 : Interface de visualisation des SM émis par les clients

    Figure 30 : Interface d'incription des clients aux services d'information à la demande

    Figure 31 : Interface de visualisation des SM emis en direction des clients

    Figure 32 : Interface d'inscription des clients aux services de notification évènementielle

    CONCLUSION

    Arrivé  au  terme  de ce travail  et  sans  prétendre  avoir  cerné  tous  les  contours  possibles  des technologies de M-BANKING en général et du SMS-BANKING en particulier,  nous  pouvons  tout  de  même  affirmer avoir atteint les objectifs que nous nous étions fixés. Il était question pour nous d'informer le grand public sur le M-BANKING et d'en mettre sur pied une solution bénéfique aux institutions financières.   Nous avons dans les prémices de notre travail, fait ressortir les différentes technologies dans le domaine du M-BANKING ; effectué un tour d'horizon des structures fonctionnelles et architecturales tout en expliquant les différents concepts. Une étude comparative a permis de ressortir que malgré sa faiblesse qu'est la sécurité, le SMS-BANKING est la solution réaliste et avantageuse. Le STK-BANKING étant généralement fait par les opérateurs de téléphonie, le WAP-BANKING quant à lui voit ses limites grâce au protocole WAP qui n'est pas compatible à tous les téléphones mobiles. Une étude du marché nous a permis de conclure que le M-BANKING est presque inexistant au Cameroun. Dans la troisième partie, nous avons proposé une solution de SMS-BANKING. Nous avons commencé par faire des choix technologiques, ensuite recenser les différentes fonctionnalités du système puis, diviser le système en sous systèmes afin de ressortir les fonctionnalités de chaque bloc. Enfin, nous avons implémenté la solution et l'interfacer avec un logiciel bancaire existant.

    Travaillant dans le domaine des nouvelles technologies, une de nos grandes difficultés a été la rareté de l'information car les applications SMS-BANKING sont des applications propriétaires ; il fallu faire appel à nos aptitudes scientifiques et techniques afin de résoudre certains problèmes. Néanmoins, Nous avons essuyé quelques moments de doute, notamment lors de l'implémentation des automates mais les réussites aidant, ces moments de flottements ont vite été oubliés.

    Nous tenons à souligner à quel point ce travail a été motivant et passionnant. Son principal atout a été sa richesse et son abstraction. Son implémentation dans un établissement financier et la convoitise de certains ont prouvé que nos efforts n'ont pas été vains.

    Le travail scientifique n'étant jamais parfait, l'application SMS-BANKING que nous avons déployée ne failli pas à la règle. Comme la plupart des applications utilisant le SMS d'un opérateur de téléphonie mobile, les informations ne sont pas cryptées lors de leur acheminement. Il serait primordial de songer à une technique de sécurité dans le futur.

    BIBLIOGRAPHIE ET WEBOGRAPHIE

    § AKOA MBALLA Maurice, Mise en place d'un outil de supervision et

    d'analyse des incidents et messages spontanés des équipements NSS dans

    un réseau GSM, 5GTEL 2005 ENSP

    § NDEFFO TAKA William, Interférences radio GSM : résolution du

    problème d'interférence par la mise en oeuvre d'un outil de gestion de 70 pages

    fréquence, 5GTEL 2005 ENSP

    Implémentation d'un portail SMS à base du logiciel KANNEL www.memoireonline.com/.../m_Implementation-dun-portail-SMS--base-du-logiciel-KANNEL3.htm


    par Tchapo TANTE-GNANDI

    § Didier DONSEZ, rangiroa.essi.fr/cours/internet/04-01-slides-wap-wml.pdf ,WAP Wireless Application Protocol WML Wireless Markup Language.

    § Andreas Fink -Bruno Rodrigues, Kannel 1.3.2 User's Guide Open Source WAP and SMS gateway

    § Tarun Dua, Kannel as an SMS Gateway

    § Dr. Nizar Zarka CONTROL & DATA TRANSFER VIA SMS. medforist.ensias.ma/Contenus/.../papers/June25/20.pdf

    § http://www.math.sunysb.edu/~comech/tools/PCImodems.html

    § User Manual Falcom SWING GSM-Modem www.topitech.com/file/Swing/Falcom_SWING_eng.pdf

    http://www.mtn.cm/LoadedPortal

    [Pascal roques1] Pascal Roques, UML 2 par la pratique, ISBN :978-2-212-12322-7, 6ème édition, Eyrolles, Paris, 2002.

    [Pascal roques2] Pascal Roques, Les Cahiers du Programmeur UML, Eyrolles, Paris, 2002.

    [Banque], <Banque>,http://fr.wikipedia.org/wiki/Banque, 11 mai 2009

    SMS gateway http://en.wikipedia.org/wiki/SMS_gateway

    SIM Application Toolkithttp://en.wikipedia.org/wiki/SIM_Application_Toolkit

    What is SIM Toolkit? http://www.cellular.co.za/sim_toolkit.htmWAP - Le protocole http://www.commentcamarche.net/contents/wap/wapintro.php3

    September 2005

    sachin-shetty

    SMS Banking

    by Sachin Shetty,http://palisade.plynt.com/issues/2005Sep/sms-banking/

    Walter Carels

    ICT Manager Electronic Banking Mobile banking (SMS and WAP)

    via My KBC

    Le réseau GSM a fêté ses 20 ans !

    Posté le 10 septembre 2007 à 17:48:56 CEST par Pascal Thevenier

    http://www.tt-hardware.com/modules.php?name=News&file=article&sid=10807

    About Mobile Banking via WAP http://kannel.org/download/1.3.2/userguide-1.3.2/userguide.html

    Un marché en pleine expansion...

    Marketing Direct N°69 - 01/11/2002 - Peggy Cardin

    Description du WAP http://www.lirmm.fr/~ajm/Cours/01-02/DESS_TNI/TER9/WAP/description/description.htm

    http://info.bpiexpressonline.com/bpiprod/prodserv.nsf/Mobile+Banking/MobileBankingWAP?OpenDocument

    Cédrick Fairon, Jean René Klein et Sébastien Paumier, Le langage SMS. Étude d'un corpus informatisé à partir de l'enquête 'Faites don de vos SMS à la science' , Presses universitaires de Louvain, Louvain-la-Neuve. Cahiers du Cental, 3.1, 2006.

    Le standard GSM http://www.commentcamarche.net/contents/telephonie-mobile/gsm.php3

    Short message service http://fr.wikipedia.org/wiki/Short_message_service

    SIM Toolkit http://bladox.com/devel-docs/gen_stk.html

    http://jaaayyy.chez.com/html/Radiomobiles/stage/Carte SIM et SIM Application Toolkit (SAT).htm

    ANNEXES

    Annexe 1 : Modèle conceptuel de données de SMS-BANKING

    Annexe 2 : Modèle logique de données de SMS-BANKING

    group = core

    admin-port = 13000

    admin-password = root

    status-password = kokodi

    #admin-deny-ip = "*.*.*.*"

    admin-allow-ip = "127.0.0.1;192.168.100.*"

    smsbox-port = 13003

    box-allow-ip = "127.0.0.1;192.168.1.*"

    log-file = "/tmp/kannel.log"

    log-level = 1

    access-log = "/tmp/access.log"

    store-file = "/tmp/kannel1.log"

    sms-incoming-queue-limit=-1

    access-log-format="%t [from=%p] [to=%P] [msg=%b]"

    unified-prefix = "+237,00237,0;+,00"

    include = "/etc/kannel/modems.conf"

    group = smsc

    smsc-id = modem

    smsc = at

    modemtype = auto

    device = /dev/modem

    log-file = "/tmp/smsc.log"

    speed = 9600

    validityperiod = 167

    group = smsbox

    bearerbox-host = 192.168.100.116

    sendsms-port = 10000

    sendsms-chars = "0123456789"

    global-sender = 75296068

    log-file = "/tmp/smsbox.log"

    access-log = "/tmp/access1.log"

    log-level = 0

    group = sendsms-user

    username = root

    password = kokodi

    user-allow-ip = "192.168.100.*"

    concatenation = true

    group = sms-service

    keyword = TRF

    omit-empty=true

    max-messages=0

    catch-all = true

    get-url = "http://192.168.100.114:8080/InterSms/index.jsp?sender=%p&text=%a"

    accept-x-kannel-headers=true

    group = sms-service

    keyword = default

    omit-empty=true

    max-messages=0

    catch-all = true

    get-url = "http://192.168.100.114:8080/IncomingSms/index.jsp?sender=%p&text=%a"

    accept-x-kannel-headers=true

    group = sms-service

    keyword = TIB

    omit-empty=true

    max-messages=0

    catch-all = true

    get-url = "http://192.168.100.114:8080/InterBrIncSms/index.jsp?sender=%p&text=%a"

    accept-x-kannel-headers=true

    Annexe 3 : fichier de configuration de kannel

    Annexe 4 : Modem falcom swing

    public int sendsms(String receip, String text, String username, String passwd) throws Exception

    {

    Passerelle=getPasserelle();

    text = text.replaceAll(" ", "+");

    url = new URL("http://"+Passerelle+":10000/cgi-bin/sendsms?username="+username+"&password="+passwd+"&to="+receip+"&text="+text);

    Cnx = this.connect("GET");

    if (Cnx==1){

    Rsp=this.displayResponse();

    this.disconnect();

    } System.out.println(Rsp);

    return Rsp;

    }

    public void run () {

    try {

    int contrainte = 1;

    String Phone;

    String MsgSend;

    String Login = "root";

    String Password = "kokodi";

    double ID;

    while (contrainte == 1) {

    try {

    IpServer = getIpServer();

    LoginServer = getLoginServer();

    MdpServer = getMdpServer();

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

    Connection conn = DriverManager.getConnection ("jdbc:sqlserver://"+IpServer+";User="+LoginServer+";Password="+MdpServer+";

    DatabaseName=smsbanking" );

    state1 = conn.createStatement();

    String SQL = "select CustPhone, SMSTransText, outgoingsmsid from outgoingsms where flag = 0 or flag = -1";

    ResultSet rs = state1.executeQuery(SQL);

    while (rs.next()) {

    Phone = rs.getString("CustPhone ");

    MsgSend = rs.getString(" SMSTransText ");

    ID = rs.getDouble("outgoingsmsid");

    Statement state2 = conn1.createStatement();

    if (Phone == null || Phone.isEmpty()) {

    state2.executeUpdate("update outgoingsms set flag=5 where outgoingsmsid='" + ID + "'");

    state2.close();

    OutgoingSms.sleep(10000);

    break;

    }

    if (Phone != null && MsgSend != null) {

    Phone = Phone.replaceAll("-", " ");

    Phone = Phone.replaceAll("/.", " ");

    Phone = Phone.replaceAll("/", " ");

    Phone = Phone.trim();

    Phone = Phone.replaceAll(" ", "");

    if (Phone.length()==7){

    if (Phone.substring(0, 1).compareTo("7")==0){

    Phone="7".concat(Phone);

    }

    if (Phone.substring(0, 1).compareTo("9")==0){

    Phone="9".concat(Phone);

    }

    }

    if (Phone.length()>=8){

    RspExact = this.sendsms(Phone, MsgSend, Login, Password);

    int Rep = RspExact;

    if (RspExact == 0) {

    state2.executeUpdate("update outgoingsms set flag=1, phonenumber='"+Phone+"' where outgoingsmsid='" + ID + "'");

    } else {

    state2.executeUpdate("update outgoingsms set flag=" + Rep + ", phonenumber='"+Phone+"' where outgoingsmsid='" + ID + "'");

    }

    state2.close();

    OutgoingSms.sleep(10000);

    }else{

    state2.executeUpdate("update outgoingsms set flag=4 where outgoingsmsid='" + ID + "'");

    state2.close();

    OutgoingSms.sleep(10000);

    }

    } else {

    state2.executeUpdate("update outgoingsms set flag=5 where outgoingsmsid='" + ID + "'");

    state2.close();

    OutgoingSms.sleep(10000);

    }

    }

    rs.close();

    state1.close();

    conn1.close();

    OutgoingSms.sleep(20000);

    } catch (Exception e) {

    System.err.println(e);

    }

    }

    } catch (FileNotFoundException ex) {

    Logger.getLogger(OutgoingSms.class.getName()).log(Level.SEVERE, null, ex);

    }

    }

    public int connect(String method) throws Exception

    {

    try

    {

    server = (HttpURLConnection)url.openConnection();

    server.setDoInput(true);

    server.setDoOutput(true);

    server.setRequestMethod(method);

    server.setRequestProperty("Content-type","application/x-www-form-urlencoded");

    server.connect();

    return 1;

    }

    catch (Exception e)

    {

    System.err.println(e.toString());

    System.err.println ("erreur de connection à la passerelle");

    return -1;

    }

    }

    Annexe 5 : Trois classes principales de l'application HTTP/SQL

    La classe connect formate la requête http avec une méthode

    La classe sendsms contient la requête http avec toutes les informations nécessaire afin d'être exécuté au niveau de la passerelle

    La classe run est la classe principale

    Annexe 6 : Utilisation de Javaservice pour la création du service CORESMSBANK

    Annexe 7 : Diagramme de séquence des services de notification évènementielle

    Annexe 8 : Architecture simplifiée de la passerelle kannel

    Sommaire d'identification

    Titre : Consultation d'historique

    Résumé : ce cas d'utilisation permet au client de consulter les 4 derniers historiques de son compte à partir de son téléphone portable.

    Acteurs : Client mobile

    Date de création

    13/03/2009

    Date de mise à jour

    10/04/2009

    Version

    1.0

    Responsable

    DOUANLA TOUOPI F.E

    Pré conditions : Disposer d'un crédit de communication permettant l'envoi de SMS, Disposer d'un téléphone

    Post conditions : Un SM avec les 4 derniers historiques est renvoyé au client

    Description des scénarios

    - Scénario nominal

     

    1. Le client formate un SM et l'envoi au numéro de la carte SIM présente dans le modem connecté à la passerelle GSM/IP de la banque ou coopérative bancaire

     

    2. Réception, vérification du format du SM et stockage du SM dans la base de données de SMS-BANKING

     

    3. Vérification du code PIN du client

     

    4. Vérification du numéro de téléphone du client

     

    5. Vérification effective de l'inscription du client au service de consultation d'historique

     

    6. La vérification si le nombre maximal de SM a envoyé au client pour le mois en cours et pour le service de consultation d'historique de est atteint.

     

    7. Récupération des 4 derniers historiques

     

    8. Formatage du message à retourner au client

     

    9. Insertion dans la table d'historique des SM

     

    10. Insertion du SMS à envoyer au client dans la table des SM sortants

     

    11. Mis à jour du statut du SM entrée: SM traité

     

    12. Incrémentation du compteur de SM (ce compteur permet de compter le nombre de SM déjà envoyé au client durant ce mois. Il est nécessaire pour la vérification du seuil maximal) pour le service de consultation d'historique. Le système extrait le numéro de téléphone du récepteur

     

    13. Envoi du SM avec 4 derniers historiques au client.

     

    14. Mis à jour du statut du SM sortant: SM envoyé

    - Scénario alternatif

    E1

    Le système détecte des erreurs sur le formatage du SM. Le scénario E1 démarre au point 2. du scénario nominal.

     

    Le système enregistre le SM avec une remarque : « Mauvais SM ». Dans ce cas, le scénario nominal s arrête au point 2.

    E2

    Le système détecte que le code PIN du client est incorrect. Le scénario E2 démarre au point 3. du scénario nominal.

    Le système met à jour la table des SM entrant avec pour remarque : « client inexistant »

    Dans ce cas, le scénario nominal s arrête au point 3

    E3 Le système détecte que le numéro de téléphone du client est incorrect. Le scénario E3 démarre au point 4. du scénario nominal.

    Le système met à jour la table des SM entrant avec pour remarque : « client inexistant »

    Dans ce cas, le scénario nominal s arrête au point 4

    E4

    Le système détecte que le client n'est pas inscrit à ce service. Le scénario E4 démarre au point 5 du scénario nominal.

    Le système met à jour la table des SM entrant avec pour remarque : « Client non inscrit au service spécifié »

    Dans ce cas, le scénario nominal s arrête au point 5

    E5

    Le système détecte que le nombre maximal de SM du mois courant pour le service de consultation d'historique est atteint. Le scénario E5 démarre au point 6 du scénario nominal.

    Le système met à jour la table des SM entrant avec pour remarque : « Nombre maximal de SM atteint »

    Dans ce cas, le scénario nominal s'arrête au point 6

    E6

    Le système n'arrive pas à envoyer le SM. Le scénario E6 démarre au point 13 du scénario nominal.

    Le système met à jour la table des SM sortant avec un statut permettant d'identifier la source d'erreur. Le SM sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 13.

    Annexe 9 : Scenarii du cas d'utilisation consultation d'historique

    Annexe 10 : Diagramme de séquence du cas d'utilisation consultation d'historique

    Annexe 11 : Diagramme d'activité du cas d'utilisation consultation d'historique

    Annexe 12 : Lancement du SMSBOX de kannel

    Sommaire d'identification

    Titre : Alerte débit compte

    Résumé : Ce cas d'utilisation permet d'envoyer un SM à un client lorsque son compte est débité.

    Acteurs : Client mobile, BANK SI

    Date de création

    13/03/2009

    Date de mise à jour

    10/04/2009

    Version

    1.0

    Responsable

    DOUANLA TOUOPI F.E

    Pré conditions : Disposer d'un crédit de communication dans le modem de la banque permettant l'envoi du SM, le réseau de l'opérateur de téléphonie doit être opérationnel.

    Post conditions : Un SM avec le montant débité est envoyé au client

    Description des scénarios

    - Scénario nominal

     

    1. BANK SI met à jour ou effectue un nouvel enregistrement dans la BD SMS-BANKING avec statut non traité

     

    2. Le système récupération du nouvel enregistrement

     

    3. Le système vérifie si il s'agit d'un débit sur un compte

     

    4. Le système vérifie si le client inscrit au service « d'alerte en cas de débit » sur le compte

     

    5. Le système vérifie si le nombre maximal de SM a envoyé au client pour le mois en cours et pour le service d'alerte en cas de débit du compte est atteint

     

    6. Le système formate le message à envoyer au client avec montant debité

     

    7. Le système recherche le numéro de téléphone du client

     

    8. Le système insertion SM dans la table d'historique des SM

     

    9. Le système insert le SM à envoyer au client dans la table des SM sortants avec statut (non envoyé)

     

    10. Mis à jour du Statut de l'enregistrement (traité)

     

    11. Le système incrémente le compteur de SM (ce compteur permet de compter le nombre de SM déjà envoyé au client durant ce mois. Il est nécessaire pour la vérification du seuil maximal) pour le service alerte en cas de débit.

     

    12. Le système envoie le SM « d'alerte de débit du compte » au client

     

    13. Le système met à jour du statut du SM sortant:SM envoyé

    - Scénario alternatif

    E1

    Le système détecte que le client n'est pas inscrit à ce service. Le scénario E1 démarre au point 4 du scénario nominal.

    Le système met à jour cet enregistrement : « Client non inscrit au service spécifié »

    Dans ce cas, le scénario nominal s arrête au point 4

    E2

    Le système détecte que le nombre maximal de SM du mois courant pour le service d'alerte en cas de crédit est atteint. Le scénario E2 démarre au point 5 du scénario nominal.

    Le système met à jour cet enregistrement : « Nombre maximal de SM atteint »

    Dans ce cas, le scénario nominal s'arrête au point 5

    E3

    Le système n'arrive pas à envoyer le SM. Le scénario E3 démarre au point 12 du scénario nominal.

    Le système met à jour la table des SM sortant avec un statut permettant d'identifier la source d'erreur. Le SM sera renvoyé plus tard.

    Dans ce cas, le scénario nominal reprendra au point 12

    Annexe 13 : Scenarii du cas d'utilisation alerte débit compte

    Annexe 14 : Diagramme de séquence du cas d'utilisation Alerte débit compte






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rêvent de jour ont conscience de bien des choses qui échappent à ceux qui rêvent de nuit"   Edgar Allan Poe