app days les règles d’or pour gérer, et éviter, les mises à jour de son app
TRANSCRIPT
![Page 1: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/1.jpg)
AppDays 2013 @marclebel
Les règles d’or pour gérer, et éviter les mises
à jour de son app
![Page 2: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/2.jpg)
Mise à jour non souhaitée
Causes possibles :● Crash ● Contenu incorrect● Comportement soudainement mauvais
sujet de cette conf
![Page 3: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/3.jpg)
Constat : une mise à jour est lente
Temps de validation par plateforme :
iOS : 6 joursWindows Phone : 3 jours
source : http://reviewtimes.shinydevelopment.com/
![Page 4: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/4.jpg)
Plus on supporte de plateformes, plus il est nécessaire d’éviter les imprévus
![Page 5: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/5.jpg)
Un maître mot : anticipation
Qui peut évoluer ?
● Les tierces parties (API, framework,..)● Le législateur● Vous
![Page 6: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/6.jpg)
Règle n°1 : votre API doit définir les règles métiers
![Page 7: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/7.jpg)
Exemple 1 Votre billet
Prix HT : 100 €
TVA : 19.6 €
Total : 119.6 €
PAYER
Au 1er janvier 2014 :TVA à 20%
![Page 8: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/8.jpg)
#define VAT 19.6fCONST VAT = 19.6 static final float vat = 19.6f public const float vat = 19.6f
Serveur iOS Android WP
Ce qu’il ne faut pas faire
Changement TVA = > mettre à jour toutes vos apps
![Page 9: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/9.jpg)
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
![Page 10: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/10.jpg)
Exemple 2 Annuler achat
Raison
Détails...
Anuler
● J’ai trouvé une meilleure conf ailleurs
● Je suis malade● Je pars à l’étranger● Autre raison
Et si vous avez besoin de mettre à jour cette liste ?
![Page 11: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/11.jpg)
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”
] }
![Page 12: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/12.jpg)
Exemple 3 AppDays 2013
Conf indispensable pour les amoureux des apps
Voir Facture
Combien de temps à l’avance un billet est-il annulable ?
Annuler
![Page 13: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/13.jpg)
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,
}
![Page 14: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/14.jpg)
Règle n°2 : votre API comme proxy d’API tierces
![Page 15: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/15.jpg)
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
![Page 16: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/16.jpg)
Exemple : upload de photo sur Amazon S3
1. Photo
4. Data
3. Data (url,..) 2. Photo
Votre Serveur
![Page 17: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/17.jpg)
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
![Page 18: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/18.jpg)
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
![Page 19: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/19.jpg)
Règle n°3 : pouvoir éditer vos textes
via votre serveur
![Page 20: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/20.jpg)
Problème 1 : le conteu CGU
Le présent document a pour objet de définir les modalités et conditions de ce site en 2012...
● Souvent mis à jour● Problèmes juridiques si
non conforme
![Page 21: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/21.jpg)
Pratique pour des pages entières : CGU, About, Jobs, Support,...
=> permet d’être toujours conforme avec votre site web
Solution 1 : utilisez des webviews
![Page 22: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/22.jpg)
Problème 2 : les labelsVotre billet
Pri HT : 100 €
TVA : 19.6 €
Totale : 119.6 €
PAYER
● Fautes d’orthographe possibles
![Page 23: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/23.jpg)
Les labels sont externalisés dans un ficher (.xml, .strings, ) pour chaque locale
Donc mise à jour des labels => mise à jour de son app
Problème 2 : les labels
![Page 24: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/24.jpg)
Charger via votre serveur un fichier diff au lancement de l’application et le stocker dans un hashtable
Solution 2 : surcharge dynamique des locales
L10n(key){ if (exist(dynamic_L10n[key])){
return dynamic_L10n[key]; }else{
return native_L10n[key]; }}
![Page 25: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/25.jpg)
Méthode utilisée notamment par @RudyHuyn, qui a porté Wikipédia, Vine (6sec) et Instagram (6tag) sur WP8 dans plus de 30 locales
Solution 2 : surcharge dynamique des locales
![Page 26: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/26.jpg)
Règle n°4 : Empêchez d’utiliser vos vieilles
versions
![Page 27: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/27.jpg)
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
![Page 28: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/28.jpg)
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
![Page 29: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/29.jpg)
Solution : contrôle sur le serveur
En bonus le client pourra être redirigé sur le store pour effectuer la mise à jour
![Page 30: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/30.jpg)
Bonus : expedited app review iOS (testé et approuvé : app validée en moins de 24h)
![Page 31: App days les règles d’or pour gérer, et éviter, les mises à jour de son app](https://reader033.vdocuments.us/reader033/viewer/2022052900/5560b62fd8b42afe3b8b4a33/html5/thumbnails/31.jpg)
Ouf c’est fini !
Retrouvez-moi et posez vos questions sur :
@marclebel@Food_Reporter@OuiCar