Présentation

A écrire…

Voir aussi : Z:\commun\04_projets\PROJ_Glossaire_Equilearning\technique\CR Reunion transmission projet Equilearning.pdf

Développement

Les applications

L'application globale est composé de 3 briques applicatives :

appli (voir dépôt https://cemu_technique@bitbucket.org/cemu_technique/equilearning_client.git)

demo (voir dépôt https://cemu_technique@bitbucket.org/cemu_technique/equilearning_demo.git)

html (voir dépôt https://cemu_technique@bitbucket.org/cemu_technique/equilearning_serveur.git)

Lire les fichiers README.md à la racine de chaque dépôt pour avoir plus de détail sur chacune d'elle.

Le diagramme ci-dessous montre l'imbrication de toutes ces briques.

Données sources

L'application sait lire des mp3s qu'elle va chercher sur le serveur, y-compris quand l'application est utilisée comme application mobile. Par exemple dans : /var/www/html/web/uploads/documents sur le serveur equilearning (lequilearning.unicaen.fr)

Les mots sont stockées dans une base de données MySQL sur le serveur (modifiable grave à l'application de backend du serveur). Cette base de données est répliqué localement dans les mobiles, dans une base WebSQL, au démarrage de l'application.

Réplication base de mots

Au démarrage de l'application mobile, celle-ci interroge le serveur pour récupérer et créer localement les mots.

Côté client :

voir js\controller\startCtrlr.js, qui appelle

voir js\service\webSQLSrv.js, fonction createTables()

voir js\service\startSrv.js, fonction getAllData()

getAllData() lance une requête http qui appelle, côté serveur :

voir src\Gdev\IsaacBundle\Controller\DefaultController.php, fonction initAppAction()

Affichage des mots

Côté client, l'affichage d'une liste de mot se traduit par l'appel de :

js\controller\startCtrlr.js, fonction selectAllData()

Cette fonction met à jour la liste des mots en mémoire ($rootScope.tabWords).

Celle-ci est notamment exploité dans :

js\controller\homeCtrlr.js, fonction goToLetterPromise(),

pour extraire les mots à afficher en page d'accueil ($scope.tabWordsHome)

Cette variable tabWordsHome est utilisée dans la vue html partial\home.html dans un div actuellement comme ci-dessous :

<div class="mot slideLeft" ng-click="playSound(word)" ng-repeat="word in tabWordsHome | filter : searchWord | categFilter: currentCateg">

On y voit que AngularJs itère dessus : ng-repeat=“word in tabWordsHome et utilise word dans les lignes suivantes.

Compilation

Sous Windows

Sous Linux

Sous IOS

Publication sur store

Play Store Android

Se rendre sur la console développeur GooglePlay https://play.google.com/apps/publish?dev_acc=08376188012876755024#AppListPlace (connexion avec le compte cemu@unicaen.fr)

Gérer la fiche GooglePlayStore

Déposer le fichier .apk signé

Compléter tous les éléments et publier en version beta publique.

Vérifier que la version est bien publiée ( environ 12 à 24 h)

tester la version en ligne via tablette et tel. portable https://play.google.com/apps/testing/fr.unicaen.equilearning

En cas de mise à jour de l'exécutable (nouvelle version de fichiers APK), pour mettre en production la nouvelle version, il faut télécharger la nouvelle et supprimer la précédente (voir rubrique Fichiers apk)

App Store IOS

Voir : Publication sur l'App store