Partie 3: Etude comparative des choix de technologies, des outils de développement, des outils de gestion de la performance, des outils de documentation, des méthodes de modélisation, des méthodes de management, etc.
Conduite d'un projet informatique - Etude Comparative
1. Beyrouth – Mohamed SABRA – 10309 f
II- Etude comparative
1. Critères fonctionnels d’un portefeuille numérique1
(eWallet) :
Les principales fonctionnalités attendues par un portefeuille électronique sont les suivantes :
La solution de paiement doit permettre de payer les achats en ligne / factures.
La solution de paiement doit permettre d’effectuer et de recevoir des virements.
La solution de paiement doit fonctionner depuis un ordinateur, un smartphone ou une
tablette.
La solution de paiement stocke des données personnelles (coordonnées) et des données
bancaires (numéros de carte, date d’expiration, cryptogramme etc.) donc elle doit être
sécurisée.
Paiements instantanés entre portefeuilles.
Paiements vers et depuis des comptes bancaires.
Service d’assistance 24 heures/24 et 7 jours/7.
Paiements chez les marchands via les technologies sans contact (numérisation NFC ou
QR).
Rapports et analyses.
D’après les fonctionnalités citées, nous pouvons déduire des critères nécessaires tels que :
La Disponibilité en ligne.
L’aspect Transactionnel des activités.
Le Multi plates-formes.
La Sécurité.
Le « Reporting ».
De plus, nous sommes intéressé à vérifier :
Le Coût.
Les Garanties.
Le Design.
1
https://www.softwaregroup.com/insights/blog/individual-article/main-blog/2019/08/01/15-key-features-that-make-your-mobile-
wallet-stand-out
2. Beyrouth – Mohamed SABRA – 10309 f
2. Vue générale sur le marché:
Nous avons sélectionné les cinq produits de « Wallets » les plus réputés au monde2
et nous allons présenter une comparaison de
quelques critères principaux de ces produits tout en ajoutant notre solution à développer à cette comparaison.
Neteller3 Skrill4 ecoPayz5 TransferWise6 PayPal7 Wallet de TechG sal
Réponse aux
besoins de
paiement attendus.
100% 100% 100% 100% 100% 100%
Capacité Disponible en 202
pays avec 26
devises.
Disponible en 201
pays avec 40
devises.
Disponible en 156 pays
avec 45 devises.
Disponible en
65 pays avec 24
devises pour
envoyer et 53
pour recevoir.
Disponible en
202 pays avec
24 devises.
Disponible en 7 pays où
la Banque opère avec
plusieurs devises
configurables et
possibilité d’extension.
2
https://www.ewallet-comparison.com
3
https://www.neteller.com
4
https://www.skrill.com
5
https://www.ecopayz.com
6
https://transferwise.com
7
https://www.paypal.com
3. Beyrouth – Mohamed SABRA – 10309 f
Prix et frais Retrait sur un
compte bancaire (7.5
USD)
Transfert 1,45 %
(min 0,5 USD)
Retrait sur un
compte bancaire
(3 USD)
Transfert 1,45 %
(min 0,5 USD)
Retrait sur un compte
bancaire (5.9 USD)
Transfert ecoAccount
(1,5%, min 0,5 USD)
Carte
TransferWise
(205 USD)
Différents frais
cachés pour
différents pays
et méthodes.
Interne à la Banque.
Possibilité de
configuration. Les frais
doivent être minimaux en
présence des produits
existants.
Conversion de
devises
Conversion 2,95%
(jusqu'à 1,25% pour
les membres VIP)
2,99 – 4,99 % 2,99% au niveau
classique et argent,
1,49% au niveau Gold
et Platinum et jusqu'à
1,25% au niveau VIP
Taux de change
réel, pas de frais
cachés.
environ 3,5%
(selon la devise)
Configuration interne à la
Banque.
Les taux doivent être
minimaux en présence
des produits existants
Réputation Très bonne
réputation
Très bonne
réputation
Très bonne réputation Bonne
réputation
Excellente
réputation
TechG sal a un portfolio
riche de projets de
portefeuilles numériques.
Sécurité Conforme PCI DSS
3-D Secure
Vérification BIN / IP
Empreinte digitale
de l'appareil
Payment Card
Industry Data
Security
Standards (PCI-
DSS Level 1)
Payment Card Industry
Data Security
Standards (PCI-DSS
Level 1)
Équipes de
sécurité tierces-
parties et selon
chaque pays.
Connexion
numérique
sécurisée et
cryptée à
PayPal.
La Banque implémente
déjà le modèle de 3-D
Secure.
Cryptage 256 bits et
plusieurs pare-feu au sein
4. Beyrouth – Mohamed SABRA – 10309 f
Vérification
(CV2/CVV)
Cryptage 256 bits et
plusieurs pare-feu
de la topologie réseau
existante.
Garantie Dans le cas d'un
paiement non
autorisé ou mal
exécuté,
remboursement du
montant y compris
tous les frais déduits.
Aucune garantie
concernant les biens
et services payés par
NETELLER.
Dans le cas d'un
paiement non
autorisé ou mal
exécuté en raison
d'une erreur,
remboursement
dès que possible
du montant y
compris tous les
frais déduits.
Rembourserons de
transactions, y compris
tous les frais qui en
sont déduits, seulement
si exécutées sans
autorisation.
En cas d’échange
eMoney contre des
fonds vers un mauvais
compte de paiement,
récupération des fonds
non garantie.
Frais d'assistance.
Remboursement
de transactions
en cas d’erreur
technique.
« Taux
Garantis »
pendant 24h
pour toute
devise sauf
AUD, BGN,
CAD, CHF,
CZK, EUR,
HKD, HRK,
JPY, SGD et
TRY (48
heures).
« Purchase
Protection ».
Remboursement
du prix d'achat
complet, plus
les frais
d'expédition
d'origine, sous
réserve des
conditions et
limitations.
Le Remboursement de
transactions en cas
d’erreur technique est
possible.
Sous réserve des
conditions et limitations
fixées par la Banque.
5. Beyrouth – Mohamed SABRA – 10309 f
Design Simple IHM.
Illustrations et
éléments graphiques
inspirants.
2ème place aux
E-Commerce
Germany Awards.
Une interface intuitive :
affichage et gestion de
toutes les informations
de compte en un seul
endroit. C'est plus
agréable pour les yeux
et plus intuitif pour les
clients.
Très
ergonomique et
l'inscription est
rapide et facile.8
De nombreuses
complaintes des
utilisateurs en
20169
ont
conduit à un
design UX
presque
parfaite.
Un design récent et
simple, proche des
produits existants pour
que l’utilisateur navigue
facilement au sein de
l’application.
La Banque n'est pas un concurrent sur le marché des Fintechs et son objectif principal n'est pas de créer un nouveau produit sur
le marché, mais de conserver l'activité de ses propres clients en leur faisant utiliser un nouvel service de paiement similaire aux services
fournis par les Fintechs. Par conséquent, TechG sal développera une solution personnalisée qui répond exactement aux besoins de la
Banque avec la possibilité d'extensibilité.
8
https://www.australia-backpackersguide.com/transferwise-review/
9
https://www.paypal-community.com/t5/About-Settings/Paypal-New-Interface-Example-of-a-BAD-User-Interface-Design/td-p/1102739#
6. Beyrouth – Mohamed SABRA – 10309 f
3. Choix techniques
Dans cette partie nous allons présenter un aperçu des choix techniques possibles ce qui va
nous permettre de sélectionner adéquatement nos outils techniques et outils de gestion qui vont
nous permettre de réaliser efficacement notre travail.
3.1 Langages de développement10
D’après une étude faite par la société de sécurité Veracode sur les langages de
programmation les plus utilisés en ce qui concerne les vulnérabilités de script intersite (XSS), les
bugs d’injection SQL et injection de commandes, et les problèmes de cryptage, JAVA et la famille
.NET présentent des pourcentages de vulnérabilités beaucoup moins que les autres langages. En
fait, ces langages en supprimant la nécessité et la capacité pour les développeurs d'allouer
directement de la mémoire, évitent presque entièrement les vulnérabilités. Surtout Java, possédant
le « garbage collection » permet à la JVM d’empêcher un programme de faire des choses fâcheuses
avec la mémoire d’un système.
Tech sal utilise le langage JAVA qui répond bien au besoin de Sécurité. De plus, c’est un
langage bien adapté au développement multi plates-formes.
10
https://www.vice.com/en_us/article/ezp4ek/new-analysis-the-most-hackable-programming-language-is-php-by-a-mile
7. Beyrouth – Mohamed SABRA – 10309 f
3.2 Base de données
Puisque la Banque possède déjà une base de données Oracle qui ne nécessite pas un
changement, un « schema » spécifique à l’application va être créé dans la base de données. De
plus, TechG sal bénéficiera de l’accès gratuit à l’outil de surveillance fourni avec la base de
données Oracle qui est Oracle Enterprise Management. Cette surveillance permet de détecter et
de corriger les problèmes pouvant survenir sur les bases de données afin de respecter les impératifs
de disponibilité demandés par les clients. Aucun autre choix des bases de données NoSQL connues
par le manque de fiabilité n’est accepté par la Banque, vue les types de données bancaires à stocker.
De plus, les propriétés ACID11 (Atomicity Consistency Isolation Durability) de la base de
données Oracle font de cette base, un des meilleurs choix qui répondent au besoin d’un système
Transactionnel.
Atomicity
La transaction entière a lieu en même temps ou
ne se produit pas du tout.
Consistency
La base de données est cohérente avant et après
la transaction.
Isolation
Les transactions multiples se produisent
indépendamment sans interférence
Durability
Les modifications d'une transaction réussie se
produisent même si la défaillance du système
se produit
11
https://www.orafaq.com/wiki/ACID
8. Beyrouth – Mohamed SABRA – 10309 f
3.3 Outils de développement Java :
Puisque notre choix de langage été Java, voici les cinq outils de développement les plus
puissants12
pour développer des applications en JAVA.
NetBeans IntelliJ Idea Eclipse JDeveloper Android
Studio
Type de solutions
développées
Application
d'entreprise,
web, mobile,
bureautique
Application Web
et Java EE
Mobiles, de
bureau, web et
systèmes
embarqués
Java EE, bases
de données,
services Web
Rest/Soap,
mobile
Applications
mobiles
Android
Apprentissage Communauté
de
développeurs
très active
Une énorme
communauté de
développeurs,
une
documentation
très fournie et
beaucoup de
plugins
Communauté
de
développeurs
et
documentation
Documentation
Oracle
Communauté
de développeurs
et
documentation
Multi plate-formes Linux,
Windows, Mac
ainsi que
Oracle Solaris.
Windows, Mac
OS X et Linux
Windows,
Mac OS X et
Linux
Windows, Mac
OS X et Linux
Windows, Mac
OS X et Linux
Coût libre et open
source
Une version
gratuite (Free
Community
Edition) qui vise
les développeurs
seuls.
Une version
payante (Edition
" Ultimate ") très
avancée qui
s'adresse aux
développeurs
travaillant dans
des entreprises
Libre open
source
Libre et open
source
basé sur la Free
Community
Edition d'Intellij
et est disponible
gratuitement
sous licence
Apache.
12
https://www.supinfo.com/articles/single/6135-top-10-ide-developpeurs-java
9. Beyrouth – Mohamed SABRA – 10309 f
Nous avons listé les 5 outils les plus puissants qui répondent tous à nos besoins de
développement en Java mais chacun a un critère spécial. IntelliJ est le seul qui dispose de
possibilités de navigation avancée dans le code et de « réfactorisation » de code. J Developer est
utilisé plus pour le développement des technologies Oracle. Eclipse est un IDE que tous les
développeurs Java connaissent forcement puisqu’il est beaucoup utilisé surtout dans les
universités. TechG sal utilisera Netbeans, l’IDE officiel de Java, qui grâce à son acquisition par
Oracle en 2010 et à la contribution d'une communauté de développeurs très active, bénéficie de
mises à niveau et d'améliorations continues. De plus c’est un outil gratuit, donc nous réduisons
les coûts sans compromettre les fonctionnalités.
3.4 Topologie du réseau existant13
L’architecture existante du réseau, permet le déploiement de la nouvelle application dans
le serveur d’Application de la Banque et l’accès à l’application en ligne via Internet, l’un de nos
principaux besoins fonctionnels. Les changements nécessaires ne sont pas de nature matérielle,
mais des configurations logiques du matériel pour assurer la sécurité à travers les pare feux.
13
https://www.researchgate.net/
10. Beyrouth – Mohamed SABRA – 10309 f
3.5 Outils de modélisation et conception : Merise ou UML?14
Merise et UML sont techniquement complémentaires. Notre solution d’entreprise repose
surtout sur la notion d’objets plus que sur la modélisation de la relation entre les données. UML
est le choix de TechG sal pour la modélisation. Pour ce langage de notation international, beaucoup
d’outils sont présents dans le marché et nous allons utiliser « Visual Paradigm », un outil en ligne,
contenant une diversité de prototypes et des squelettes. La version Enterprise15
de cet outil coute
$1999, mais puisque TechG sal en possède déjà une, cela n'entraînera pas de frais
supplémentaires.
14
Ecole Nationale Supérieure d'Ingénieurs de Caen-ENSICAEN
6, bd maréchal Juin
F-14050 Caen cedex 4
Livrable: Etude comparative sur les méthodes de modélisation
15
https://www.visual-paradigm.com/shop/vp.jsp?license=perpetual
Merise UML
méthode d'analyse/conception de système
d'information
langage de représentation d'un SI.
méthode de modélisation de données et
traitements orienté bases de données
relationnelles.
système de notation orienté objet.
Relationnel objet.
Franco-français International
Schéma directeur, étude préalable, étude
détaillée et la réalisation.
langage de modélisation des systèmes
standard, qui utilise des diagrammes en
s'appuyant sur la notion d'orienté objet
plus adapté à une approche théorique plus orientée vers la conception
du "bottom up" de la base de données vers
le code
du "top down" du modèle vers la base de
données.
11. Beyrouth – Mohamed SABRA – 10309 f
3.6 Outils de prototypage16
« Pencil Project » est utilisé par TechG sal comme un outil de prototypage GUI gratuit et
open-source qui peut être facilement installé et utilisé pour créer des maquettes sur des plates-
formes différentes.
3.7 Outils de génération de code17
D’après un sondage lancé sur le site www.developpez.net afin de connaître la répartition
de l'utilisation des outils de « builds » dans le monde Java, les résultats sont les suivants:
Outils Votes Pourcentage
Maven 2
82
30,83 %
IDE ***
81
30,45 %
Ant
75
28,20 %
Make / script
12
4,51 %
Ant + Ivy
7
2,63 %
Gradle
1
0,38 %
Autres
8
3 %
Total 266 100 %
16
https://pencil.evolus.vn/
17
Comparatif des outils de build pour Java: https://linsolas.developpez.com/articles/java/outils/builds/
12. Beyrouth – Mohamed SABRA – 10309 f
Il est clair que Maven et Ant restent les solutions privilégiées par les développeurs, mais
notre critère de choix c’est l’intégration de l’outil de génération de code dans notre outil de
développement. Dans notre cas, nous avons choisi Netbeans.
IDE Ant Ivy Maven 2 Gradle
NetBeans
Module à installer de
http://code.google.com/
p/ivybeans/
commandes à
configurer.
Netbeans ne supporte pas nativement Gradle et Ivy, et pour les utiliser il faut installer un
module externe Ivybeans ou configurer l’outil pour lancer des commandes Gradle. Notre choix est
Maven, le plus répandu et le plus mis à jour.
3.8 Outils de tests18
JUnit TestNG
C'est un framework de test open source utilisé
pour écrire et exécuter des tests.
Similair à JUnit avec des fonctionnalités
ajoutées.
Il ne prend pas en charge les annotations
avancées.
Prend en charge les annotations avancées et
spéciales.
Il ne prend pas en charge l'exécution de tests
parallèles.
Il permet à différents threads de s'exécuter
simultanément.
JUnit est le plus ancien et le plus commun des frameworks open source qui sont utilisables
dans le monde Java, notre choix de langage, et il est à l'origine de plusieurs frameworks similaires
ce qui en fait un standard de facto. Mais il existe d’autres frameworks comme TestNG qui peuvent
offrir un plus. Notre choix est TestNG comme un outil de test de Java afin d’exécuter plus
rapidement les tests et de créer des scenarios avancés en utilisant les annotations spéciales de cet
outil.
18
https://www.jmdoudoux.fr/java/dej/chap-frameworks-test.htm
13. Beyrouth – Mohamed SABRA – 10309 f
3.9 Outils de gestion de performance19
Nous somme intéressé aux outils de test des applications Java, le choix se porte sur JConsole,
Visual VM et AppDynamics Lite.
JCONSOLE VISUAL VM
APPDYNAMICS
LITE V2.0
Prix
Gratuit Gratuit Gratuit
Flux de l'application
JVM Non Non Oui
Transactions métiers
Non Non Oui
Profilage de code
Non Oui Oui
Profilage du CPU
Non Oui Version Pro
Énoncés SQL
Non Non Oui
Métriques JMX /
MBean Oui Oui Oui
Prêt pour la
production Non Non Oui
Alerte proactive
Non Non Oui
Puisque l’activité au sein de l’application de portefeuille numérique n’est presque que des
transactions, nous sommes intéressés non seulement à surveiller l’application en interne depuis
la JVM en cours d'exécution, mais tout le contexte de l’environnement de production en activité
afin d’être capable d’offrir un service d’assistance et gérer la performance de l’application 24
heures/24 et 7 jours/7. Pour cela, notre choix est l’outil AppDynamics Lite V2.0.
19
https://www.appdynamics.fr/solutions/appdynamics-java-monitoring/free-java-monitoring-tools/
14. Beyrouth – Mohamed SABRA – 10309 f
3.10 Outils de migration
Les données de la nouvelle application vont exister sur la base de données Oracle de la
Banque comme nous avons déjà citer dans la section 3.2. La migration des données dans ce cas
sera exécutée à travers des scripts Oracle PL/SQL que l’équipe de migration a déjà préparé d’une
manière dynamique ce qui facilite la comparaison entre la structure des tables, des colonnes et de
types de données.
3.11 Méthodes et Outils de gestion de projet20
Bien que les méthodes ayant un processus itératif et évolutif comme SCRUM semblent
plus efficaces, elles ne sont pas adaptées à tout type de projet. La comparaison des méthodes
“Cycle en V” et SCRUM permet de cibler la bonne méthode pour notre projet.
Cycle en V SCRUM
Cycle de Vie Des phases séquentielles. Processus en Itérations.
Livraison Tardive (après la réalisation
de toutes les fonctionnalités).
Rapide (utilisation partielle du
produit selon les besoins
prioritaires).
Contrôle Qualité A la fin. A chaque livraison.
Planification Plan selon les exigences
définies dès le début.
Plan ajusté en fonction des
demandes.
Documentation Détaillée et en grande
quantité.
Minimale, strict nécessaire.
20
https://islean-consulting.fr/fr/organisation-dsi/cycle-en-v-scrum-que-choisir/
15. Beyrouth – Mohamed SABRA – 10309 f
Notre produit de portefeuille numérique à développer ne peut jamais être utilisé
partiellement. Toutes les fonctionnalités sont livrées et testée une seule fois à la fin, les itérations
ne prennent place que pour les cycles de tests et de correction. Une documentation détaillée de
chaque fonction est aussi fournie lors de la livraison. La méthode adaptée à notre projet est le
« Cycle en V ».
TechG sal utilise le logiciel « HP Application Lifecycle Management » pour la gestion
des cycles du projet. Elle possède déjà une licence pour 30 utilisateurs, mais lors des phases de
tests, des licences doivent être achetées pour les utilisateurs de la Banque qui devront utiliser HP
ALM pour enregistrer les bugs et interagir avec les consultants afin de les résoudre.
3.12 Outils de suivi financiers21
L’outil utilisé par TechG sal pour le management financier est aussi de la famille HP. HP
Project and Portfolio Management nous fournit le module HP Financial Management en plus
d’autre modules de gestion des ressources et du temps.
3.13 Outils de documentation
Pour la documentation technique du projet nous utilisons l’outil JavaDoc22
, cet outil
permet, en inspectant le code Java des classes, de produire une documentation très complète de
notre code.
Les autres documents comme les FSD (Functional Specification Document) et les BRD
(Business Requirement Document) sont rédigés par les analystes fonctionnelles de TechG sal pour
chaque client en utilisant Microsoft Word tout en bénéficiant des squelettes existantes dans
l’entreprise. La livraison se fait en format PDF.
21
http://www.hp.com/hpinfo/newsroom/press_kits/2009/lasvegasevents2009/HPPPMOverview.pdf
22
https://openclassrooms.com/fr/courses/1115306-presentation-de-la-javadoc