Architectures des applications et
technologies de développement
- Architecture des applications et
technologies de développement
- Concevoir une application, les
étapes et la mise en œuvre
- Retours d’expérience

Quoi ?
Pourquoi ?

Qui ?
Où ?
Quand ?

Comment ?

A faire
A ne pas faire
Comprendre les
concepts de base
et acquérir du
vocabulaire

Mieux
appréhender le
contexte, les
enjeux, les
contraintes et les
problématiques

Intégrer la
dimension
d’ergonomie et de
design dans le
projet technique

Vous aider à vous poser les bonnes questions

Faciliter la
communication
avec vos équipes
techniques en
parlant le même
langage
• Les nouveaux usages numériques
• Application, site web, client, serveur, cloud :

kezako ?
• Le développement multi-plateforme
• Les langages de développement
Multiplication des devices par utilisateur
Desktop / poste de travail
All In One

Une frontière moins franche entre vie personnelle et vie
professionnelle (BYOD)

Une dimension sociale en croissance
Le form factor / taille et forme
Le contexte d’utilisation

Adapter l’UI et l’ergonomie pour
chaque format
•
•
•

Taille des boutons
Moins d’information à l’écran
Support du touch

Cas d’utilisation différents

Prévoir un mode Off-line

L’OS (système d’exploitation)

Autant d’apps à développer
que d’OS ?
Autant de technologies de
développement à connaitre ?
Device
Serveur

Site Web
Service Web

Données

OS (Operating System)

Application Plateforme
Client

Framework

Cloud

API (Application
Programming Interface)
Device
APIApplication System)
(Application
Cloud
OS DonnéesWeb
(Operating
Framework
Application/site Web
Service
Plateforme
Serveur
Programming Interface)

Interface

API / Interface

Plateforme

Interface
Interface

Interface

Interface
Technologie

Html5/CSS/Javascript

Natif

Outil de Génération
d‘app
Cross-Plateforme

Avantages

- 1 seule code et langage pour tous les
OS/devices

- Accès à toutes les
possibilités techniques
offertes par la plate-forme
- Suit la philosophie du device
(ergonomie)
- Performances
- Les applications les +
reconnues pour leur qualité
sont (en règle générale)
natives

- 1 seul langage : celui que
vous aimez/connaissez
- Rapidité de
dévleloppement

Inconvénien
ts

- 1 seul code pour tous les devices ( il
faudra néanmoins adapter les cas
d‘utilisation par cible)
- Tourne dans un navigateur (ou
contrôle web) : support de tous les
navigateurs et versions de nav.
- Manque d‘accès à tous les sensors et
matériel spécifique de la plateforme
- Performances
- Ont plus mauvaise réputation (plus
dur de faire une app de qualité)

- Décliner autant d‘application
que de type de device/OS
- Nécessite des compétences
différentes pour chaque app
(sous-traitance ?)

- Donne accès à la plupart
des possibilités
techniques offertes par la
plate-forme
- Vous engage avec un outil
tiers (confiance)
- Manque de recul
Quel marché vais-je
viser ? Dois-je cibler
toutes les plateformes ?

Mon application
nécessite-t-elle l’accès à
des fonctionnalités
spécifiques du device ?
(sensors, …)

Quelles sont les
compétences de mes
équipes (si équipe il y a
!)?

Souhaitez-vous soustraiter ou garder la
maitrise du
développement en
interne ?

Lister les cas
d’utilisation selon les
types de device : sontils proches ?

Quelle est la durée de
vie de mon app ?
Est-ce une application
évènementielle ?

Quel est mon budget ?
Le délai ?
Comment je souhaite
monétiser mon app ?

Y aura-t-il d’autres
applications à
développer par la suite
?
•
•
•
•
•
•

PHP
JavaScript/Node.js
C#, VB.net, …/ASP.Net
Ruby (On Rails)
Python
…
/wiki/Accueil_principal.html

Processing server-side code
Wikipedia
Exemple :
Une page web avec 1 bouton

JavaScript

CSS

HTML
Non supporté par les OS mobiles !
OS mobile

Langage

Apple iOS

C, Objective-C

Google Android

Java

Windows Phone

C#, VB.net,, C++

BlackBerry

Java

Windows 8 (Store app)

C#, VB.net,, C++, HTML/JS/CSS
Quel impact sur la
philosophie et la culture
d’entreprise ? – un avis
Merci d’évaluer
La qualité du contenu
Le contenu correspond à mes
attentes
Le niveau technique du contenu me
convient
J’ai appris quelque chose
La durée de la session me convient

*

**

***

Précisez vos attentes

Coding : Kit de survie pour les futurs entrepreneurs (Session 1)

  • 1.
    Architectures des applicationset technologies de développement
  • 2.
    - Architecture desapplications et technologies de développement - Concevoir une application, les étapes et la mise en œuvre - Retours d’expérience Quoi ? Pourquoi ? Qui ? Où ? Quand ? Comment ? A faire A ne pas faire
  • 3.
    Comprendre les concepts debase et acquérir du vocabulaire Mieux appréhender le contexte, les enjeux, les contraintes et les problématiques Intégrer la dimension d’ergonomie et de design dans le projet technique Vous aider à vous poser les bonnes questions Faciliter la communication avec vos équipes techniques en parlant le même langage
  • 4.
    • Les nouveauxusages numériques • Application, site web, client, serveur, cloud : kezako ? • Le développement multi-plateforme • Les langages de développement
  • 6.
    Multiplication des devicespar utilisateur Desktop / poste de travail All In One Une frontière moins franche entre vie personnelle et vie professionnelle (BYOD) Une dimension sociale en croissance
  • 7.
    Le form factor/ taille et forme Le contexte d’utilisation Adapter l’UI et l’ergonomie pour chaque format • • • Taille des boutons Moins d’information à l’écran Support du touch Cas d’utilisation différents Prévoir un mode Off-line L’OS (système d’exploitation) Autant d’apps à développer que d’OS ? Autant de technologies de développement à connaitre ?
  • 9.
    Device Serveur Site Web Service Web Données OS(Operating System) Application Plateforme Client Framework Cloud API (Application Programming Interface)
  • 10.
    Device APIApplication System) (Application Cloud OS DonnéesWeb (Operating Framework Application/siteWeb Service Plateforme Serveur Programming Interface) Interface API / Interface Plateforme Interface
  • 11.
  • 16.
    Technologie Html5/CSS/Javascript Natif Outil de Génération d‘app Cross-Plateforme Avantages -1 seule code et langage pour tous les OS/devices - Accès à toutes les possibilités techniques offertes par la plate-forme - Suit la philosophie du device (ergonomie) - Performances - Les applications les + reconnues pour leur qualité sont (en règle générale) natives - 1 seul langage : celui que vous aimez/connaissez - Rapidité de dévleloppement Inconvénien ts - 1 seul code pour tous les devices ( il faudra néanmoins adapter les cas d‘utilisation par cible) - Tourne dans un navigateur (ou contrôle web) : support de tous les navigateurs et versions de nav. - Manque d‘accès à tous les sensors et matériel spécifique de la plateforme - Performances - Ont plus mauvaise réputation (plus dur de faire une app de qualité) - Décliner autant d‘application que de type de device/OS - Nécessite des compétences différentes pour chaque app (sous-traitance ?) - Donne accès à la plupart des possibilités techniques offertes par la plate-forme - Vous engage avec un outil tiers (confiance) - Manque de recul
  • 17.
    Quel marché vais-je viser? Dois-je cibler toutes les plateformes ? Mon application nécessite-t-elle l’accès à des fonctionnalités spécifiques du device ? (sensors, …) Quelles sont les compétences de mes équipes (si équipe il y a !)? Souhaitez-vous soustraiter ou garder la maitrise du développement en interne ? Lister les cas d’utilisation selon les types de device : sontils proches ? Quelle est la durée de vie de mon app ? Est-ce une application évènementielle ? Quel est mon budget ? Le délai ? Comment je souhaite monétiser mon app ? Y aura-t-il d’autres applications à développer par la suite ?
  • 20.
  • 22.
  • 23.
  • 24.
    Exemple : Une pageweb avec 1 bouton JavaScript CSS HTML
  • 25.
    Non supporté parles OS mobiles !
  • 26.
    OS mobile Langage Apple iOS C,Objective-C Google Android Java Windows Phone C#, VB.net,, C++ BlackBerry Java Windows 8 (Store app) C#, VB.net,, C++, HTML/JS/CSS
  • 28.
    Quel impact surla philosophie et la culture d’entreprise ? – un avis
  • 30.
    Merci d’évaluer La qualitédu contenu Le contenu correspond à mes attentes Le niveau technique du contenu me convient J’ai appris quelque chose La durée de la session me convient * ** *** Précisez vos attentes