Partage de base de données des enfants

30 juin 2016

Nombre de mes applications,
MonCasier A qui le tour Appel ABC-PhotoBook JeValide BeePath Carrés et couleurs Jetuil CM2 Jetuil CM1 Jetuil CE2 Jetuil CE1 DictApp Dictée de mots CM2 Dictée de mots CM1 Dictée de mots CE2 Dictée de mots CE1 Dictée de mots CP Quadrillages ABC-Lettres-cursives
comprennent une gestion de base de données pour les comptes enfants.

Des bases de données non partagées

Si évidemment, j'ai utilisé le même code pour toutes les apps, il faut savoir que les applications sur IOS sont dans une "sandbox", une boite fermée qui n'a d'accès qu'à ses propres données. Les bases de données sont donc séparées, chacune dans le répertoire de l'application qui est accessible depuis le partage de fichiers d'iTunes. J'ai ajouté la possibilité d'échanger les fiches élève d'une app à l'autre (via le bouton partage), mais les données sont dupliquées. Si ce n'est pas parfait, cela fonctionne parfaitement.

Une base de données partagée

Cependant, cette façon de faire n'est pas très pratique. Au début de l'année cela ne peut être que quelques opérations pour copier les bases, mais en cours d'année, lorsqu'un nouvel enfant entre dans la classe et que l'on est en plein travail, c'est très frustrant et j'en suis conscient. Je mets donc en place cet été le partage de base de données. Sur IOS il s'agit de créer une zone commune à toutes mes apps où l'on mettra la base de données et où les données seront communes à toutes les apps. 

Cette façon de faire a beaucoup d'avantages mais quelques invonvénients. Evidemment, cela veut dire que les modifications des fiches enfants dans une app se reflètera dans les autres, il n'y a donc plus besoin de transférer les fiches enfants d'une app à l'autre. Mais cela implique aussi que lorsque l'on fait une sauvegarde (ou une restauration) de la base, on agit sur toutes les apps en même temps. La restauration de la base de JeValide par exemple, restaurera aussi la base de ABC-PhotoBook en perdant les nouvelles photos. J'ai conscience que cela peut prêter à confusion, et il faudra peut-être supprimer la sauvegarde/restauration de JeValide lorsque la base est partagée et mettre en place une application spécifique pour cela, application que je laisse en l'état, pour le moment 

Comprenons bien aussi que la base de données devient unique. La première fois que vous activez une base de données partagée la base "locale" est copiée pour récupérer les enfants, mais la deuxième fois non puisque la base existe déjà. Cela peut faire peur : "j'ai perdu mes enfants !". C'est pour cela que pour le moment la base de données par défaut ne sera pas activée automatiquement, il faudra une action consciente pour l'activer et vous devrez aller dans l'outil de configuration du système d'Apple, ainsi la procédure n'est pas triviale et ne peut pas être faite par inadvertance.

 Enfin, gros avantage, une application pourra accéder aux données d'une autre mais cela peut être aussi génant car vous pouvez supprimer des données d'une app sans être dedans... Mais cela permettra aussi, par exemple, à JeValide d'accéder aux photos de ABC-PhotoBook. A terme nous pourrons avoir de vraies interactions entre les applications, je vous laisse imaginer ce que nous en ferons.

Une base de données réseau

Il y a maintenant un an, lorsque Tilekol m'a interviewé et que nous avons lancé les projets Appel et ABC-QR, je lui parlais déjà de faire un routeur WIFI pour la classe où serait stocké la base de données. Cela permettrait d'avoir une base non seulement pour toutes les applications, mais aussi pour tous les appareils ! Le projet est toujours en cours un an après. Il est plus complexe que je ne l'aurais cru au début, notamment parce que je ne veux pas obliger la classe à avoir un Mac (ce qui serait plus simple). Je veux arriver à faire un routeur WIFI à moins de 100 Euros comprenant la base de données des enfants. J'espère avoir quelque chose de fonctionnel cet été, mais ce ne sera pas prêt à être commercialisé à la rentrée... En attendant, je suis désolé, il n'y a pas de synchronisation de plusieurs appareils pour JeValide (ni pour mes autres apps), nous restons dans le modèle d'un iPad pour la classe (en tout cas pour JeValide) et pas un iPad par élève, mais bon il n'y a pas beaucoup de classes en France qui sont dans ce cas.. 

Conclusion

La rentrée sera donc sous le signe du partage, mais pas en réseau. J'espère que cette nouvelle fonctionnalité vous plaiera et que vous me pardonnerez l'attente de la version réseau. L'ensemble de mes applications utilisant la base de données des enfants sera donc mis à jour dans les deux mois qui viennent. Cela représente une quantité non négligeable de travail, mais je pense que nous allons y arriver en dépit des autres projets en cours. Evidemment, vous comprendrez aisément, qu'avec la quantité de nouveautés pour la rentrée, je ne trouve pas le temps de faire une version Android de JeValide...

 

Emmanuel CROMBEZ