Pour tester l'application ainsi que les évolutions et corrections faites dessus, il est possible d'utiliser un serveur web HTTP en local pour remplacer le serveur de production. Quelques étapes ci-dessous :
- Installer un serveur web HTTP sur une machine
- Récupérer l'adresse IP locale de cette machine, admettons ici w.x.y.z
- Dans le fichier remote-configuration.plist, remplacer la valeur associée à la clé url_base par http://w.x.y.z. Il faudra aussi certainement renseigner le port sur lequel tourne le serveur (par exemple 8888)
- Dans le dossier web pour ce serveur, placer un fichier index.html avec par exemple le code ci-dessous:
<!doctype html>
<html lang="fr">
<head>
<title>Vite Ma Dose (localhost)</title>
</head>
<body>
<h1>Youpi !</h1>
</body>
</html>
- Via un navigateur web, saisir l'URL du site web, ici http://w.x.y.z:8888. Un page avec le texte Youpi ! doit être affichée ; sinon il y a vraisemblablement un problème de configuration de votre serveur web.
- Créer dans le dossier web un sous-dossier nommé vitemadose, au même niveau que le fichier index.html
Admettons maintenant que vous désirez tester avec des données de Caen dans le Calvados (département 14) :
- Aller sur le site web de production
- Ouvrir la console web du navigateur que vous utilisez
- Saisir 14000 et sélectionner 14000 - Caen
- Récupérer (via un onglet supposément nommé Network par exemple) le contenu des fichiers 14.json qui aura les infos des centres de vaccination, ainsi que le fichier creneaux-quotidiens.json. S'assurer de prendre celui du bon département (URL de la forme https://vitemadose.gitlab.io/vitemadose/14/creneaux-quotidiens.json). Récupérer aussi le fichier stats.json et le fichier departements.json (par exemple via l'URL https://vitemadose.gitlab.io/vitemadose/departements.json)
- Dans le sous-dossier vitemadose du dossier web, mettre les fichiers 14.json, stats.json et departements.json
- Dans le sous-dossier vitemadose du dossier web, créér un sous-dossier 14 et y placer le fichier creneaux-quotidiens.json
Maintenant, il ne reste plus qu'à compiler le projet Xcode sur un appareil et lancer l'application. L'appareil doit être sur le même réseau local que la machine ayant le serveur web.
Astuce pour savoir si on affiche les données locales ou non : modifier le contenu des fichiers JSON avec des éléments exotiques comme :
- dans stats.json, pour l'objet tout_departement, remplacer la valeur du champ "disponibles" par des nombres reconnaissables
- dans le fichier 14.json, changer le nom d'un centre de vaccination
Si toutefois, malgré tout ceci, vous pensez récupérer des données depuis le site web de production, il est possible que la configuration à distance (via Firebase) ait pris la main et écrasé la configuration par défaut renseignée dans le fichier remote-config.plist. Auquel cas, y aller plus brutalement en remplaçant la valeur retournée par la propriété calculée baseUrl
dans l'extension de RemoteConfiguration
par l'adresse IP du serveur local, comme :
var baseUrl: String {
//return configuration.configValue(forKey: "url_base").stringValue!
return "http://w.x.y.z:8888"
}
Enfin, la recherche de créneaux Vite Ma Dose se base aussi sur les départements voisins du département concerné. Ainsi, pour le Calvados (14), les données d'autres départements sont récupérées, à savoir : l'Orne (61), la Manche (50) et l'Eure (27). Il faut donc alors faire la récupération des fichiers JSON pour ces 3 autres départements.
La chose étant un peu fastidieuse, vous pouvez vous contenter de prendre les données fournies dans le dossier bouchons et les mettre dans votre dossier de serveur web.