Ce fichier permet de regrouper les différentes informations sur des décisions actuelles, comme des changements de version ou des choix de technologie, tout cela dans le but de ne pas répéter les mêmes erreurs.
Ces notes pouvant évoluer dans le temps, leur date d'écriture est aussi indiquée.
L'application a été mise à jour de React Native 0.79.6 à 0.84.1 en utilisant le agent skill /upgrade-react-native, avec Mistral Vibe.
L'agent gère automatiquement :
- La détection de la version actuelle
- La validation de la version cible
- L'application des diffs entre versions
- La mise à jour des dépendances natives tierces
- La création d'une checklist post-upgrade
Voir SKILL.md pour plus de détails.
Bloquée en 6.0.0 à cause d'un problème fatal sous IOS. Le packet n'étant plus maintenu, il faudra migrer vers une autre librairie.
Update 02/2026: removed, and removed collapsible header
Bloquée en 4.0.5 à cause d'un problème de performances. Au dessus de cette version, la récupération du token prend plusieurs secondes, ce qui n'est pas acceptable.
Update 02/2026: recent versions appear to be doing better
Flow est un système d'annotation permettant de rendre JavaScript typé statique. Développée par Facebook, cette technologie à initialement été adoptée. En revanche, de nombreux problèmes sont apparus :
- Système très complexe donnant de nombreuses erreurs inconnues, rendant la contribution complexe pour les non-initiés
- Manque de compatibilité avec les librairies existantes (la majorité utilisant TypeScript)
- Utilisation excessive du système lors du développement
- Plantage régulier du service Flow, nécessitant un redémarrage manuel
Ainsi, il a été décidé de migrer le projet vers Typescript.
Expo est une surcouche à react native permettant de simplifier le processus de build. Le projet à commencé en l'utilisant, mais de nombreux problèmes ont été rencontrés :
- Augmentation importante de la taille de l'application
- Augmentation importante du temps de démarrage
- Impossibilité d'utiliser certaines librairies
- Obligation d'utiliser une version de react-native spécifique
- Impossibilité d'utiliser le moteur Hermes sur Android
Pour ces raisons, il a été décidé de l'abandonner pour passer à un développement en react-native pur.
Librairie utilisée pour afficher une carte en utilisant OSM. N'a pas été utilisée car augmente la taille de l'apk de quelques Mo et rend la compilation plus difficile (il est nécessaire d'augmenter la taille du java heap dans gradle.properties).