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 cett...
Constat : une mise à jour est lente
Temps de validation par plateforme :
iOS : 6 jours
Windows Phone : 3 jours
source : ht...
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
...
Seule votre API doit connaître la TVA
GET ticket/1234 =>

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

Changem...
Exemple 2
Annuler achat
●

Raison

●
●
●

J’ai trouvé une meilleure
conf ailleurs
Je suis malade
Je pars à l’étranger
Autr...
Votre API doit retourner les raisons
GET ticket/1234 =>

-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6,
cancelReas...
Exemple 3
AppDays 2013
Conf indispensable
pour les amoureux
des apps

Voir Facture
Annuler

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

-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6,
cancelR...
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 t...
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...
Limitations
● Certaines API limitent le nombre d’appels API
par jour (Google Maps,...) par IP
● Votre serveur est plus sol...
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
...
Solution 1 : utilisez des webviews
Pratique pour des pages entières : CGU,
About, Jobs, Support,...
=> permet d’être toujo...
Votre billet
Pri HT : 100 €
TVA :
Totale :

19.6 €
119.6 €

PAYER

Problème 2 :
les labels
●

Fautes d’orthographe possibl...
Problème 2 : les labels
Les labels sont externalisés dans un ficher (.
xml, .strings, ) pour chaque locale
Donc mise à jou...
Solution 2 : surcharge dynamique
des locales
Charger via votre
serveur un fichier diff
au lancement de l’
application et l...
Solution 2 : surcharge dynamique
des locales
Méthode utilisée notamment par @RudyHuyn,
qui a porté Wikipédia, Vine (6sec) ...
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 a...
Solution : contrôle sur le serveur
Envoyez à chaque requête api dans les header
la plateforme (ios, android,wp8,..) et ide...
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
Prochain SlideShare
Chargement dans…5
×

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

722 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
722
Sur SlideShare
0
Issues des intégrations
0
Intégrations
41
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. Les règles d’or pour gérer, et éviter les mises à jour de son app AppDays 2013 @marclebel
  2. 2. Mise à jour non souhaitée Causes possibles : ● Crash ● Contenu incorrect ● Comportement soudainement mauvais sujet de cette conf
  3. 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. 4. Plus on supporte de plateformes, plus il est nécessaire d’éviter les imprévus
  5. 5. Un maître mot : anticipation Qui peut évoluer ? ● Les tierces parties (API, framework,..) ● Le législateur ● Vous
  6. 6. Règle n°1 : votre API doit définir les règles métiers
  7. 7. Exemple 1 Votre billet Prix HT : 100 € TVA : 19.6 € Total : 119.6 € PAYER Au 1er janvier 2014 : TVA à 20%
  8. 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. 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. 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. 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. 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. 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. 14. Règle n°2 : votre API comme proxy d’API tierces
  15. 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. 16. Exemple : upload de photo sur Amazon S3 1. Photo Votre Serveur 4. Data 2. Photo 3. Data (url,..)
  17. 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. 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. 19. Règle n°3 : pouvoir éditer vos textes via votre serveur
  20. 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. 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. 22. Votre billet Pri HT : 100 € TVA : Totale : 19.6 € 119.6 € PAYER Problème 2 : les labels ● Fautes d’orthographe possibles
  23. 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. 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. 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. 26. Règle n°4 : Empêchez d’utiliser vos vieilles versions
  27. 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. 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. 29. Solution : contrôle sur le serveur En bonus le client pourra être redirigé sur le store pour effectuer la mise à jour
  30. 30. Bonus : expedited app review iOS (testé et approuvé : app validée en moins de 24h)
  31. 31. Ouf c’est fini ! Retrouvez-moi et posez vos questions sur : @marclebel @Food_Reporter @OuiCar

×