45
1 © OCTO 2014 Les Nouvelles Architectures We b mardi 4 février 2014 Olivier Lament – Manager IT – ING Direct Jonathan Meiss – @JohnMeiss – OCTO Technology François Petitit – @francoispetitit – OCTO Technology

Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

Embed Size (px)

DESCRIPTION

Depuis deux ans, une nouvelle vague technologique submerge le paysage des applications Web : les architectures MV* côté client. L’écosystème Web, enfin mature, offre l’opportunité d’avoir des interfaces riches et une meilleure expérience utilisateur grâce à la génération des écrans et la gestion des interactions côté client. En ne gérant plus l’affichage mais uniquement l’envoi des données brutes, le serveur se concentre sur des APIs métier mutualisables avec des applications mobiles notamment. Venez découvrir au travers d’un retour d’expérience commun entre OCTO et ING Direct, acteur majeur de la banque en ligne en France, la réalisation d’une des toutes premières WebApp mobile multi-plateformes dans le milieu bancaire reposant sur ces nouvelles architectures Web. Compte-rendu du petit-déjeuner : http://bit.ly/1g2nEnU

Citation preview

Page 1: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

1© OCTO 2014

Les Nouvelles Architectures Web

mardi 4 février 2014

Olivier Lament – Manager IT – ING DirectJonathan Meiss – @JohnMeiss – OCTO TechnologyFrançois Petitit – @francoispetitit – OCTO Technology

Page 2: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

2

Préambule : des geeks et des boss

Page 3: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

3

AgendaRetour d’expérience ING Direct

http://m.ingdirect.fr

Enjeux du projet

Les nouvelles architectures du WebPrincipes d’architecture

Nouveaux frameworks

Industrialisation des développements JavaScript

Web mobile multiplateforme

L’utilisateur au centre des développements

Conclusion

Page 4: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

4

http://m.ingdirect.fr

Page 5: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

5

Driver 1/3 : l’expérience utilisateur

Page 6: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

6

Driver 2/3 : les coûts

Page 7: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

7

Driver 3/3 : rationaliser l’architecture du S.I.

Page 8: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

8

Principesd’architecture

Page 9: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

9

L’évolution des architectures Web

Page 10: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

10

L’évolution des architectures Web

Page 11: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

11

L’évolution des architectures Web

Page 12: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

12

L’évolution des architectures Web

Page 13: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

13

API-fication du S.I.

Desktops

Smartphones

Tablettes

Autres … ?

serviceAPI

serviceAPISI

Open APIAPI

Page 14: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

14

La sécurité ?

Page 15: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

15

Equipe WebApp

PO

Equipe API

Développeurs

PO

Développeurs

API-fication des équipes projet

Ergonome + graphiste

Page 16: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

16

Les nouveauxframeworks du Web

Page 17: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

17

Evolution des navigateurs depuis l’an 2000

Page 18: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

18

Et même sur mobile !

Page 19: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

19

MV* = déporter l’application Web côté client

Page 20: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

20

Une multiplication des frameworks MV*

Page 21: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

21

Lequel choisir ?

Page 22: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

22

AngularJS : un intérêt croissant

Page 23: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

23

Des communautés très actives

Page 24: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

24

Architecture applicative d’une application Web MV*

Page 25: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

25

AngularJS Backbone.js

Présentation

Style

Templating X

Composants graphiques

Contrôleur

Data binding X

MV* X X

Bookmarking / historique navigation X X

Services

Echanges / appels distants X X

Stockage local

Gestion hors-ligne

Infrastructure

Détection de fonctionnalité navigateur

List helper cross navigateur X

Appels à des fonctions natives

Transverse

Injection de dépendances X

Sécurité (connexion / profils / stockage)

Logs

Piste d’audit

Comparaison des briques applicatives fournies nativement par Backbone.js et AngularJS

Page 26: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

26

Et le gagnant est… AngularJS

« AngularJS is what HTML would have been,

had it been designed for building web-apps »

Miško Hevery, AngularJS Creator,Google

Page 27: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

27

Industrialisation

des

Développements

JavaScript

Page 28: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

28

Un écosystème industrialisé

PackagingOutils de dév

Gestion des dépendances Monitoring

Frameworks et librairies applicatives

Minification

Obfuscation

ConcaténationEditeur

Simulateurs

Debugger

Runner

Build

Run

WebPerfs

Bugs

Architecture applicative

DEV BUILD RUN

Tests

Qualimétrie

Synthèse

Unitaires

Perfs/charge

IHM

Intégration

Couverture tests

Syntaxe

Aggrégation indicateurs

Historique

QUALITE

Génération de spritesRun

Serveur Web

Déploiement

Détection de device

Versioning/cache

Page 29: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

29

Packaging

Construction

Minification

Obfuscation

Concaténation

Compilation

Gestion de dépendance

BUILD

Tests

Qualimétrie

Unitaires

Perfs

IHM

Intégration

Couverture tests

Syntaxe

QUALITE

JSHint

Plug-ins Grunt :

concat, uglify, ngMin, etc.

Compilateur SASS

Jasmine

Protractor /Selenium

Chrome dev tools

Grunt

Versioning

Outils utilisés chez ING

Page 30: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

30

Le Maven du Web

Page 31: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

31

Intégration continue

Usine de Build

Build

Vérifier la qualité du code

Compiler

Récupérer les dépendances

Déployer

Documenter

Exécuter les tests

Packager

Référentiel de tâches

et anomalies (Redmine)

Plateformede tests

Documentation& Indicateurs

Serveurd’intégration

Continue(Jenkins)

BuildGestionnaire de sources

(Git)BuildLocal

(Poste dev)

Notifications

RéférentielBinaires ING

(Nexus)

Référentiellibrairies

(NPM registry)

Page 32: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

32

WebPerfs : un fort impact sur l’expérience utilisateur

“64% of smartphone users want a site to load within four seconds; 82% within five seconds.”

2012 mobile users surveyKeynote Systems

Page 33: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

33

Mise en œuvre sur le projet

Page 34: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

34

Web mobile

Page 35: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

35

Fragmentation des navigateurs

Page 36: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

36

Bienvenue au BUG Village !

Page 37: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

37

Constamment adapter l’ergonomie et le design

Page 38: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

38

La solution : tester en continu…

Page 39: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

39

…et rapprocher les acteurs

Page 40: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

40

L’utilisateur au centre desdéveloppements

Page 41: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

41

Les tests utilisateurs internes

Page 42: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

42

La bêta publique

Page 43: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

43

Conclusion

Page 44: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

44

Aller plus loin : saisir l’opportunité de l’architecture API

Page 45: Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs

45© OCTO 2014

Merci !

Olivier Lament – ING DirectJonathan Meiss - @JohnMeiss

François Petitit - @FrancoisPetitit

Pardon madame...