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 dev
Et de l'autre côté l'application:
cd expo
yarn install # la première fois pour installer les dépendances
Parce 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 prebuild
Normalement, 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 IOS
Le 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 (
.aab
pour Android,.ipa
pour 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 login
pour vous connecter à votre compte Expo
Lancez yarn update-mobile-app-version
pour incrémenter la version de l'application, avec comme options
major
pour incrémenter le numéro de version majeur (exemple: de1.2.3
à2.0.0
)minor
pour incrémenter le numéro de version mineur (exemple: de1.2.3
à1.3.0
)patch
pour incrémenter le numéro de version de correctif (exemple: de1.2.3
à1.2.4
)bump
pour incrémenter le numéro de build de+1
(buildNumber
de125
à126
par exemple)
- Lancez la commande
cd expo && yarn build-local:android-aab
pour générer un fichier .aab signé - Le fichier
.aab
se 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-ipa
pour générer un fichier .ipa signé - Le fichier
.ipa
se trouvera dans le dossier./expo
Lancez les commandes adequats
yarn build-eas:android-aab
pour Androidyarn build-eas:ios
pour IOSyarn build-eas-then-submit:ios
pour soumettre directement sur l'App Store
- Uploadez le fichier
.aab
sur Google Play Console
- Uploadez ce fichier sur App Store Connect grâce à l'application
Transporter
d'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