App générique pour plusieurs clients

SuperCed

Membre expert
Club iGen
20 Juin 2001
1 329
70
45
superced.rb38.eu
Hello,

je cherche à faire un genre d'app générique pour IOS. En gros, plusieurs clients pourraient utiliser cette app, mais le contenu serait différent.
L'idée serait d'avoir une webview dans tous les cas pour gagner du temps en développement et que ça puisse être mutualisé avec Android.


2 solutions pourraient exister :

- une appli générique qui se base sur une variable de contexte, et qui permet de cibler le bon site web à intégrer dans la webview. Cette variable de contexte pourrait être un cookie partagé avec Safari, ou bien simplement un QRCode à scanner juste après le lancement de l'appli. Ca donnerait le contexte, et je pourrais charger le bon contenu en fonction d'un ID ou d'une URL.

- l'autre solution consisterait à publier une app par client, dans ce cas, on aurait un fichier définissant le contexte dans chacun des bundle. Cette solution a une grosse restriction : il faut faire valider chaque app indépendamment, ce qui peut être long si on a 30 clients par exemple...

Existe-il d'autres solutions ? Est-il possible de soumettre automatiquement plusieurs applis où seule une variable de contexte change ? Apple accepte-il ce genre de pratique ?

Pour Android, je pensais utiliser une progressive web app qui permet d'éviter la phase de validation.

Avez vous d'autres pistes ? Est-ce que l'une d'elle est mauvaise ?

Merci !
 
Le plus propre est une application par client.
Car en général, les clients veulent leur propres applications avec leur propre logo, etc, et qu'elles soient en général sous leur propre compte sur l'AppStore. En effet, en tant qu'utilisateur, je préfère télécharger l'application du vrai compte du client qu'une tierce qui ne m'inspire pas forcément confiance, je me vois mal entrer mon numéro de carte bleue dans mon application bancaire si elle est sous le compte de Jean Dupont que celui de ma banque en bref.

Sous XCode, le plus simple est dès lors de créer un projet pour l'application, et de multiples targets, une par client, avec son fichier de configuration, son jeu d'icône/splashscreen, etc.

Et oui, cela veut dire une validation par application.
Si ton application n'est pas pour le grand publique (mais pour une utilisation interne des clients, ils peuvent passer par le compte Entreprise ce qui leur permettra de ne pas passer par la validation et d'avoir « leur propre AppStore privé »).

Attention aux applications WebView, il faut que cela soit une « vraie app », pas juste un site web dans une application (il y a des restrictions d'Apple à ce sujet).
 
J'ai vu qu'on pouvait maintenant faire des "Extensions". Donc le plus gros de l'appli pourrait être dans l'extension, et j'aurais juste une clef dans l'app du client qui intègrera l'extension. L'intérêt, c'est qu'il ne faut pas re-publier pour tous les clients si on fait une modif de code : il suffira de re-publier l'extension. Il existe le même mécanisme sur Android avec les service et les Intent.

L'inconvénient : il faut télécharger l'extension + l'appli, je ne sais pas si c'est possible de faire télécharger l'extension directement depuis l'appli...

En tous cas, sur Android, à priori, il faut télécharger 2 app pour que ça fonctionne...