ABC-Calendrier

25 août 2016

Cet été a été l’occasion d’un grand changement. Nos applications peuvent maintenant partager leurs bases de données, et ainsi créer un écosystème pour la classe.

Avant

Chaque application sur IOS fonctionne dans son propre espace. C’est prévu ainsi par Apple afin d’éviter qu’une application ne modifie les données d’une autre, et cela fait partie de la stabilité du système IOS.

Chacune de mes applications est donc indépendante, et a ses propres données, et donc sa propre base de données. Le problème avec cette méthode est qu’il faut refaire la base des enfants pour chaque applications. C’est long et fastidieux. C’est pourquoi, dans un premier temps, j’ai permis l’export des fiches élèves et leurs récupération dans une autre application. La procédure est donc beaucoup moins longue, mais reste ennuyeuse, surtout si un élèves arrive en cours d’année puisqu’il faut copier cet élève dans toutes les applications.

De plus, il n’y a pas de moyen aisé de faire communiquer des données d’une application à l’autre. On peut utiliser le copier/coller, mais des informations comme l’enfant concerné par les données ne sont pas facilement transférable (il faudrait créer un nouveau format de fichier pour cela).

Maintenant

Apple a prévu notre besoin de partager une zone mémoire entre deux ou plusieurs applications. Le problème du partage est exactement l’inverse du problème précédent. Comme on partage une base de données entre deux applications, une modification de celle-ci dans une application, modifie aussi l’autre application. Ainsi si vous supprimez un élève, il sera supprimé dans toutes les applications utilisant ce partage. C’est le principe même du partage, et vous devez comprendre ce que cela implique.

J’ai donc mis en place le partage de base de données des élèves cet été. Mais comment gérer les anciennes bases de données ? Que faire si votre base est déjà créée et que vous ne voulez pas y toucher ? J’ai mis en place deux choses :

  1. Si vous lancez une application avec base de données partagée, mais que celle-ci n’existe pas encore, l’application copiera la base de l’application dans l’espace de partage. Ainsi pour des utilisateur d’une seule application, l’opération devrait être transparente. Evidemment, si vous utilisez plusieurs applications, la copie ne sera que sur la première application lancée.
  2. J’ai laissé la possibilité de revenir au mode « sans partage » à partir de l’application « Réglages » d’Apple. Ainsi en cas de problème, vous pouvez retourner à votre base de données d’origine.

JeValide

JeValide est surement mon application la plus complexe et la plus utilisée, elle a été testée tout l’été avec le partage de base de données, et j’ai ajouté la possibilité de récupérer les photos de ABC-PhotoBook directement depuis l’app. Les enfants peuvent donc prendre très simplement des photos avec ABC-PhotoBook, et l’enseignant valider une compétence en récupérant la photo. C’est le premier partage de données entre deux de mes applications. Si vous avez d’autres besoins de partage, n’hésitez pas, de nombreuses choses devraient maintenant être possibles.

Elèves

LOGO Élèves

Ma dernière application est très importante (et gratuite). Comme la base de donnée est maintenant partagée, l’ancienne méthode consistant à copier les élèves d’une application à l’autre a été supprimée (quand le partage est actif), mais copier les élèves est toujours utile entre appareils… J’ai donc créé une nouvelle application pour la gestion de la base de données partagée. Ainsi il n’y a pas de conflit entre les deux méthodes. J’en ai profité pour ajouter des fonctionnalités, l’impression des fiches, l’export en CSV pour récupérer les données dans un tableur ou une base de données maison, et surtout la sauvegarde/restauration de toute la base. Ainsi si vous sauvegardez la base des élèves et la restaurez sur un autre appareil, non seulement toutes les iches de vos élèves seront transférées, mais aussi toutes les photos, statistiques, etc… de toutes les applications utilisant le partage.

Téléchargez tout de suite « Elèves », c’est gratuit et cela vous sera utile.

Après

Le partage de base de données ne fait pas tout… Notamment, il n’y a pas de méthode pour synchroniser deux appareils. Bien que cela puisse sembler simple, puisque iCloud le fait, c’est loin de l’être, car iCloud est prévu pour une seule personne. Que plusieurs personnes utilise le même fichier, la même base entraine des impossibilités de synchronisation:

L’enseignant A supprime l’enfant X.

L’enseignant B ajoute une photo dans ABC-PhotoBook à X.

On synchronise… Que se passe-t-il ? On supprime l’enfant ou on ajoute la photo ?

Il n’y a pas de solution à ce problème. Enfin, si, la solution est de mettre les données en ligne sur un serveur et de tout faire « connecté », mais ce n’est pas ce que nous voulons car il y a peu de maternelles avec le WIFI. De plus, lorsque le serveur plante, ou plus souvent le réseau… plus rien ne fonctionne.

J’exagère, il y a tout de même une demi-solution. On prend toutes les données par ordre chronologique et on les insère dans la base de données lorsque c’est possible. Si ce n’est pas possible, on ne fait rien. Cela veut dire éventuellement perdre des données, mais le risque est faible et raisonnable. Donc je le ferai surement un jour, mais ce ne sera pas pour la rentrée 2016, et cela passera par l’application « Elèves ».

Enfin il reste le problème de plusieurs iPad dans la classe. Là, pour le moment, cela ne fonctionne pas. La demi-solution ci-dessus pourrait résoudre en partie le problème, au prix d’une opération de synchronisation en fin de journée.

Reste la solution du boitier WIFI dans la classe (sans que celui-ci ne soit obligatoirement connecté à Internet), qui permet sans synchronisation de partager la base de données avec tous les postes et toutes les applications. Je suis sur ce projet depuis un bon moment, mais il ne sera pas disponible avant la rentrée 2017.

Emmanuel CROMBEZ