Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Projet réalisé par JOMAA Hajer AHMADI Khalil Sous la direction de Mr. Bettaieb Mohammed Ali Mlle. Shimi Ibtihel Mlle. Benzarti Imen Tunis, Tunisie. Janvier 2011
Table des matières Chapitre 1 : Introduction... 5 Chapitre 2 : Etat de l art... 6 2.1 Etat de l art :... 6 2.2 Problématique :... 6 2.3 Solution :... 6 2.4 Méthodologie :... 7 Chapitre 3 : Analyse fonctionnelle... 8 3.1 Les acteurs du système:... 8 3.2 Besoins fonctionnels :... 8 3.3 Besoins non fonctionnels... 8 3.4 Diagramme de cas d utilisation:... 9 3.5 Diagramme de séquence système :... 12 Chapitre 4 : Conception... 15 4.1 Diagramme de classe... 15 4.2 Diagramme de séquence... 16 Chapitre 5 : Réalisation... 18 5.1 Outils matériels :... 18 5.2 Outils logiciels :... 18 5.3 Gestion de projet... 19 Conclusion... 20 Bibliographie... 21 2
Liste des Tableaux Tableau 1 : les intervenants au système... 8 Tableau 2 : Description détaillée de cas d utilisation... 11 3
Liste des Figures Figure 1 : Description détaillée de cas d utilisation... 9 Figure 2 : Diagramme de séquence système d'authentification... 12 Figure 3 : Diagramme de séquence système de modification de contact... 13 Figure 4 : Diagramme de séquence système de création de compte utilisateur... 13 Figure 5: Diagramme séquence système d'envoi d'sms... 14 Figure 6 : Diagramme de classe... 15 Figure 7: Diagramme de sequence s'authentifier... 16 Figure 8: Diagramme de séquence d'ajout d'un contacte... 16 Figure 9 : Diagramme de séquence d'envoi de SMS... 17 Figure 10: Diagramme de sequence rechercher contacte... 17 Figure 11 : Diagramme de GANTT de la gestion du projet... 19 4
Chapitre 1 : Introduction De nos jours les technologies de communication sont utilisés dans tous les secteurs : éducatif, commercial, technologique, industriel Dans ce contexte, la téléphonie mobile est considérer comme l une des technologies ayant une valeur ajoutée très importante où qu elle soit utilisée, en particulier, le Short Message Service ou tout simplement «SMS» qui est une révolution du domaine de la téléphonie mobile. Après avoir vu la popularité de cette technologie, les entreprises ont décidé de faire le marketing de leurs produits via SMS. Mais puisque leur cible est de masse importante il été donc évident qu il faut chercher des outils par lesquels ils seront en mesure d'envoyer les SMS en masse. Suite à cette idée, un nouveau concept a été développé appelé «Bulk SMS». Dans le cadre de ce projet, nous allons développer une application capable de réaliser les principales tâches pour qu une entreprise puisse envoyer un SMS en masse pour ces clients. Dans ce rapport, nous présenterons l état de l art dans le 1 er chapitre, suivi par l analyse fonctionnelle dans le 2 ème chapitre. Par la suite, nous expliquerons la partie conception avant d entamer le 4 ème chapitre de la réalisation. Finalement, nous terminerons par une conclusion générale. 5
Chapitre 2 : Etat de l art Dans ce chapitre, nous allons décrire les solutions déjà existantes tout en analysant leur mode de fonctionnement. Par la suite, nous exposerons notre solution pour résoudre la problématique en indiquant la méthodologie suivie. 2.1 Etat de l art : Pour avoir une idée sur l existant, on peut prendre le cas d. A, si on veut envoyer un SMS à une liste de clients, l SMS doit être stocké dans une puce GSM qui va être par la suite insérée dans un modem GSM pour permettre l envoi du message vers toute une liste de numéros enregistré préalablement dans un fichier. Il y a aussi une application qui permet d envoyer un SMS à une seule personne en utilisant le service web. Les méthodes adaptées actuellement ont certaines limites, parmi les quelles : Dans le 1 er cas (Modem GSM) : La liste des numéros n est pas contenue dans une base mais elle est extraite à partir d un fichier texte. L application existante ne permet pas de garder une trace des messages envoyés dans le système. Dans le 2 ème cas (service web) : L SMS est envoyé à u ne seule personne. On n a pas de trace dans le système sur les SMS envoyés. 2.2 Problématique : Pour aboutir à un résultat concret, la réalisation de cette application nécessite un modem GSM. De plus, elle doit combiner les fonctionnalités que les deux solutions précédentes n offrent pas de façon atomique, à savoir : l envoi en masse en gardant une trace dans le système et la gestion des contactes. 2.3 Solution : Le principal objectif du présent travail réside principalement dans l amélioration de l existant. Dans ce contexte, notre application consiste à développer un outil qui permet d envoyer massivement le même message à un seul destinataire ou à un groupe de destinataires existant dans une base de données. Il permet aussi l affichage des informations en relation avec les messages envoyés et la gestion de la liste de contacts. 6
2.4 Méthodologie : Pour la planification des tâches de ce projet, nous avons choisie de prendre AGILE comme méthodologie parce qu elle est la plus adapté à notre situation de travail (le nombre d équipe de travail, délai de remise du projet ) et pour ces divers caractéristiques qui consistent à (1) : Délivrer rapidement et très fréquemment des versions opérationnelles, pour favoriser un feed-back client permanent Accueillir favorablement le changement Assurer une coopération forte entre client et développeurs Garder un haut niveau de motivation Le fonctionnement de l application est le premier indicateur du projet Garder un rythme soutenable Viser l excellence technique et la simplicité Se remettre en cause régulièrement En effet, AGILE est un mode de développement logiciel léger et adaptable qui permet de délivrer rapidement le maximum de valeur et de qualité (2). 7
Chapitre 3 : Analyse fonctionnelle Dans ce chapitre, nous présenterons les acteurs du système, les besoins fonctionnels ainsi que les besoins non fonctionnels. Par la suite, nous exposerons le diagramme de cas d utilisation détaillé. 3.1 Les acteurs du système: Le système doit interagir avec des acteurs externes qui vont demander un service. Le tableau ci-dessous présente une spécification du rôle et des responsabilités, pour chacun des acteurs. Nom Description Responsabilités Administrateur Acteur principal Gérer la liste des contactes. Envoyer un message à une liste de contactes. Gérer les utilisateurs. Utilisateur Acteur secondaire Gérer la liste des contactes. Envoyer un message à une liste de contactes. 3.2 Besoins fonctionnels : Le système doit permettre de : Tableau 1 : les intervenants au système Envoyer des SMS en masse à une liste de contact préenregistré dans une base de données. Afficher les informations concernant les SMS envoyés. Gérer les contacts en permettant la: o Ajout d un contact o Suppression d un contact o Modification des coordonnées d un contact o Recherche d un contact. 3.3 Besoins non fonctionnels L application doit véri fier implicitement ces critères : Toute utilisation de l application implique l authentification de l intervenant Les champs de saisie doivent être contrôlés La rapidité d envoi de l SMS (synchronisation du Modem GSM avec l application - traitement en temps réel). La facilité de l utilisation de l application via son interface. La fiabilité : l application doit garantir l envoi du message à tous les contacts. 8
3.4 Diagramme de cas d utilisation: Bulk SMS <<extend>> modifier <<extend>> administrateur gerer utilisateur supprimer <<extend>> rechercher confirmer création par mail <<include>> <<include>> créer compte utilisateur <<include>> S'authentifier envoyer sms <<include>> <<include>> choisir ListContact gérer contact <<extend>> <<extend>> <<extend>> <<extend>> modifiercontact ajoutercontact <<include>> supprimercontact recherchercontact Choisir critere de recherche Figure 1 : Description détaillée de cas d utilisation 9
Description textuelle Cas d utilisation Acteurs Pré condition Scénario nominal S authentifier Administrateur Utilisateur Créer Compte utilisateur Envoyer sms au(x) contact(s) Gérer la liste des contactes Utilisateur Administrateur Utilisateur Administrateur Utilisateur 10 L acteur a l autorisation d accéder au système L acteur n a pas un compte Administrateur authentifié. Administrateur authentifié. -L administrateur ou l utilisateur saisi ses coordonnées (Login et password) ert indique le numéro de port de connexion puis valide. -Les données seront testées ; si elles sont correctes, le système affiche un message de succès de connexion -l utilisateur rempli le formulaire d ajout et indique le numéro de port de connexion -Les données saisies seront enregistrées dans la base -Un mail de confirmation d ajout lui sera envoyé -L Administrateur ou l utilisateur sélectionne la liste de contacts à partir de la base. -Il écrit un message texte ou choisit un message prédéfini -Il valide l envoi de l sms à la liste choisie. Un message du succès de l envoi sera affiché *Si ajout d un nouveau contact : -L administrateur rempli les informations concernant ce nouveau contact -Vérification de l intégrité des données saisies. -insertion de ces données dans la base de données *Si Modification des coordonnées d un contact :
Gérer la liste des utilisateurs Administrateur Administrateur authentifié. -L administrateur recherche le contact à modifier -Il effectue la modification voulu. -Le système vérifie l intégrité des données modifiées *Si suppression du contact : -L administrateur recherche le contact à supprimer -Il effectue la suppression *Si Modification des coordonnées d un utilisateur : -L administrateur recherche l utilisateur à modifier -Il effectue la modification voulu. -Le système vérifie l intégrité des données modifiées *Si suppression de l utilisateur: -L administrateur recherche l utilisateur à supprimer -Il effectue la suppression Tableau 2 : Description détaillée de cas d utilisation 11
3.5 Diagramme de séquence système : : Administrateur Systeme BD 1: Saisir parametres d'authentification 2: Verification des donnees saisies 3: si [donnéesvalide=vrai] 4: Donnees valides 5: Utilisateur connecte 6: sinon 7: Donnees invalides 8: Afficher un message d'erreur Figure 2 : Diagramme de séquence système d'authentification 12
: administrateur 1: Selectionner un contact Systeme Base de donnees 2: Charger donnees contact 3: Afficher contact 4: Formulaire contact 5: Modifier donnees contact 6: Mise a jour 7: Mise a jour effectuée 8: contat modifié Figure 3 : Diagramme de séquence système de modification de contact : Utilisateur Systeme Base de donnees 1: Afficher formulaire d'ajout 2: Remplir formulaire de donnees 3: Verification des donnees saisies 4: Donnees valide 5: Compte cree 6: Envoi d'un mail de confirmation d'ajout Figure 4 : Diagramme de séquence système de création de compte utilisateur 13
: administrateur :Systeme Base de donnees 1: Rechercher une liste de numeros 2: verifier existence des numeros 3: numeros trouvés 4: Afficher la liste des numeros 5: Ecrire le texte du message 6: Donner un identifiant au message 7: Envoyer SMS 8: Enregister sms et son identifiant Figure 5: Diagramme séquence système d'envoi d'sms 14
Chapitre 4 : Conception 4.1 Diagramme de classe Figure 6 : Diagramme de classe Description diagramme de classe : -La classe contact contient toutes les informations relatives à un contact. L attribut groupe_contact indique le groupe auquel appartient un contact (un groupe vip ou groupe regular ). L attribut id_sms est pour savoir les sms envoyés à ce contact. -La classe Message contient toutes les informations relatives à un message. L attribut phone_contact indique les numéros de téléphone des contacts qui ont reçu ce message. -La classe user contient toutes les informations relatives à message aux contacts. l utilisateur qui va envoyer un 15
4.2 Diagramme de séquence :Utilisateur BD : utilisateur 1: Saisir login et password 2: Verification des donnees saisies 3: Donnees valides 4: authentification reussie 5: sinon 6: Donnees invalides 7: authentification refusee Figure 7: Diagramme de sequence s'authentifier : Administrateur Contact BD 1: Saisir donnees du nouveau contact 2: Envoyer donnees 3: Enregistrement des donnees 4: Donnees enregistrees 5: Contact ajoute Figure 8: Diagramme de séquence d'ajout d'un contacte 16
: administrateur :EnvoiSms :ListContact :GestionnaireRe cherche :BD 1: Operation d'envoi sms choisie 2: Critere de recherche specifie 3: Envoyer critere() 4: Consulter() 5: Afficher resultat() 6: Liste resultat trouv affichee() 7: Choisir les numeros 8: Ecrire SMS Text 9: Envoyer SMS 10: Enregistrer Message text Figure 9 : Diagramme de séquence d'envoi de SMS : administrateur :Rechercher contact :ListResultat :BD 1: Operation de recherche contact choisie 2: Critere de recherche specifie 3: Envoyer critere() 4: Afficher resultat() 5: liste des contacts trouves affichee Figure 10: Diagramme de sequence rechercher contacte 17
Chapitre 5 : Réalisation Dans ce chapitre nous allons présenter les outils logiciels et matériels utilisés pour la réalisation de se projet. A ce sujet, nous avons utilisé un pc portable, un GSM (Nokia 6300 dans notre cas), un IDE (Netbeans 6.9) et une base de données sous MySQL. 5.1 Outils matériels : PC Portable : Le PC doit être doté d un port Bluetooth ou USB pour assurer la connexion avec le modem GSM. GSM : Le GSM doit être capable de simuler un modem GSM en utilisant une connexion Bluetooth ou par câble USB avec le PC. 5.2 Outils logiciels : NETBEANS : NetBeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000. Il comprend toutes les caractéristiques d'un IDE moderne. Il est disponible sous Windows, Linux, Solaris, Mac OS X ou sous une version indépendante des systèmes d'exploitation (requérant une machine virtuelle Java). MySQL : MySQL est un système de gestion de base de données (SGDB). Selon le type d'application, sa licence est libre ou propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle ou Microsoft SQL Server. Son principal atout est qu il est le plus adéquat pour les petites applications et qu il n est pas gourmand en matière de ressources. 18
5.3 Gestion de projet La réalisation du projet est procède selon une hiérarchie d étapes appelées les étapes du cycle de vie d un logiciel dont les étapes sont : Etape 1 : Documentation. Cette étape consiste à rechercher la documentation nécessaire pour notre application. Etape 2 : Etude des besoins et étude de l existant. Ceci consiste à faire le bilan des besoins exprimés pour nous aider à concevoir une solution adéquate. Etape 3 : Conception de la base de données. Elle revient à appliquer les différents diagrammes à un langage de conception choisie (dans notre cas, il s agit du langage UML). Etape 4 : Développement ou codage du code source spécifique à l application. Etape 5 : Tests et validation. Elle permet de gérer les messages d erreurs et de reprendre les phases de défaillance du cycle de vie du projet pour aboutir vers la fin à une application opérative. Figure 11 : Diagramme de GANTT de la gestion du projet 19
Conclusion Au cours de la réalisation de ce projet, nous avons tenté de développer une application capable de répondre aux exigences des entreprises ou organismes souhaitant envoyer des SMS en masse toute en permettant de gérer la base de données des clients. En passant par les différentes étapes de notre projet nous avons réussit à atteindre les objectifs fixés. Nous avons réussi en premier lieu d envoyer un message à une liste de contact, en deuxième lieu, de gérer les contacts et finalement de garder une trace des SMS envoyés. Comme perspective, nous pouvons ajouter un module de tri de la liste des contacts pour que le système puisse affecter les numéros de téléphone au modem ayant la SIM adéquate (c est-à-dire selon le fournisseur de service) dans le cas où on a plusieurs périphériques connectés. 20
Bibliographie 1. Bénard, Jean-Louis. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E- BUSINESS. businessinteractif. [En ligne] 20 Mai 2002. http://www.businessinteractif.com. 2. Tremeur, Balbous. Les méthodes Agiles - Introduction. [En ligne] 04 Aôut 2008. http://www.agilegardener.com/. 21