Lancer l'app
Prérequis
| Outil | Pourquoi |
|---|---|
| Node.js 22 ou plus | Pour installer les dépendances et lancer le serveur Expo |
| L'application Expo Go sur ton téléphone | Pour lancer l'app sans rien compiler (iOS, Android) |
| Le téléphone et l'ordinateur sur le même Wi-Fi | Pour que le téléphone trouve le serveur de développement |
Pas besoin de Xcode, d'Android Studio, ni de lancer l'API en local : l'app utilise directement l'API de production.
Démarrer
cd timemanager-mobile
npm install
npx expo startUn QR code s'affiche dans le terminal :
- iPhone : ouvre l'appareil photo et vise le QR code ;
- Android : ouvre Expo Go et scanne le QR code.
L'app se charge. Chaque fois que tu sauvegardes un fichier, elle se met à jour toute seule.
Pas le même réseau ?
Lance npx expo start --tunnel. Expo crée un tunnel internet, plus lent mais qui marche partout.
Choisir l'API
Par défaut, l'app appelle https://api.time.jostud.com/api. Pour en utiliser une autre (une API locale par exemple), crée un fichier .env.local à partir du modèle :
cp .env.example .env.localEXPO_PUBLIC_API_URL=http://192.168.1.20:4000/apiLes variables qui commencent par EXPO_PUBLIC_ sont lisibles dans le code. .env.local n'est pas versionné. Après un changement, relance npx expo start.
Les commandes utiles
| Commande | Effet |
|---|---|
npx expo start | Lance le serveur de développement |
npx expo start -c | Pareil, en vidant le cache (si quelque chose semble bloqué) |
npx tsc --noEmit | Vérifie les types de tout le projet |
npx expo lint | Vérifie le style du code |
npx expo-doctor | Diagnostique la configuration et les versions |
npx expo install <paquet> | Installe un paquet dans la version compatible avec le SDK |
npx expo install --fix | Corrige les versions incompatibles |
Toujours npx expo install
Pour ajouter une dépendance, n'utilise pas npm install <paquet>. npx expo install choisit la version qui correspond au SDK 57. Une mauvaise version fait planter l'app dans Expo Go.
Dans l'app
Au premier lancement, la présentation s'affiche (trois écrans). Ensuite, connecte-toi avec un compte existant de la production. Le compte détermine les onglets affichés : employé, manager ou general manager.
Problèmes fréquents
| Symptôme | Solution |
|---|---|
| Le téléphone ne trouve pas le serveur | Même Wi-Fi ? Sinon npx expo start --tunnel |
Erreur de type sur router.push('/nouvel-ecran') | Les types des routes sont générés au démarrage. Relance npx expo start une fois. |
| « Asset not found » | Un chemin d'image dans app.json est faux. Les images sont dans assets/images/. |
| L'app reste sur l'écran de lancement | La session ou les polices ne se chargent pas. Regarde les erreurs dans le terminal. |
| Écran rouge après l'ajout d'un paquet | Le paquet contient du code natif absent d'Expo Go. Il faut un « development build » (npx expo run:ios ou eas build). |