Oz Ensemble est une application développée par des experts formés en addictologie de l'association CaPASSCité avec le soutien de l'Agence Régionale de Santé d'Ile de France et du Ministère de la Santé via la Fabrique Numérique des Ministères Sociaux.
Site web: https://ozensemble.fabrique.social.gouv.fr
L'application est disponible ici: https://apps.apple.com/us/app/oz-ensemble/id1498190343?ls=1
L'application est disponible ici: https://play.google.com/store/apps/details?id=com.addicto
Fichiers privés à ajouter :
./api/.env
./api/.env.local
./expo/.env.local
./expo/.env.production
Veuillez vous référer à la documentation de React Native et Expo pour le setup de l'environnement et l'installation de XCode / Android Studio
Lancez d'un côté l'API:
cd api
yarn install # la première fois pour installer les dépendances
yarn devEt de l'autre côté l'application:
cd expo
yarn install # la première fois pour installer les dépendancesParce qu'on utilise des librairies qui ne sont pas supportées dans Expo Go (comme react-native-mmkv par exemple, mais quelques autres aussi), nous avons besoin d'utiliser des développements builds
yarn prebuildNormalement, cela devrait créer les dossiers /ios et /android, qui sont les projets natifs que nous pouvons ouvrir avec XCode et Android Studio.
Cette commande n'est pas à répéter à chaque fois, seulement la première fois. Mais si vous rencontrez des problèmes de compilation, rien ne vous empêche de supprimer ces dossiers et de relancer la commande.
Ensuite vous pouvez lancer l'application
yarn android # pour Android
yarn ios --simulator="iPhone 15 Pro Max" # pour choisir son émulateur sur IOSLe déploiement d'une app, quel que soit le store (Apple AppStore ou Google Play Store), consiste à
- compiler l'application, pour avoir un fichier binaire (
.aabpour Android,.ipapour IOS) - uploader ce fichier sur le store
- soumettre l'application à la revue du store
- mettre en production une fois la revue passée
Pour les étapes 3 et 4, il faut passer par les stores respectifs, mais pour les étapes 1 et 2, Expo a une CLI qui permet de les faire en une ligne de commande. Pour l'instant, dans ce projet on utilise seulement l'étape 1, et on fait l'étape 2 en CLI pour Apple, et manuellement pour Google.
Deux options possibles
- compiler sur les serveurs d'Expo (gratuit mais non prioritaire et limité, et si un problème de compilation arrive, on doit le faire localement pour avoir des logs)
- compiler en local (setup plus fastidieux concernant les variables d'environnement et XCode/Android Studio, mais gratuit, prioritaire, plus rapide et plus de contrôle en cas de problème, ce qui arrive parfois)
Dans tous les cas, il vous faut au préalable
- un compte Expo
- installer
npm install -g eas-cli - lancer la commande
eas loginpour vous connecter à votre compte Expo
Lancez yarn update-mobile-app-version pour incrémenter la version de l'application, avec comme options
majorpour incrémenter le numéro de version majeur (exemple: de1.2.3à2.0.0)minorpour incrémenter le numéro de version mineur (exemple: de1.2.3à1.3.0)patchpour incrémenter le numéro de version de correctif (exemple: de1.2.3à1.2.4)bumppour incrémenter le numéro de build de+1(buildNumberde125à126par exemple)
- Lancez la commande
cd expo && yarn build-local:android-aabpour générer un fichier .aab signé - Le fichier
.aabse trouvera dans le dossier./expo
Il vous faut au préalable un compte Apple Developer, enregistré dans l'organisation de l'application.
- Lancez la commande
cd expo && yarn build-local:ios-ipapour générer un fichier .ipa signé - Le fichier
.ipase trouvera dans le dossier./expo
Lancez les commandes adequats
yarn build-eas:android-aabpour Androidyarn build-eas:iospour IOSyarn build-eas-then-submit:iospour soumettre directement sur l'App Store
- Uploadez le fichier
.aabsur Google Play Console
- Uploadez ce fichier sur App Store Connect grâce à l'application
Transporterd'Apple, et suivez la procédure décrite par Apple jusqu'à la MEP
Une fois le fichier .ipa construit, lancez la commande eas submit et suivez les consignes
Ou bien, pour aller plus vite dès le départ: yarn build-local-then-submit:ios-ipa