Académique Documents
Professionnel Documents
Culture Documents
NWAWEL A IROUME
En vue de l’obtention du :
Sous la direction de :
A Toute ma famille.
i
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
REMERCIEMENTS
Ma gratitude et mes remerciements au Pr. Thomas BOUETOU BOUETOU pour son
inestimable contribution à notre formation.
Je remercie le jury :
Je remercie aussi :
Ing. Jamelddine EL KAMEL Directeur Général d’ICS Engineering pour m’avoir permis
de d’effectuer mon stage de fin de formation dans son entreprise.
Ing. Abdoullahi FAOUZI Directeur de la DSI du GUCE pour ses conseils et suggestions.
Ing. WATO Arnold pour ses idées, et aussi Ing. AYEFOU Gildas, Ing. KOUFANA Crépin,
Ing. OWOUNDI Edima pour m’avoir guidé durant la phase technique du projet du stage.
YENKE Marius pour son soutien lors des blocages techniques durant mon stage, et tout
le personnel d’ICS Engineering.
La promotion GI14
Mr SIDI, Mme ASA ADO pour m’avoir soutenu lors de mes déboires.
Mes cousins WELL NDIORO Jeremy, ANOKO A WELL Honoré.
MASSAN Angeline.
ii
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
RESUME
La diffusion de contenus numériques sur des équipements portables à travers des
applications mobiles prend de l’envergure dans les milieux industriels. Que ce soit sur de
simples téléphones portables, sur des smartphones et des tablettes, pratiquement toutes les
entreprises commerciales, industrielles s’orientent vers ce nouveau modèle de diffusion, du
fait qu’elle offre de nouvelles opportunités de distribution : push. Être alerté à bon escient
afin de saisir des opportunités est une attente du consommateur mobile.
En vue de rendre plus efficaces les échanges sur la place portuaire du Cameroun, le Guichet
Unique des Opérations du Commerce Extérieur (GUCE) désire étendre sa plateforme
électronique des procédures dématérialisées pour y intégrer ces applications mobiles. Ceci
afin de permettre aux opérateurs de commerce extérieur (importateur - exportateur) de
pouvoir suivre ces procédures dématérialisées et d’être alertés.
Pour y parvenir nous avons fait un état des lieux sur les procédures thématiques, les modes
de diffusion technologiques. Ce qui a permis de choisir trois canaux de notification à savoir
l’email, le SMS, la notification PUSH via Google Cloud Messaging pour Android. Pour ces trois
canaux de notification, nous avons conçu et réalisé les constituants du système à mettre en
place. Il s’agit d’une application web en JEE et une application Android. Le prototype qui en
résulte a été expérimenté.
iii
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
ABSTRACT
Dissemination of digital content on mobile through mobile applications is becoming the
new industry standard. Whether simple mobile phones, new trends such as smartphones and
tablets, virtually all commercial, industrial and institutional tends to move towards this new
model of diffusion; because it offers new opportunities of distribution: sharing, alert, push. To
be alerted wisely to seize opportunities is usually the mobile consumer habit.
In order to make more efficient trade on the port area of Cameroon, the Single Window of
operations for Foreign Trade (GUCE) wishes to extend its electronic platform to incorporate
these mobile technologies. This will allow foreign trade operators (importer - exporter) to
follow dematerialized procedures and to be alerted. This thesis aims to design and develop a
mobile solution for monitoring these dematerialized procedures.
To achieve this we made an inventor of actual state and then we selected three notification
channels: email, SMS through Kannel, PUSH notification through Google Cloud Messaging for
Android. For these three notifications channels we designed and implemented systems: A
web application in JEE, an Android application. Our work has resulted in a prototype.
iv
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
SOMMAIRE
DEDICACES ..................................................................................................................................................... i
REMERCIEMENTS ........................................................................................................................................ ii
Abstract ......................................................................................................................................................... iv
Sommaire....................................................................................................................................................... v
Contexte................................................................................................................................................................... 13
Problème et positionnement ........................................................................................................................... 13
Objectifs ................................................................................................................................................................... 14
Plan du mémoire .................................................................................................................................................. 14
Chapitre I: ETAT DES LIEUX ....................................................................................................... 15
v
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
II.2.6 Cas d’utilisation .......................................................................................................................... 30
II.3 Conception ............................................................................................................................................ 42
II.3.1 Application web ......................................................................................................................... 42
II.3.2 Application Android ................................................................................................................. 47
II.4 Besoins en composants .................................................................................................................... 49
II.4.1 Besoins en services web ......................................................................................................... 49
II.4.2 Composant de notification via web services................................................................... 50
Chapitre III: IMPLEMENTATION ................................................................................................. 51
Synthèse .................................................................................................................................................................. 64
Limites et Perspectives. ..................................................................................................................................... 64
BIBLIOGRAPHIE........................................................................................................................................ 65
vi
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
LISTE DES FIGURES
Figure 1 : Les partenaires du commerce extérieur du GUCE et taux de couverture ...................... 13
Figure 2: Circuit logistique du commerce extérieur à l'import .............................................................. 16
Figure 3: Circuit logistique du commerce extérieur à l'import .............................................................. 17
Figure 4: Les formalités de commerce extérieur à l'import .................................................................... 18
Figure 5: Les formalités de commerce extérieur à l'export ..................................................................... 19
Figure 6: Circuit global de commerce extérieur. .......................................................................................... 20
Figure 7: Plateforme de l’e-GUCE ....................................................................................................................... 21
Figure 8:Architecture fonctionnelle de la communication via e-mail ................................................. 22
Figure 9:Architecture fonctionnelle de la communication via SMS .................................................... 23
Figure 10:Architecture fonctionnelle notification push ........................................................................... 24
Figure 11:utilisation d'une passerelle SMS .................................................................................................... 24
Figure 12:Architecture fonctionnelle de la passerelle KANNEL ............................................................ 25
Figure 13:Vision globale de la solution ........................................................................................................... 27
Figure 14:Architecture fonctionnelle de la solution................................................................................... 28
Figure 15:Diagramme de cas d'utilisation de l'application web............................................................ 31
Figure 16:Diagramme de séquence de l’application web - Envoie d'une notification .................. 32
Figure 17:Diagramme de séquence de l'application web - Traitement de message...................... 32
Figure 18:Diagramme de séquence de l'application web - Réception de message ........................ 33
Figure 19:Diagramme de séquence de l'application web - Valider les enregistrements ............. 33
Figure 20:Diagramme de séquence de l'application web - Authentification .................................... 34
Figure 21:Diagramme de séquence de l'application web - transférer la demande ........................ 34
Figure 22:Diagramme de séquence de l'application web - Demande information ........................ 35
Figure 23:Diagramme de cas d'utilisation de l'application Android.................................................... 36
Figure 24:Diagramme de séquence de l'application Android - Se connecter ................................... 37
Figure 25:Diagramme de séquence de l'application Android - S'enregistrer ................................. 37
Figure 26:Diagramme de séquence de l'application Android - Souscrire au service push ......... 38
Figure 27:Diagramme de séquence de l'application Android - Lier ses informations de
notification.................................................................................................................................................................. 39
Figure 28:Diagramme de séquence de l'application Android - Ajout/Modifier profil .................. 40
Figure 29:Diagramme de séquence de l'application Android - Suivre dossier/marchandise ... 41
Figure 30:Diagramme de séquence de l'application Android - Notifier ............................................. 42
Figure 31:Architecture 3 tiers de l'application web ................................................................................... 43
Figure 32:Diagramme de classe - Communication engine ....................................................................... 43
Figure 33:Diagramme de classe - Module liaison e-GUCE........................................................................ 44
Figure 34:Diagramme de classe - Notification engine ............................................................................... 45
Figure 35:Modèle de données - Couche d'accès aux données ................................................................ 46
Figure 36:Diagramme de package de l'application web ........................................................................... 47
Figure 37:Diagramme de classe de l'application Android ....................................................................... 48
Figure 38:Diagramme de package de l'application Android ................................................................... 49
Figure 39:Schéma de définition XML - Message de notification ............................................................ 50
vii
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Figure 40:Architecture de déploiment ............................................................................................................ 52
Figure 41:Architecture du système Android ................................................................................................. 54
Figure 42: Les conteneurs d'une application JEE - Conteneur web & conteneur EJB ................... 57
Figure 43:Architecture du premier prototype.............................................................................................. 59
Figure 44:Présentation prototype Android - connexion, enregistrement d'un utilisateur......... 60
Figure 45:Présentation du prototype Android - Enregistrement du chargeur................................ 60
Figure 46:Présentation prototype - Consultation manifeste - 1 ............................................................ 61
Figure 47:Présentation prototype - Consultation maniteste - 2 ............................................................ 61
Figure 48:Présentation prototype - Tracking conteneur ......................................................................... 62
Figure 49:Présentation prototype - Prévision escale................................................................................. 62
Figure 50:Présentation prototype notification de connaissement via email ................................... 63
viii
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
LISTE DES TABLEAUX
Tableau 1: Plateforme mobiles ........................................................................................................................... 22
Tableau 2: Les autres composants d'une application Android .............................................................. 55
Tableau 3: Distribution des versions d'Android .......................................................................................... 56
ix
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
LISTE DES ACRONYMES
API Application Programming Interface
AGL Atelier de Génie Logiciel
AVD Android Virtual Device
AT-FT Admission Temporaire Fiche Technique
BESC Bordereau Electronique de Suivi de Cargaison
BGFT Bureau de Gestion de Fret Terrestre
CAD Commissionnaire Agréé en Douane
CAH Certificat d’Assurance Harmonisé
CAMRAIL Cameroon Railway
CIMD Computer Interface to Message Distribution
DDM Déclaration en Détail des Marchandises
DI-E Déclaration d’Import-Export
DSI Département/Direction des Systèmes d’Information
DSM Direction du Service Matériel (devenu DDM)
EJB Enterprise Java Bean
FIMEX Fichier d’Importateur Exportateur.
GSM Global System for Mobile communication
GUCE Guichet Unique des opérations de Commerce Extérieur
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol Secure
IP Internet Protocol
ISP Internet Service Provider
JSON JavaScript Object Notation
LVI Lettre de Voiture Internationale
MINCOMMERCE Ministère du Commerce
MINFOF Ministères des Forêts et de la Faune
ONCC Office Nationale des Chargeurs du Cameroun
OS Operating System
POJO Plain Old Java Object
RPAD Redevance PAD
PAD Port Autonome de Douala
REST Representational State Transfer
RMI Remote Method Invocation
SDK Software Development Kit
SEPBC Société d’Exploitation Parcs à Bois du Cameroun
SGS Société Générale de Surveillance
SMPP Short Message Peer to Peer
SMS Short Message Service
SMSC Short Message Service Center
SOAP Simple Object Access Protocol
TCP Transport Control Protocol
x
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
WAP Wireless Application Protocol
USSD Unstructured Supplementary Service Data
XSD XML Schema Definition
XML eXtensible Markup Language
xi
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
INTRODUCTION GENERALE
Contexte
Le manque d’efficacité dans l’accomplissement des formalités liées au commerce extérieur
a incité le Gouvernement camerounais à s’engager dans le processus de dématérialisation des
procédures de commerce extérieur en se dotant d’un guichet unique : le GUCE.
Le GUCE est une entreprise parapublique dont l’objectif est la réduction des coûts et délais
de passage des marchandises au Port Autonome de Douala. Elle est dotée d’une plateforme
électronique nommée e-GUCE qui a été conçue pour apporter des améliorations significatives
dans le déroulement des formalités et procédures.
Problème et positionnement
Dans la chaine de processus de commerce international, l’exportateur accomplit les
formalités d’exportation puis expédie sa marchandise et transmet des documents qui y sont
liés à l’importateur ou son représentant qui, dès lors, voit un commissionnaire agrée en
douane ou un transitaire pour suivre et accomplir les procédures d’exportation liées à cette
marchandise.
13
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
L’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Pour les procédures déjà dématérialisées, l’importateur, l’exportateur, le CAD et le
Transitaire se connectent à la plateforme e-GUCE. Pour pouvoir accomplir des opérations
liées aux procédures (consultation, soumission de pièces jointes, etc…). Les dossiers soumis
sont traités électroniquement par les différents partenaires du GUCE et mises à jour sur la
plateforme.
Pour suivre ses dossiers (procédures), l’opérateur1 est obligé de se connecter sur cette
plateforme pour consulter les rapports associés. Il n’y a pas de système d’alerte pour
l’informer de la suite sur ses dossiers et de ses marchandises. Ainsi il ne peut pas anticiper et
entreprendre des actions appropriées dans les délais.
Objectifs
Afin de solutionner ce problème, le GUCE a émis un besoin d’une solution mobile lui
permettant de doter l’opérateur d’un outil efficace pour le suivi des traitements électroniques
de ses dossiers. Cet outil devra générer des alertes en fonction de la nature des opérations et
des décisions.
Il s’agit pour nous de proposer une architecture de cette solution en identifiants les
composants et leurs interactions, puis de la valider en implémentant une version exploitable.
Plan du mémoire
La suite du mémoire est structurée ainsi qu’il suit :
Le Chapitre I intitulé « Etat des lieux », fait un tour d’horizon sur le circuit du
commerce extérieur pour en donner une vision globale et permettre de comprendre
les concepts du domaine et d’analyser le fonctionnement du système en place.
Le chapitre II intitulé « La contribution », présente les spécifications et la conception
de la solution proposée.
Le chapitre III intitulé « Implémentation », présente le prototype de la solution
conçue dans le chapitre II et les outils utilisés pour la réalisation de ce prototype. Il
illustre les résultats des tests effectués et présente aussi comment la solution s’intègre
dans l’environnement cible pour son exploitation.
1 Dans ce document il est identifié comme l’importateur ou exportateur d’une marchandise. Une autre
désignation dans ce document est le « chargeur ».
14
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
CHAPITRE I: ETAT DES LIEUX
15
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
L’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
Tout commence éventuellement avec la vente et la livraison d’une marchandise par une
usine de fabrication au lieu voulu par l’exportateur. L’exportateur en possession de sa
marchandise ouvre éventuellement un ordre de transit chez son transitaire et lui confie sa
marchandise et les documents relatifs à la vente de sa marchandise (Certificat Origine, fiche
technique).
16
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
Etant en communication avec son exportateur, l’importateur avisé sur la date d’arrivée de
sa marchandise peut se rendre chez un transitaire pour conclure un ordre de transit en lui
confiant les documents transmis par son exportateur. Le transitaire effectue les formalités de
dédouanement et d’importation pour son client.
Une fois les formalités administratives et douanière accomplies, le transitaire entre au port
accompagné d’un transporteur avec qui il aurait conclu un contrat de transport, ressort du
port en possession de la marchandise. La marchandise est alors acheminée au lieu de
l’exportateur. Ce dernier rentre alors en possession de sa marchandise.
Le passage des marchandises à travers les différents services logistiques est assuré par des
formalités et procédures.
A l’import
La figure qui suit présente les procédures à accomplir pendant l’importation. Ces
procédures sont matérialisées par des rectangles avec en titre la procédure à accomplir, en
bas du titre et à gauche est le partenaire auprès duquel l’importateur effectue la procédure. Le
numéro indique l’ordre d’exécution de la procédure. Les flèches indiquent l’enchaînement
entre les procédures.
17
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
A l’export
La figure qui suit présente les procédures à accomplir pendant l’exportation. Ces
procédures sont matérialisées par des rectangles avec en titre la procédure à accomplir, en
bas du titre et à gauche est le partenaire auprès duquel l’exportateur effectue la procédure. Le
18
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
De manière générale le circuit logistique peut être décomposé en sous-circuits, chacun avec
des formalités définies, comme le montre la figure 6.
19
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
Une plateforme d'échange des données électroniques dont le rôle est d'héberger et
de permettre l'exécution des procédures dématérialisées.
20
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
Pour suivre ses dossiers l’importateur ou l’exportateur se connecte sur la plateforme via le
portail communautaire avec son navigateur web pour consulter ses dossiers.
21
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
Plateformes Description
Android Plateforme Open Source, SDK gratuit. C’est l’équipement mobile le plus en
vogue aujourd’hui. On le retrouve sous forme de tablettes et smartphones.
BlackBerry C’est une plateforme beaucoup plus utilisé par le gouvernement pour son
aspect sécurité. Il n’est pas à la portée de tous.
IPhone Plateforme propriétaire. Ce sont des appareils hauts gamme et pas à la portée
de tout le monde
Windows Phone Plateforme Mobile de Microsoft. Contrairement aux logiciels sur PC, les
appareils Windows Phone ne sont pas beaucoup utilisés. La plateforme
Windows Phone est propriétaire.
J2ME C’est la plateforme java pour les téléphones limités. Une vieille technologie
qui est trop couteuse dans l’implémentation
Tableau 1: Plateforme mobiles
Android s’avère être un choix adapté à nos besoins. Car il est open source et très répandu.
L’expéditeur envoie un message (texte éventuellement avec des fichiers joints) avec son
compte de messagerie en utilisant un client de messagerie. Le message est acheminé vers le
serveur de messagerie de son fournisseur d’accès internet (FAI), puis routé sur internet vers
le serveur de messagerie du destinataire. Le destinataire utilise son client pour interroger son
serveur de messagerie, ensuite télécharge et lit le message.
La notification par email est un choix convenable car il permet la réception des messages,
et est indépendante de l’appareil utilisé. Il suffit que cet appareil intègre un client de
messagerie et puisse se connecter à internet. Le destinataire peut ainsi lire ses emails quel
que soit le lieu où il se trouve.
22
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
I.2.2.2. Le SMS
Le SMS (Short Message Service) est une méthode de communication mise à la disposition
des Téléphone Mobile par un opérateur de téléphone mobile. Il consiste en l’envoie des
messages courts (maximum 160 caractère) de l’expéditeur vers le destinataire à travers le
réseau téléphonique de l’opérateur.
23
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
1 2 3 4
Figure 11:utilisation d'une passerelle SMS
24
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre I: ETAT DES LIEUX
GSM qui permet au serveur de communiquer avec un téléphone GSM sur le réseau d’un
opérateur téléphonique.
Le GUCE utilise KANNEL pour envoyer des notifications à certains partenaires. L’utilisation
de KANNEL s’avère un choix favorable pour nous pour une intégration future.
Nous avons fait une analyse thématique, pour mieux assoir notre compréhension du
domaine. Ensuite nous avons présenté les solutions potentielles qui s’offrent à nous pour la
résolution de notre problème. Les solutions retenus sont donc l’e-mail, le SMS, le PUSH pour
les notifications et Android comme la plateforme mobile de notre solution.
25
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
26
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
II.2 Analyse
Des que de nouvelles informations relatives aux procédures concernant le chargeur sont
traitées et disponible au niveau du e-GUCE (réception manifeste, dossiers) elles sont
envoyées à l’application web ou elles sont traitées et envoyées via les canaux de notifications
choisie par le chargeur. Le chargeur peut alors éventuellement demander des informations
avec un client (Android + téléphone).
L’application web déployée sur un serveur et communique avec le GUCE par des services
web (liaison 1).
2 -3 matérialise le processus des notifications pour le cas des Smartphones Android via le
Cloud de Google (Google Cloud Messaging). La liaison 4 matérialise l’interrogation d’un
service Web (L’interrogation peut être éventuellement due à une notification.
28
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Soit une application Android qui va offrir des actions à l’usager à travers des menus, les
champs, etc... pour accomplir tous ses besoins.
Soit un cellulaire GSM qui n’offrira que des notifications GSM, et éventuellement la
consultation
Soit un navigateur web disponible sur son pc qui lui permettra d’effectuer ses
opérations.
II.2.5.2. Considération matérielle
Le système mobile va être déployé sur le téléphone de l’usager qui est de préférence un
téléphone Android ;
29
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Vu que les notifications Android vont passer sur le Cloud de Google, il va de soi que ce
Cloud Provider aura les notifications transmises en clair. Il est dont crucial d’utiliser des
mécanismes de cryptage et décryptage.
Acteurs
Administrateur : c’est un agent du guichet qui va vérifier et valider les
enregistrements du chargeur.
e-GUCE : c’est la plateforme électronique du GUCE. Il participe dans l’échange des
messages avec l’application web.
Client chargeur : c’est le système du chargeur, le client qu’il utilise pour interagir avec
l’application web.
Notification system : c’est un système distant de notification : dans notre cas ça peut
être une passerelle SMS, un serveur de messagerie, ou le système de notification push
d’Android.
Administrateur
Valider les
enregistrement Authentification
«include»
Demande Transferer
Client chargeur Information «include» demande
e-GUCE
Reception
Message
Env oie
e-GUCE notification
«include»
«include»
Notification System
Traitement
message
31
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Notify(Message)
Application Web
requêteBD(Charger)
ref
Env oie notification(Message)
32
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Scenario nominal
Acteur Système
1. Envoie Un message 2. Reçoit le message, le sauvegarde et
lance un accuse réception
3. Procède ensuite au traitement
sd Reception Message
depot(Message)
ACK()
ref
Traitement message(Message)
demandeProfil(Chargeur)
valide(Chargeur)
33
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Module
d'authentification
Application Web
Authentifier((credentiels_chargeur)
sd Transferer demande
demandeInformation(IdDossier)
:Object
34
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
requête(Object)
ref
Authentification(crédentiels_chargeur)
ref
Transferer demande(Reference_Chargeur)
:InformationDemandée
Acteur
Parmi les acteurs du système on compte :
35
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Application android
Aj outer/Modifier
profil
«extend»
lier
informations
notifcations
«extend»
Souscrire push
Se connecter
chargeur
Suiv re Notifier
dossier/Marchandises «extend»
36
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
sd Se connecter
connexion(crédentiels_chargeur)
demandeConnexion(crédentiels)
Enregistrement(info_chargeurs)
demandeEnregistrement(info_chargeurs)
37
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
souscrire()
:id_souscription
save(paramètres)
38
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
soumettre(ContactsNotification)
opt
ref
Souscrire au push(Id)
updateContact(id_souscription)
soumettre(ContactNotification)
Scenario nominal
Acteur Système
1. Soumet son profil actualisé. 2. Déclenche éventuellement la liaison
des informations de notification. Puis
effectue l’actualisation du profil
auprès du serveur d’application.
39
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
sd Aj outer/Modifier profil
miseAJourProfil(nouveau_profil)
opt
ref
miseAJourProfil(profil)
40
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
sd suiv i dossier_Android
demande information()
liste dossier()
affiche catégories de dossier()
selectionner catégorie()
Afficher dossiers()
recherche critère()
liste dossiers()
Selection dossier()
demande information()
liste documents()
Affiche documents()
selection document()
details document()
41
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
sd Notifier
envoieNotification(message)
notifier()
demande_details_dicuments()
details_documents= :Object
II.3 Conception
La couche présentation : cette couche fournie des vues personnalisées au client. Elle
permet de présenter les données aux clients disposant d’un navigateur, et de récupérer
les données à travers les formulaires des pages web.
La couche métier : Elle correspond à la partie fonctionnelle de l'application, celle
qui implémente la « logique », et qui décrit les opérations que l'application opère sur
les données en fonction des requêtes des utilisateurs, effectuées au travers de la
couche présentation. Cette couche comprend :
Le Communication engine.
Le Notification engine.
Le module de liaison e-GUCE.
La couche d’accès aux données : elle permet d’extraire ou de stocker les données dans
un système de gestion de base de données.
42
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
class communicationEngine
FrontEnd «interface»
Class Model::
+ getContainerMovement() : void IServ ice
+ getFileTracking() : void
+ getForeCastofCall() : void
+ getManifeste() : object
+ registerCharger() : object
+ registerUser() : object
«persistingEntity»
Class Model::Entity
+ create() : void
+ delete() : void
+ fetch() : object
+ update() : void
43
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
class liaisonGUCE
«interface»
Class Model::IServ ice
EguceClient
+ getContainerMovements() : object
+ getFileTracking() : object
+ getManifeste() : object
Webserv iceToEguce
+ leaveNotificationMessage() : void
«persistingEntity»
Class Model::Entity
+ create() : void
NotificationMessage + delete() : void
+ fetch() : object
+ update() : void
44
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
class NotificationEngine
«interface»
INotificationChannel NotificationChannelProcessor
+ FormatMessage() : void
+ handleIncomingMessage() : void
+ sendNotifcationToChannel() : void
1..*
«persistingEntity»
Class Model::Entity
NotificationDispatcher
+ create() : void
+ dispatch() : void
+ delete() : void
1..* 0
+ fetch() : object
+ update() : void
Des notifications sont typées par la table (core_notification_types) : par exemple, on peut
avoir des notifications des connaissements3, des notifications de suivi de dossiers
(procédures).
3 C’est un document matérialise le contrat de transport entre le donneur d’ordre et la compagnie maritime.
Dans ce document figure le port d’embarquement, le port de destination, le nom du navire, le nom et l’adresse de
l’expéditeur et du destinataire.
45
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
46
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
NotificationEngine
communicationEngine
+ NotificationChannelProcessor
+ FrontEnd
+ NotificationDispatcher
+ INotificationChannel
AccesDonnées
liaisonGUCE
+ CoreAccountSubscriptions
+ EguceClient
+ CoreChargers
+ NotificationMessage
+ CoreEmails
+ WebserviceToEguce
+ CoreMobilePhones
+ CoreNotifications
+ CoreNotificationsTypes
+ CoreSmartphones
+ CoreUsers
Une activité (Activity) peut être composée de plusieurs fragments (Fragment). Nous
fabriquons une classe spéciale ActivityClient qui est un type d’activité (Activity) pouvant
exécuter une Tache (Task). Cette tâche est une opération concrète en background. Un exemple
palpant peut être l’enregistrement d’un utilisateur, une requête de prévision d’escale ou toute
requête de service web. L’ensemble des opérations est géré par la classe RestClient. Notre
classe Task est un type de classe d’Android AsyncTask. AsyncTask est une classe d’Android
permettant de gérer les threads. Notre classe PreferenceManager pour sauvegarder les
paramètres de l’utilisateur Android.
47
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
48
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
class Android_package_Diagram
GUCE_extensionAndroid
+ Files
AndroidCore + Manifeste
+ Activity + MessageReference
+ ActivityClient + NotificationMessage
+ AsyncTask «use»
+ DashBoard
+ Fragment
+ PreferenceManager Communication WS android
+ PushServiceNotificationManager + RestClient
+ RegisterCharger + IRestClient
+ RegisterUser
+ Task
w ebapp_android_extension
+ CoreAccountSubscriptions
+ CoreChargers
+ CoreEmails
+ CoreMobilePhones
+ CoreNotifications
+ CoreNotificationsTypes
+ CoreSmartphones
+ CoreUsers
• Tracking de conteneurs
• Escale
• Connaissement
2-Suivi des procédures
• Etat des dossiers / GUCE.
49
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre II: LA CONTRIBUTION
Nous avons présenté dans ce chapitre la solution globale du système à mettre en place
et nous avons donc réalisé la conception deux systèmes à implémenter notamment
l’application web et l’application Android. Le chapitre III suivant va nous permettre de valider
cette conception à travers l’implémentation et les tests.
50
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
CHAPITRE III: IMPLEMENTATION
51
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
L’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
52
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
Pour le développement de l’application web e-Chargers, nous avons utilisé Netbeans 8.0.
Du fait que Netbeans est un IDE complet et intègre presque tous les plugins et outils
nécessaires au développement JEE.
Le développement de l’application Android nous a incités à choisir Eclipse. Eclipse est l’IDE
Open Source le plus communément utilisé dans le développement Android. Il intègre le plugin
ADT qui lui permet d’utiliser le SDK Android pour pouvoir développer et tester les
applications Android.
SOAPUI et Postman de Google pour effectuer les tests sur les services web à
implémenter.
Des AVD du SDK Android et notre Téléphone HTC Desire tournant sur Android 2.3.7
pour les tests de nos applications Android.
53
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
III.3.1 Android
III.3.1.1. Architecture
Android est une pile logicielle, un ensemble de sous-systèmes logiciels nécessaires pour
fournir une solution entière pour les appareils mobiles. Cette pile comprend :
Un système d'exploitation (noyau Linux modifié), qui offre des fonctionnalités de base
comme la gestion des processus, gestion de la mémoire, de la gestion de l'appareil
comme appareil photo, clavier, écran, etc…
un middleware (logiciel qui connecte le système d'exploitation de bas niveau pour des
applications de haut niveau) qui est en partie basé sur Java
Le middleware comprend :
Un Framework qui est un ensemble de classe java fournissant des services aux
applications clés et aux applications Android développées.
Des librairies qui sont un ensemble de bibliothèques écrites en C/C++
L’environnement d’exécution Android (Runtime), comprend la machine
virtuelle Dalvik qui est l’environnement d’exécution des programmes et une
bibliothèque de base qui permet tout comme le Framework de développer des
applications Android en utilisant JAVA.
des applications clés qui sont des applications encastrées dans le système Android.
Elles sont écrites en JAVA.
54
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
Les activités : ce sont des composants qui gèrent l’affichage de l’interface utilisateur et
l’interaction de l’utilisateur avec les éléments de cette interface utilisateur.
Les services : ce sont des composants qui s'exécutent en arrière-plan pour effectuer
des opérations de longue durée.
Broadcast receivers: gèrent la communication entre les applications Android et le
système d'exploitation. Ils répondent simplement à des messages diffusés provenant
d'autres applications ou du système.
Les contents providers : ils fournissent des données d’une application à une autre à
travers des requêtes. Ces données peuvent être stockées dans le système de fichiers,
une base de données (SQLite).
Les composants additionnels
Il existe des composants supplémentaires qui participent à la création des
composants cités plus haut.
Le tableau décrit chacun d’eux :
Composant Description
s
Fragment Un fragment est une portion de l’interface utilisateur qui peut être réutilisée
dans une activité
Les Vues Ce sont les éléments de l’interface utilisateur qui sont dessinés sur l’écran
(Views)
Les Layout Ce sont des vue hiérarchiques utilisées pour contrôler le formatage et
l’apparence des Vue
Les Intents Ce sont des messages connectant les composants ensemble
Manifeste Fichier de configuration d’une application Android
Les ressources Ce sont les éléments externes tels les images, les icones, les fichiers mp3.
Tableau 2: Les autres composants d'une application Android
Les composants d'application sont les éléments essentiels d'une application Android. Ces
composants sont faiblement couplés par le fichier AndroidManifest.xml qui décrit chaque
composante et comment ils interagissent.
55
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
III.3.2.2. Composants
L'environnement d'exécution Java EE définit quatre types de composants. Deux d’entre eux
nous intéressent dans le cadre de notre implémentation.
Les composants web (Servlet, Filter, etc…) sont exécutés par les conteneurs web et
répondent aux requêtes http des clients web. les applications web supportent les
services web sur SOAP et REST.
Les composants d'entreprise sont exécutés dans un conteneur d'EJB. Les EJB sont
composants gérés par le conteneur pour le traitement métier. Ils peuvent être
accessibles localement, ou à distance via RMI, HTTP, SOAP, REST.
56
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
La figure 42 qui suit présente ces 2 types de conteneurs ainsi que les spécifications
qu’ils supportent. Pour plus de détails sur les spécifications veuillez consulter le livre Java
EE7 mentionné en bibliographie à la fin de ce document.
Figure 42: Les conteneurs d'une application JEE - Conteneur web & conteneur EJB
Java Transaction API (JTA): Il permet de gérer les transactions des composants au
niveau du conteneur
Java Persistance API (JPA): API standard pour le mapping objet-relationnel (ORM).
Avec JPQL il est possible d’interroger les données stockées dans une base de données
Java Message Service (JMS): permet aux composants de communiquer de façon
asynchrone par envoie des messages. Nous utiliserons JMS pour envoyer des messages
à chaque composant des trois canaux de notifications.
Java Naming and Directory Interface (JNDI): cette API, inclus dans Java SE, est utilisé
pour l'accès nommage et systèmes d'annuaire. Il permet de d’obtenir ou retrouver des
objets (source de données, EJB, les file d’attente JMS, etc…) de manière transparente.
JavaMail: cette API permet l’envoie des mails
Les services de sécurité: permet d’authentifier et appliquer des contrôles d'accès sur
les utilisateurs.
Services Web: Java EE fournit un support pour SOAP et les services Web RESTful.
L'API Java pour Les services Web XML (JAX-WS), fournit le support pour les services
57
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
Web utilisant le protocole SOAP / HTTP. L'API Java pour les Services Web RESTful
(JAX-RS) fournit un soutien pour les services Web en utilisant le style REST.
Pour l’implémentation de l’interfaçage avec la plateforme e-GUCE nous utiliserons
REST ou SOAP.
Avec la limitation des librairies JAVA sur Android nous utiliserons REST. Ce choix va
être supporté aussi sur la plateforme KANNEL.
Cloning
Cette librairie permet de cloner des objets en profondeur. Nous avons été confrontés à une
problématique lors de la phase d’implémentation. Il était fastidieux d’ajouter des annotations
afin de pouvoir être en mesure de dupliquer un objet. Du fait de la permanente évolution de
notre application. Il fallait donc trouver une alternative qui devait nous rendre la vie facile.
Sinon nous nous retrouverions en train d’ajouter à nouveau des annotations sur des classes
régénérées.
Gson
Gson est une librairie java développée par Google pour fournir une logique plus simple
pour la sérialisation des POJO (Plain Old Java Object) en chaines de caractère JSON, et la
deserialisation des chaines de caractères en POJO. Nous l’utilisons sous Android du fait
qu’Android intègre une plateforme JAVA limité. Les annotations JAXB pour la sérialisation et
la deserialisation en XML ou JSON utilisées dans l’architecture JEE ne sont pas supportées.
L’alternative était d’assurer des échanges transparents entre Android et l’application web,
ainsi rendant flexible l’interfaçage. Pour l’implémentation, nous utilisons la version 2.2.4.
58
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
III.5.1 Android
III.5.1.1. Lancement et enregistrement
Au premier lancement de l’application l’utilisateur est appelé à entrer les paramètres
d’authentification (chargerName, companyAccessCode) qui lui sont fournis par
l’administrateur. Le compte est créé dans le cas où le chargeur est une personne morale. Dans
le cas contraire, il doit alors s’enregistrer.
59
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
60
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
61
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
62
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
Chapitre III: IMPLEMENTATION
63
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
CONCLUSION
Synthèse
L’objet de ce mémoire portait sur la conception et le développement d’une solution mobile
pour le suivi des procédures dématérialisées par les opérateurs de commerce extérieur
(importateur, exportateur). Cette solution devrait pouvoir générer des alertes (notifications).
Pour cela :
un tour d’horizon sur le circuit du commerce extérieur avec le GUCE a été effectué pour
l’appropriation des concepts et l’identification des exigences du domaine, ensuite les
solutions mobiles sont énumérées afin d’effectuer un choix qui cadre avec nos
objectifs.
Ensuite la conception d’une solution au problème est menée en se basant sur les choix
effectués précédemment.
Enfin un premier prototype de la solution proposée est implémenté. Les premiers tests
dans l’environnement local sont concluants.
Durant la période de notre stage nous avons rencontré des difficultés dans le
développement. Surtout dans le volet communication d’Android ou il fallait trouver une
solution d’échange flexible avec Android et l’application web. Ces difficultés ont été
surmontées grâce à la patience et à la bonne collaboration. Cette solution est la première
véritable réalisation mobile dans le système du Guichet Unique de Commerce Extérieur; aussi
l’architecture de la plateforme est assez complexe, et il a fallu maitriser un bon nombre de
technologies JEE, Android.
Limites et Perspectives.
Le prototype, dans son état actuel, n’est pas entièrement au point, par conséquent il
nécessite des développements complémentaires et des configurations pour l’installer dans
son environnement d’exploitation. Deux canaux de notifications sont déjà intégrés. La liaison
avec l’e-GUCE se limite actuellement à l’initiation des requêtes sous forme de services web
venant de l’application web. Le module de notification est en cours de réalisation par la DSI
du GUCE.
64
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
L’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME
BIBLIOGRAPHIE
65
Mémoire de fin d’études d’Ingénieur de Conception en Informatique à
l’Ecole Nationale Supérieure Polytechnique de Yaoundé (ENSP).
Par : NWAWEL A IROUME