14. Annexes
L'installation d'[Android Studio], de l'émulateur et la préparation d'un téléphone sont décrites au chapitre « Mise en place de l'environnement de travail ». Ces annexes complètent ce chapitre.
14.1. Utiliser Android Studio
- [File / Open] : ouvrir un projet ([exemples_kotlin], [rdvmedecins_kotlin]) ; [Gradle] le « synchronise » (télécharge les bibliothèques) ;
- le bouton [Run] (ou Maj-F10) installe et lance l'application sur l'appareil choisi dans la barre d'outils ; [Debug] (Maj-F9) la lance avec le débogueur (points d'arrêt, variables) ;
- [Apply Changes] remplace le code d'une application en cours d'exécution sans la relancer, quand c'est possible ;
- l'annotation [@Preview] sur une fonction [@Composable] sans paramètre l'affiche dans l'éditeur, sans émulateur ;
- le « Layout Inspector » ([Tools / Layout Inspector]) montre l'arbre des composants de l'écran en cours, et le nombre de recompositions de chacun ; l'« App Inspection » montre les requêtes réseau ([OkHttp]) et les bases de données ;
- Alt-Entrée sur une erreur propose des corrections (ajouter un [import]...) ; Ctrl-Alt-L reformate le fichier ;
- en ligne de commande : [adb devices] (les appareils connectés), [adb reverse tcp:8080 tcp:8080] (le port 8080 de l'appareil relié à celui de l'ordinateur), [adb install fichier.apk] (installer une application), [adb logcat] (le journal du téléphone ; dans [Android Studio], la fenêtre [Logcat]), [emulator -list-avds] puis [emulator -avd Pixel_8] (lancer un émulateur sans [Android Studio]).
14.2. Les copies d'écran de ce document
Les copies d'écran ont été fabriquées automatiquement, par des tests INSTRUMENTÉS : des tests [JUnit] qui s'exécutent SUR l'émulateur, dans le même processus que l'application, et la pilotent par la bibliothèque de test de [Compose] (trouver un composant par son texte, le toucher, y écrire...). Ils sont dans les dossiers [app/src/androidTest] des deux projets : [Captures.kt] (une fonction de test par exemple) et [CapturesCas.kt] (un parcours complet de l'application). Un extrait :
Les scripts [outils/captures_exemples.bat] et [outils/captures_etude_de_cas.bat] lancent l'émulateur si besoin, compilent et installent l'application et ses tests, préparent l'émulateur (langue, barre d'état en « mode démo »), exécutent les tests ([adb shell am instrument]), puis rapatrient les images. Le serveur JSON doit être lancé, avec [CAPTCHA_TEST=test].
14.3. Installation de Node.js
[Node.js] se télécharge sur nodejs.org : on choisit la version LTS (support à long terme). L'installateur [Windows] installe aussi [npm]. Il n'est nécessaire qu'au serveur JSON. On vérifie l'installation dans une console :
14.4. Installation de MySQL avec Laragon
Le serveur JSON a besoin de [MySQL] (ou [MariaDB]). [Laragon] (laragon.org) en installe un sous [Windows], prêt à l'emploi, avec l'outil d'administration [HeidiSQL]. Après installation :
- le bouton « Démarrer tout » lance le serveur [MySQL], sur le port 3306 ;
- l'utilisateur [root] n'a pas de mot de passe : ce sont les valeurs par défaut du fichier [.env.example] du serveur ;
- dans [HeidiSQL] (bouton « Base de données »), le menu Fichier / Exécuter un fichier SQL exécute le script [database/dbrdvmedecins2.sql].
Sous [Linux] ou [macOS], on installe [MySQL] ou [MariaDB] avec le gestionnaire de paquets du système, et l'on exécute le script avec le client en ligne de commande : [mysql -u root -p < database/dbrdvmedecins2.sql].
14.5. Installation de curl
[curl] est livré avec [Windows] 10 et 11, [macOS] et la plupart des distributions [Linux]. On vérifie sa version :
L'option [--json], utilisée dans ce document, existe depuis la version 7.82 (2022). Avec une version plus ancienne, on remplace [--json @fichier] par [-H "Content-Type: application/json" -d @fichier], ou l'on installe une version récente depuis curl.se.
Sous [PowerShell], il faut taper [curl.exe] et non [curl] : dans [PowerShell], [curl] est un alias d'une autre commande ([Invoke-WebRequest]), qui ne comprend pas les options de [curl]. L'invite de commandes ([cmd]) n'a pas ce problème.