15 août 2017

Synchronisation de base élèves

L'histoire de mes applications commence en 2010, il n'y a pas si longtemps. Mais la réalité est qu'il y a déjà eu de grands changements et la base de données des élèves en est un parfait exemple.

Au départ il y avait une seule application qui avait besoin de cette base, pour savoir les niveaux déjà parcourus. J’ai donc développé la partie logicielle pour créer des fiches enfants avec un nom et une photo.

Quand une deuxième application a manifesté le même besoin, j’ai évidemment dupliqué le code de la première dans la deuxième. Ce faisant j’avais deux applications où il fallait entrer les fiches des enfants.

Lorsque une troisième puis une quatrième application ont utilisé cette base, il est devenu évident qu’il fallait un moyen pour ne pas avoir à retaper les fiches élèves. J’ai donc mis en place un système pour transférer les fiches d’une application à l’autre. Un bouton « export » est apparu sur l’interface de gestion des élèves, mais lorsqu’un élève arrivait en cours d’année, il fallait tout de même l’ajouter à la main dans toutes les applications. Comme j’avais déjà à l’époque une vingtaine d’applications utilisant la base élèves, je suis passé à l’étape suivante.

La base partagée

La base partagée, permet de n’avoir qu’une seule base dans l’iPad ou l’iPhone. Ainsi les modifications effectuées sur une application sont en fait effectuées sur toutes. Cependant il fallait garder une compatibilité avec l’ancienne méthode pour que les utilisateurs ne perdent pas de données. J’ai donc mis en place une option dans l’outil réglages d’Apple pour passer d’un état à l’autre dans mes anciennes applications, les nouvelles étant uniquement en partage de base.

Il n’est pas évident de comprendre qu’il n’y a qu’une seule base de données pour plusieurs applications. Les fausses manipulations peuvent-être dangereuses. Ainsi, faire une mise à zéro de la base de données dans JeValide efface aussi les données de ABC-PhotoBook ! Comment le faire comprendre aux utilisateurs ?

Élèves et Élèves-mini

L’application « Élèves » a été créée pour plus de clarté. Toutes les opérations de sauvegarde ou de mise à zéro de la base se font maintenant dans cette application. En séparant les opérations ayant trait à la gestion de la base de données et les opérations des applications, on simplifie l’utilisation de chacune tout en permettant d’augmenter les fonctionnalité de chaque application.

Ainsi « Élèves » permet aussi de gérer des sauvegardes de toutes les données de toutes les applications, permet d’envoyer un mail ou un SMS à tous les parents, etc.

Au départ je ne voulais ne faire qu’une seule application gratuite « Élèves », et je voulais l’intégrer dans le lot d’applications pour les enseignants. Qu’elle n’y soit pas serait incompréhensible puisque cette application est la pierre angulaire de la gestion des données de toutes les autres applications. Mais Apple refuse de mettre une application gratuite dans un lot d’applications payantes, j’ai donc dû la mettre payante et j’ai créé « Élèves-mini », une version gratuite. J’avais donc deux applications qui étaient totalement identiques, mais une payante et une gratuite ce qui était injuste pour ceux qui la paieraient. J’ai donc ajouté des fonctionnalités à « Élèves » qui ne sont pas dans « Élèves-mini », comme l’impression d’étiquettes, de badges, la pyramide des âges, etc…

J’ai plusieurs iPad dans ma classe

Arrive alors une nouvelle problématique. Certains enseignants ont la chance d’avoir plusieurs appareils dans la classe. C’est souvent leur iPhone et leur iPad, mais c’est parfois plusieurs iPads. Evidemment, ils voudraient utiliser tous leurs appareils en même temps (surtout avec JeValide et ABC-PhotoBook), mais chaque appareil a sa propre base d’élèves. La solution « logique » serait de partager la base sur le réseau local (ce que je proposerai peut-être plus tard), mais cela exige d’avoir un réseau WIFI dans la classe alors qu’une des forces de mes applications est de fonctionner sans WIFI.

Je viens donc de développer une solution de synchronisation des appareils en temps différé. C’est à dire que les enfants peuvent utiliser toutes les tablettes qui gèrent chacune sa propre base, et qu’à la fin de la journée (ou quand il peut) l’enseignant synchronise les appareils qui s’envoient les uns les autres les données qu’ils n’ont pas.

Voici une démonstration de cette nouvelle fonctionnalité :

J’espère que cette possibilité vous permettra de travailler encore plus efficacement avec mes applications.

Merci de votre confiance

Emmanuel CROMBEZ