Projet spécial : Application Web d'analyse de données pour SerreÉTS
REST API en PHP, la structure de l'API est basée sur ceci.
Application web en Angular.js généré avec Yeoman et utilisant le template Bootstrap SB Admin 2, la structure de l'application est basée sur ceci.
- Installer PHP, PHPMyAdmin et un serveur Apache OU installer une solution tout en un du genre WAMP pour Windows ou MAMP pour Mac.
- Démarrer le serveur Apache et faire un clone du projet dans le répertoire approprié (par exemple /www ou /htdocs).
- Ouvrir PHPMyAdmin et créer une nouvelle base de données "serreets_db".
- Dans "serreets_db", exécuter le code SQL du fichier "sql/insert_data.sql". Cela va créer les tables nécessaires, ajouter les contraintes et remplir avec les données existantes.
- L'API REST permet de faire des requêtes vers la base de données. Par exemple, à cet code(url http://localhost:8888/GTI791/api_dev/controllers/project/getProjectInfo.php?id=1) nous obtenons les informations du projet dont l'ID est 1.
- Installer Node.js
- Ouvrir l'invite de commande et naviguer à travers les dossiers jusqu'à l'emplacement de code(/app)
- Installer le générateur Yeoman
npm install -g yo
- Installer Grunt
npm install -g grunt
- Installer Bower
npm install -g bower
- Installer les dépendances Node nécessaires
npm install
- Installer les dépendances Bower nécessaires
bower install
- Démarrer le serveur web
grunt serve
- Le code présent dans le dossier code(/api_dev) doit être copié sur le serveur applicatif.
- Afin de minifier le code, compresser les images (s'il y a lieu) et rendre l'application web prête pour être mise en ligne il faut exécuter cette commande code à la racine de l'application code(/app).
grunt build
- Une fois les opérations de commpression et de minification terminée, l'application générée se retrouve dans le dossier code(/dist). L'ensemble de ce dossier doit être copié sur le serveur applicatif.
- Terminer l'authentification/la déconnexion (lier l'API REST avec l'application web, gérer les sessions, et détruire les sessions)
- Terminer la modification du profil de l'utilisateur (lier l'API REST avec l'application web)
- Régler le problème de formatage du Array contenant les résultats de recherche côté client (Application web) afin d'être en mesure d'exporter correctement ces résultats en format CSV
- Modifier la fonction générant les requêtes SQL afin de la rendre générale à l'application (plutôt que de la copier/coller dans chaque contrôleur)
- Implémenter toutes les fonctionnalités relatives aux alertes (gestion des alertes, envoie de courriels aux utilisateurs, et affichage dans le sous-menu du menu principal)
- Faire un clean up dans le code, ajouter des commentaires, et restructurer ce qui peut l'être afin d'éviter les répétitions