Dans le cadre du projet PHP de l'EOF, Jean-Luc et moi-même avons décidé de recycler un ancien projet, initialement conçu par moi, pour en faire quelque chose d'un peu plus complet. Cela permettra probablement d'en faire profiter certains car excepté pourrir sur mon disque dur, ce projet n'a jamais rien fait d'autre.
Actuellement sommairement bâptisé "WebProj", notre gestionnaire web a pour but de proposer une boîte à outils complète destinée à la gestion de projet informatique.
Les fonctionnalités déjà implémentées sont :
La méthode des points de fonctions pour estimer, entre autres, la taille en KLOC du logiciel à développer.
La méthode COCOMO pour évaluer l'effort, le temps de développement et la taille de l'équipe de développement (les facteurs de coût sont modifiables).
La méthode PERT pour planifier les tâches du projet.
Visualisation des dernières nouveautés Archlinux. J'avoue que cela n'a pas sa place dans l'application mais j'ai implémenté cela à l'époque pour mettre un peu de contenu à la page d'index et surtout pour suivre avec le thème du site ;)
Pour vous simplifier un peu la tâche et ne pas vous embêter à "installer" le site sur votre ordinateur personnel, voici un petit pêle-mêle de captures d'écran. Cela vous donnera un aperçu de l'existant.
L'intégralité du site est développé en PHP et Javascript (pour les calculs). Le PHP objet est utilisé mais uniquement en ce qui concerne la connexion à la base de données. L'application suit une logique trois-tiers mais certaines couches doivent probablement se chevaucher.
Avant de commencer à développer de nouvelles fonctionnalités, il est judicieux de réécrire le coeur de l'application pour permettre une bien meilleure maintenabilité.
Les principales tâches à effectuer sont (liste non-exhaustive) :
Tout migrer en PHP Objet afin d'obtenir un meilleur niveau d'abstraction : objectif zéro code html visible dans les script php (sans dans les classes).
Bien séparer les couches (présentation, métier, données).
Revoir la base de données ?
Supprimer les fichiers qui ne servent à rien (oui il y en a).
Vu la taille du projet, il n'est peut-être pas nécessaire d'utiliser un Framework Php. Un fait maison, quand il est bien fait, peut parfaitement faire l'affaire (pas de phase d'apprentissage).
La version d'origine du projet est disponible ici-même.