Plan de travail

=> LIRE le document HOWTO.txt

Faire une VM1 pour labinvent1.3 (cakephp2+php5) et labinvent2 (cakephp3+php5)

Faire une VM2 pour labinvent2 seulement (cakephp3+php7)

VM1 (php5):

  • Créer une instance labinvent1.3 (via svn): Recupérer et installer le projet actuel depuis svn dans eclipse (labinvent 1.3, cakephp2.1, php5)
  • Créer une instance labinvent2.0 (via git): Récupérer le nouveau projet depuis git dans eclipse (labinvent 2.0, cakephp3, php5)
    • Faire une installation "vierge" avec cakephp3 en partant de la BD labinvent : générer les modèles, controleurs, et vues avec l'outil "bake" (attention, cakephp3 ne doit pas faire partie du projet)
    • Tester qu'on a accès à toutes les tables, que les liens entre les tables (1-N, N-M, 1-1) sont bien gérés, et que les actions de base "CRUD" sont opérationnelles
    • Ajouter l'authentification (mais pas encore les ACL) des utilisateurs (juste la partie "login/logout")
    • Autoriser la connexion en mode "sans LDAP" (LDAP simulé) ou "avec LDAP"
    • Mettre à jour le script installation tout au long du développement (il devra aussi installer cakephp3..., ainsi peut-être que les autres dépendances javascript...) : dès que possible, on doit avoir un script qui facilite l'install
    • Copier et adapter progressivement les fonctionnalités de labinvent1.3, une par une, en commençant par celles concernant le "matériel" (éventuellement sans gérer les ACL)
    • Gérer les ACL (Se renseigner sur la gestion des ACL (droits selon les profils) proposée par cakephp3 (via base de données ou via fichier config))
    • Gérer les fichiers de configuration (Se renseigner sur la gestion des fichiers de config en cakephp3: fichiers php (comme cakephp2) ou texte, ou base de données) ?
    • Ecrire un maximum de tests pour tous les modèles et actions importants
    • Ecrire quelques tests d'IHM permettant de simuler les interactions utilisateurs (login, puis actions)

VM2 (php7):

  • Récupérer le projet labinvent2 et faire en sorte que ça marche en php7 (tout en restant compatible avec php5)
  • Adapter les tests
  • Ajouter la fonctionnalité "joindre un fichier" (+tests)
  • Ajouter la fonctionnalité "joindre une photo" (+tests)
  • Ajouter autres fonctionnalités (+tests)

(Etudier virtphp : http://virtphp.org)