Ceci est une ancienne révision du document !
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)
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
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