SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Les règles d’or pour
gérer, et éviter les mises
à jour de son app

AppDays 2013 @marclebel
Mise à jour non souhaitée
Causes possibles :
● Crash
● Contenu incorrect
● Comportement soudainement mauvais
sujet de cette conf
Constat : une mise à jour est lente
Temps de validation par plateforme :
iOS : 6 jours
Windows Phone : 3 jours
source : http://reviewtimes.
shinydevelopment.com/
Plus on supporte de plateformes,
plus il est nécessaire d’éviter les
imprévus
Un maître mot : anticipation
Qui peut évoluer ?
● Les tierces parties (API, framework,..)
● Le législateur
● Vous
Règle n°1 :
votre API doit définir les règles métiers
Exemple 1
Votre billet
Prix HT : 100 €
TVA :

19.6 €

Total :

119.6 €

PAYER

Au 1er janvier 2014 :
TVA à 20%
Ce qu’il ne faut pas faire
Serveur

CONST VAT = 19.6

iOS

#define VAT 19.6f

Android

static final float vat = 19.6f

WP

public const float vat = 19.6f

Changement TVA = > mettre à jour toutes vos apps
Seule votre API doit connaître la TVA
GET ticket/1234 =>

-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6
}

Changement TVA = > mettre à jour uniquement l’API
Exemple 2
Annuler achat
●

Raison

●
●
●

J’ai trouvé une meilleure
conf ailleurs
Je suis malade
Je pars à l’étranger
Autre raison

Détails...

Anuler

Et si vous avez besoin
de mettre à jour cette
liste ?
Votre API doit retourner les raisons
GET ticket/1234 =>

-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6,
cancelReasons : [
- “Je suis malade”,
- “Je pars à l’étranger”
]
}
Exemple 3
AppDays 2013
Conf indispensable
pour les amoureux
des apps

Voir Facture
Annuler

Combien de temps à
l’avance un billet est-il
annulable ?
L’API doit vous dire si c’est annulable
GET ticket/1234 =>

-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6,
cancelReasons : [
- “Je suis malade”,
- “Je pars à l’étranger”
],
canBeCanceled : 1,
}
Règle n°2 :
votre API comme proxy d’API tierces
Les API tierces c’est super mais...
● Elles évoluent souvent (7 changements pour
Facebook rien qu’en 2013)
● Vous pouvez trouver mieux ailleurs
● Vous pouvez vouloir changer de paramètres à
tout moment
Exemple :
upload de photo sur Amazon S3
1. Photo

Votre
Serveur

4. Data
2. Photo

3. Data (url,..)
Avantages :
● Vous pouvez changer de provider sans mettre
à jour aucune de vos apps
● Si Amazon change son API, uniquement le
serveur à mettre à jour
● Vous pouvez modifier la qualité de la photo en
paramétrant uniquement votre serveur
Limitations
● Certaines API limitent le nombre d’appels API
par jour (Google Maps,...) par IP
● Votre serveur est plus sollicité
● Nécessite que votre serveur réponde vite
Règle n°3 :
pouvoir éditer vos textes
via votre serveur
CGU
Le présent document
a pour objet de
définir les modalités
et conditions de ce
site en 2012...

Problème 1 :
le conteu
●
●

Souvent mis à jour
Problèmes juridiques si
non conforme
Solution 1 : utilisez des webviews
Pratique pour des pages entières : CGU,
About, Jobs, Support,...
=> permet d’être toujours conforme avec votre
site web
Votre billet
Pri HT : 100 €
TVA :
Totale :

19.6 €
119.6 €

PAYER

Problème 2 :
les labels
●

Fautes d’orthographe possibles
Problème 2 : les labels
Les labels sont externalisés dans un ficher (.
xml, .strings, ) pour chaque locale
Donc mise à jour des labels => mise à jour de
son app
Solution 2 : surcharge dynamique
des locales
Charger via votre
serveur un fichier diff
au lancement de l’
application et le
stocker dans un
hashtable

L10n(key){
if (exist(dynamic_L10n[key])){
return dynamic_L10n[key];
}else{
return native_L10n[key];
}
}
Solution 2 : surcharge dynamique
des locales
Méthode utilisée notamment par @RudyHuyn,
qui a porté Wikipédia, Vine (6sec) et Instagram
(6tag) sur WP8 dans plus de 30 locales
Règle n°4 :
Empêchez d’utiliser vos vieilles
versions
Problème
Vos anciennes versions d’app peuvent
effectuer des actions non désirées
Vous pouvez souhaiter que tout le monde ait la
dernière version
Solution : contrôle sur le serveur
Envoyez à chaque requête api dans les header
la plateforme (ios, android,wp8,..) et identifiant
de version
Votre serveur pourra renvoyer un code 403
(forbidden) le cas échéant
Solution : contrôle sur le serveur
En bonus le client pourra être redirigé sur le
store pour effectuer la mise à jour
Bonus : expedited app review iOS
(testé et approuvé : app validée en moins de 24h)
Ouf c’est fini !
Retrouvez-moi et posez vos questions sur :
@marclebel
@Food_Reporter
@OuiCar

Weitere ähnliche Inhalte

Ähnlich wie App days les règles d’or pour gérer, et éviter, les mises à jour de son app

Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90Arnold Stellio
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageLaFrenchMobile
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwthkairi
 
SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)Rui Carvalho
 
Optimiser son application mobile avec les tests A/B
Optimiser son application mobile avec les tests A/BOptimiser son application mobile avec les tests A/B
Optimiser son application mobile avec les tests A/BOptimizely
 
Performance des tiers : combien coûte cet emplacement pub ?
Performance des tiers : combien coûte cet emplacement pub ?Performance des tiers : combien coûte cet emplacement pub ?
Performance des tiers : combien coûte cet emplacement pub ?Jean-Pierre Vincent
 
Cmp, bandeau de cookie consent, cnil & cie measure camp nantes 2018
Cmp, bandeau de cookie consent, cnil & cie   measure camp nantes 2018Cmp, bandeau de cookie consent, cnil & cie   measure camp nantes 2018
Cmp, bandeau de cookie consent, cnil & cie measure camp nantes 2018Prénom Nom de famille
 
Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016
Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016
Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016Prénom Nom de famille
 
Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Arnold Stellio
 
Seo camp'us 2017 utiliser google analytics comme un voyou - aristide riou
Seo camp'us 2017   utiliser google analytics comme un voyou - aristide riouSeo camp'us 2017   utiliser google analytics comme un voyou - aristide riou
Seo camp'us 2017 utiliser google analytics comme un voyou - aristide riouPrénom Nom de famille
 
JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...
JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...
JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...Cedric GAUTIER
 
Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...
Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...
Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...Peak Ace
 
Business planapplication(1)
Business planapplication(1)Business planapplication(1)
Business planapplication(1)Raphaël Liguori
 
Mobile App Trucs Et Astuces Dig
Mobile App Trucs Et Astuces DigMobile App Trucs Et Astuces Dig
Mobile App Trucs Et Astuces DigDidier Girard
 
Le livre blanc pour tout savoir de la webperf
Le livre blanc pour tout savoir de la webperfLe livre blanc pour tout savoir de la webperf
Le livre blanc pour tout savoir de la webperfObject Vingt Trois
 
Un logiciel d’optimisation d’itinéraires...et maintenant
Un logiciel d’optimisation d’itinéraires...et maintenantUn logiciel d’optimisation d’itinéraires...et maintenant
Un logiciel d’optimisation d’itinéraires...et maintenantBjorn Orvar
 
Paris ember js lab #6 - Taking over server-side rendering websites
Paris ember js lab #6 - Taking over server-side rendering websitesParis ember js lab #6 - Taking over server-side rendering websites
Paris ember js lab #6 - Taking over server-side rendering websitesGuillaume Gérard
 
15 astuces pour GTM - MeasureCamp Paris 2017
15 astuces pour GTM - MeasureCamp Paris 201715 astuces pour GTM - MeasureCamp Paris 2017
15 astuces pour GTM - MeasureCamp Paris 2017Prénom Nom de famille
 

Ähnlich wie App days les règles d’or pour gérer, et éviter, les mises à jour de son app (20)

Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90
 
Le prix de la pub
Le prix de la pubLe prix de la pub
Le prix de la pub
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwt
 
SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)
 
Optimiser son application mobile avec les tests A/B
Optimiser son application mobile avec les tests A/BOptimiser son application mobile avec les tests A/B
Optimiser son application mobile avec les tests A/B
 
Performance des tiers : combien coûte cet emplacement pub ?
Performance des tiers : combien coûte cet emplacement pub ?Performance des tiers : combien coûte cet emplacement pub ?
Performance des tiers : combien coûte cet emplacement pub ?
 
Cmp, bandeau de cookie consent, cnil & cie measure camp nantes 2018
Cmp, bandeau de cookie consent, cnil & cie   measure camp nantes 2018Cmp, bandeau de cookie consent, cnil & cie   measure camp nantes 2018
Cmp, bandeau de cookie consent, cnil & cie measure camp nantes 2018
 
Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016
Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016
Arnaques, crimes et analytics - Aristide Riou - Measure Camp Paris 2016
 
Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00Dossier de plan_de_tests_v1.00
Dossier de plan_de_tests_v1.00
 
Seo camp'us 2017 utiliser google analytics comme un voyou - aristide riou
Seo camp'us 2017   utiliser google analytics comme un voyou - aristide riouSeo camp'us 2017   utiliser google analytics comme un voyou - aristide riou
Seo camp'us 2017 utiliser google analytics comme un voyou - aristide riou
 
JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...
JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...
JFTL2015 - Comment tester les performances ressenties par l’utilisateur d’une...
 
Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...
Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...
Les chantiers indispensables à ajouter à votre roadmap 2018 - Philippe Yonnet...
 
Business planapplication(1)
Business planapplication(1)Business planapplication(1)
Business planapplication(1)
 
Mobile App Trucs Et Astuces Dig
Mobile App Trucs Et Astuces DigMobile App Trucs Et Astuces Dig
Mobile App Trucs Et Astuces Dig
 
Push Notification
Push Notification Push Notification
Push Notification
 
Le livre blanc pour tout savoir de la webperf
Le livre blanc pour tout savoir de la webperfLe livre blanc pour tout savoir de la webperf
Le livre blanc pour tout savoir de la webperf
 
Un logiciel d’optimisation d’itinéraires...et maintenant
Un logiciel d’optimisation d’itinéraires...et maintenantUn logiciel d’optimisation d’itinéraires...et maintenant
Un logiciel d’optimisation d’itinéraires...et maintenant
 
Paris ember js lab #6 - Taking over server-side rendering websites
Paris ember js lab #6 - Taking over server-side rendering websitesParis ember js lab #6 - Taking over server-side rendering websites
Paris ember js lab #6 - Taking over server-side rendering websites
 
15 astuces pour GTM - MeasureCamp Paris 2017
15 astuces pour GTM - MeasureCamp Paris 201715 astuces pour GTM - MeasureCamp Paris 2017
15 astuces pour GTM - MeasureCamp Paris 2017
 

App days les règles d’or pour gérer, et éviter, les mises à jour de son app

  • 1. Les règles d’or pour gérer, et éviter les mises à jour de son app AppDays 2013 @marclebel
  • 2. Mise à jour non souhaitée Causes possibles : ● Crash ● Contenu incorrect ● Comportement soudainement mauvais sujet de cette conf
  • 3. Constat : une mise à jour est lente Temps de validation par plateforme : iOS : 6 jours Windows Phone : 3 jours source : http://reviewtimes. shinydevelopment.com/
  • 4. Plus on supporte de plateformes, plus il est nécessaire d’éviter les imprévus
  • 5. Un maître mot : anticipation Qui peut évoluer ? ● Les tierces parties (API, framework,..) ● Le législateur ● Vous
  • 6. Règle n°1 : votre API doit définir les règles métiers
  • 7. Exemple 1 Votre billet Prix HT : 100 € TVA : 19.6 € Total : 119.6 € PAYER Au 1er janvier 2014 : TVA à 20%
  • 8. Ce qu’il ne faut pas faire Serveur CONST VAT = 19.6 iOS #define VAT 19.6f Android static final float vat = 19.6f WP public const float vat = 19.6f Changement TVA = > mettre à jour toutes vos apps
  • 9. Seule votre API doit connaître la TVA GET ticket/1234 => -{ title : “AppDays 2014”, price_ht : 100, vat : 19.6 } Changement TVA = > mettre à jour uniquement l’API
  • 10. Exemple 2 Annuler achat ● Raison ● ● ● J’ai trouvé une meilleure conf ailleurs Je suis malade Je pars à l’étranger Autre raison Détails... Anuler Et si vous avez besoin de mettre à jour cette liste ?
  • 11. Votre API doit retourner les raisons GET ticket/1234 => -{ title : “AppDays 2014”, price_ht : 100, vat : 19.6, cancelReasons : [ - “Je suis malade”, - “Je pars à l’étranger” ] }
  • 12. Exemple 3 AppDays 2013 Conf indispensable pour les amoureux des apps Voir Facture Annuler Combien de temps à l’avance un billet est-il annulable ?
  • 13. L’API doit vous dire si c’est annulable GET ticket/1234 => -{ title : “AppDays 2014”, price_ht : 100, vat : 19.6, cancelReasons : [ - “Je suis malade”, - “Je pars à l’étranger” ], canBeCanceled : 1, }
  • 14. Règle n°2 : votre API comme proxy d’API tierces
  • 15. Les API tierces c’est super mais... ● Elles évoluent souvent (7 changements pour Facebook rien qu’en 2013) ● Vous pouvez trouver mieux ailleurs ● Vous pouvez vouloir changer de paramètres à tout moment
  • 16. Exemple : upload de photo sur Amazon S3 1. Photo Votre Serveur 4. Data 2. Photo 3. Data (url,..)
  • 17. Avantages : ● Vous pouvez changer de provider sans mettre à jour aucune de vos apps ● Si Amazon change son API, uniquement le serveur à mettre à jour ● Vous pouvez modifier la qualité de la photo en paramétrant uniquement votre serveur
  • 18. Limitations ● Certaines API limitent le nombre d’appels API par jour (Google Maps,...) par IP ● Votre serveur est plus sollicité ● Nécessite que votre serveur réponde vite
  • 19. Règle n°3 : pouvoir éditer vos textes via votre serveur
  • 20. CGU Le présent document a pour objet de définir les modalités et conditions de ce site en 2012... Problème 1 : le conteu ● ● Souvent mis à jour Problèmes juridiques si non conforme
  • 21. Solution 1 : utilisez des webviews Pratique pour des pages entières : CGU, About, Jobs, Support,... => permet d’être toujours conforme avec votre site web
  • 22. Votre billet Pri HT : 100 € TVA : Totale : 19.6 € 119.6 € PAYER Problème 2 : les labels ● Fautes d’orthographe possibles
  • 23. Problème 2 : les labels Les labels sont externalisés dans un ficher (. xml, .strings, ) pour chaque locale Donc mise à jour des labels => mise à jour de son app
  • 24. Solution 2 : surcharge dynamique des locales Charger via votre serveur un fichier diff au lancement de l’ application et le stocker dans un hashtable L10n(key){ if (exist(dynamic_L10n[key])){ return dynamic_L10n[key]; }else{ return native_L10n[key]; } }
  • 25. Solution 2 : surcharge dynamique des locales Méthode utilisée notamment par @RudyHuyn, qui a porté Wikipédia, Vine (6sec) et Instagram (6tag) sur WP8 dans plus de 30 locales
  • 26. Règle n°4 : Empêchez d’utiliser vos vieilles versions
  • 27. Problème Vos anciennes versions d’app peuvent effectuer des actions non désirées Vous pouvez souhaiter que tout le monde ait la dernière version
  • 28. Solution : contrôle sur le serveur Envoyez à chaque requête api dans les header la plateforme (ios, android,wp8,..) et identifiant de version Votre serveur pourra renvoyer un code 403 (forbidden) le cas échéant
  • 29. Solution : contrôle sur le serveur En bonus le client pourra être redirigé sur le store pour effectuer la mise à jour
  • 30. Bonus : expedited app review iOS (testé et approuvé : app validée en moins de 24h)
  • 31. Ouf c’est fini ! Retrouvez-moi et posez vos questions sur : @marclebel @Food_Reporter @OuiCar