AlternC : Différence entre versions
Ligne 20 : | Ligne 20 : | ||
=Les attentes du projet= | =Les attentes du projet= | ||
− | + | Une reflexion est demandée sur les choix des methodes de l'API: convention de nommage, protocole de communication, sécurité, etc ... | |
− | + | Rédaction d'une documentation technique est fonctionnelle (c'est à dire orienté programmeur et utilisateur (de l'API)) | |
− | + | Intégration à la communauté AlternC (au moins pour la durée du projet) pour échanger sur les différents choix | |
− | + | Prise en considération de la maintenabilité et de l'utilisabilité de l'API : AltenrC est un logiciel libre voué à être utilisé longtemps, et par de nombreuses personnes. | |
− | |||
− | Début de Roadmap après la visite de nos encadrants à l'IRCICA | + | |
+ | =Début de Roadmap après la visite de nos encadrants à l'IRCICA= | ||
Version du 15 mai 2013 à 11:41
Création d'un REST API pour Altern C
Grandes lignes du sujet
Cette API a pour but de découpler le 'Bureau' (panel de gestion d'AlternC) des classes métier. Ses objectifs sont:
- S'interfacer avec les classes métier existantes, de façon à créer une interface unifiée et pérenne
- Abstraire les détails d'implémentation et les particularités de chaque module
- Fournir des primitives de bases pour chaque module (Ajouter / Modifier / Supprimer)
- Être facilement extensible par exemple, permettre de rajouter un module ou un nouveau format de sortie
Cette API à terme sera utilisée par le 'Bureau' afin de dissocier les fonctions métiers de l'interface de gestion. Elle ouvrira la possibilité d'interfacer directement Alternc avec d'autres applications telles qu'une application mobile ou autres outils de gestion ERP. Techniquement:
Les attentes du projet
Une reflexion est demandée sur les choix des methodes de l'API: convention de nommage, protocole de communication, sécurité, etc ... Rédaction d'une documentation technique est fonctionnelle (c'est à dire orienté programmeur et utilisateur (de l'API)) Intégration à la communauté AlternC (au moins pour la durée du projet) pour échanger sur les différents choix Prise en considération de la maintenabilité et de l'utilisabilité de l'API : AltenrC est un logiciel libre voué à être utilisé longtemps, et par de nombreuses personnes.
Début de Roadmap après la visite de nos encadrants à l'IRCICA
06/02/2013:
Installation d'AlternC 3.0 sur leur machine à l'école. Prise en main d'AlternC, plutôt point de vue utilisateur. Listing des fonctionnalité, des "modules" et des actions pour chaque module. Analyser les besoins de l'API => par écrit Regarder la page http://alternc.org/wiki/RestAPI
13/02/2013:
Descendre plus bas dans AlternC pour différencier les modules, le bureau ces choses là. Instancier les besoins de l'API et enrichir l'écrit de la semaine précédente. Regarder le code de domi (http://alternc.org/browser/alternc/branches/dev-restapi) , commencer une ébauche d'API, pour pouvoir commencer à jouer. Nota: c'est une branche dans subversion.
20/02/2013:
Implémenter quelques fonctions d'un module simple, pour valider ce morceau d'API.
27/02/2013:
Commencer à regarder comment ça marche "sur android".
_____________________________________________________________________________
07/02/2013:
Installation d'AlternC Sur la machine de Polytech ( ZABETH15)
Première utilisation d'AlternC;
11/02/2013:
Analyse des principales fonction d'Alternc que nous allons utiliser
Etude du fonctionnement d'un REST API :
=> Une page d'adresse = une action
=> Echange des données en JSON
14/02/2013
Découpage du projet en sous-tâche Attribution des sous-tâches à chaque étudiant Début de codage des pages d'actions
28/02/2013
La programmation des pages PHP est en cours. Elles sont globalement composées d'une variable qui récupere la commande PHP, et qui la teste dans un switch, afin d'effectuer l'action appropriée. Des screens seront à prévoir
14/03/2013
Les pages PHP sont bien avancées, on a accès a pas mal de fonctionnalités.
Le test des pages via CURL est validé.
02/04/2013
Les pages PHP sont globalement terminées. Le codage des pages ANDROID débute.
11/04/2013 Gros soucis au niveau de l'ANDROID. Etant novices dans ce domaine, on a par mégarde touché un fichier généré (celui contenant les ID), conclusion impossible de récupérer un code qui compile sans s'effacer lorsqu'on le "clean" via eclipse. Décision est prise de recommencer les pages ANDROID et de se dispatcher le travail entre le design android et les requettes php/JSON. ________________________________________________________________________________________________________________________
Partie de Samir Boudjema : Dossiers QUOTAS, BDD, MAIL, la page login.php + cURL :
[TUTO] Comment rendre les pages PHP du répertoire /var/www/test lisibles par apache ?
1) Editer le fichier /etc/apache2/conf.d/test.conf et y écrire : alias /test /var/www/test <Directory /var/www/test> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 2) Redémarrer apache : /etc/init.d/apache2 restart
Note : Ce repertoire "test", bien que le nom est mal choisi, est utilisé par l'application client pour lancer les requêtes vers l'API qui se trouve à l'intérieur. Ceci pour passer outre le fait qu'après installation d'Alternc nous avons eu des soucis pour lire nos pages PHP à partir du dossier /var/www.
A noter : Lors de ma programmation j'ai dû ajouter "$user="_".$user à la ligne 761 de la page /bureau/class/m_mysql.php car sinon la fonction DELETE ne fonctionnait pas.
/!\ MODIFICATION EN COURS /!\
Partie de Célia Amégavie : Dossiers WEBSITE, ALTERNC et la validation des pages PHP via cURL :