====== 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. {{:projets_cemu:deploiement_equilearning.png|}} ==== 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 :
On y voit que AngularJs itère dessus : //ng-repeat="word in **tabWordsHome**// et utilise //word// dans les lignes suivantes. ===== Compilation ===== * [[applications:cemu:equilearning:Developpement_sous_Windows|Sous Windows]] * [[applications:cemu:equilearning:Developpement_sous_Linux|Sous Linux]] * [[applications:cemu:equilearning:Developpement_sous_IOS|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 : [[applications:cemu:equilearning:publication_app_store|Publication sur l'App store]]