Ce projet est interne à l'entreprise, et fut effectué en étroite collaboration avec Etienne De Longeaux.
Les problèmes de réduction du coût d'un progiciel s'explique par la difficulté à automatiser l'activité de création de logiciel qui ne peut être confiée qu'à des humains, mais aussi au prix des solutions partielles ou complètes de développement.
Les entreprises (Netlogik-Afrik inclus) vont de plus en plus dépendre de logiciels dans la vie de tous les jours. Il est donc important que ceux-ci répondent bien aux besoins et soient exempts d'erreur. En améliorant les pratiques logicielles, nous allons permettre à Netlogik-Afrik de mieux répondre aux besoins sans pour autant devoir embaucher des ressources plus ou moins compétentes, ou plus ou moins coûteuses.
Cette problématique peut être résumée de la façon suivante :
Nous avons donc décidé, Etienne et moi, de mettre en place une plate-forme de développement pour concevoir en PHP des services web. Cette plate-forme de développement, pour répondre aux besoins précédemment cités, devait :
Cette plate-forme se devait d'être un système permettant de gérer plusieurs projets. Elle devait être capable de prendre en compte les différentes étapes d'un projet : de la capture des besoins jusqu'au déploiement et à la livraison de l'application.
Une normalisation des méthodes et techniques utilisées au sein de cette plate-forme fut tout d'abord nécessaire. Au niveau programmation, il était essentiel d'établir :
Nous pourrons obtenir ainsi une certaine homogénéité dans l'ensemble des projets et dans les échanges d'informations au sein d'un groupe. Il est important aussi de minimiser au mieux le temps consacré :
Il est essentiel que la plate-forme puisse autoriser le travail à distance et sa sécurisation. Netlogik aura la possibilité d'effectuer une sous-traitance ou d'obtenir des partenariats en dehors du Sénégal. En effet, la société rencontre quelques difficultés à trouver des personnes compétentes dans le milieu informatique, et plus particulièrement dans le secteur du développement.
Cette plate-forme devait proposer un environnement fiable et pratique pour le développement d'application PHP, orienté services
web, intranet et extranet.
Une suite de logiciels est indispensable à la construction de cet environnement. Ces logiciels devront être pour la plupart gratuits,
mais de préférences libres. Nous aurons besoin de logiciels permettant de :
Une sécurisation des échanges d'informations sensibles est primordiale pour le travail à distance et pour les applications, ceci pour protéger les informations de Netlogik, ou les informations d'un de ses clients.
Un ensemble de bibliothèques est indispensable pour rendre possible le développement rapide d'une application.
Ces bibliothèques devront fournir suffisamment de briques logicielles pour pouvoir produire une
application aboutie. Ces composants devront être organisés pour être utilisés
en interaction les uns avec les autres.
Cet ensemble sera spécialisé pour développer des applications spécifiques au secteur d'activité d'une entreprise.
Il jouera le rôle d'un cadre dans lequel va s'insérer l'application en développement. Cette infrastructure logicielle
facilitera la conception des applications par l'utilisation de bibliothèques de classes ou de générateurs de codes.
Elle devra couvrir un maximum de services, afin de pouvoir répondre à la majorité des demandes clientes, et rester extensible
afin de la mettre à jour et de la faire évoluer.
Utiliser les dernières technologies en méthode de développement et de gestion de projet devrait permettre une durée de vie allongée
de la plate-forme, mais aussi des progiciels conçus par cette dernière.
La technologie utilisée devrait pouvoir être changée sans tout reconstruire. Elle doit rester ouverte aux nouvelles
technologies et prête aux nouvelles applications qu'engendrent la diffusion et
la propagation des réseaux. En effet, Netlogik voudrait se spécialiser dans l'offre de services par réseaux.
Cette plate-forme offrira un environnement de travail pratique, tout en gardant une qualité de programmation afin d'assurer une modularité et une maintenabilité des progiciels (Programmation Orienté Objet, Boîtes à outils internes, documentation, versionnage), une traçabilité des problèmes et de leur résolution (système de log d'erreur), une communication avec le client (système de réclamations en ligne) et une sécurité accrue des échanges d'informations.
Il s'est déroulé sur toute la durée du stage, et fut testé et validé dans des conditions réelles avec la conception en parallèle du projet Dakar Restauration et ICL.
Il a commencé tout d'abord par le besoin d'une norme de développement au sein de la société et par la recherche des logiciels et outils disponibles pour le développement d'application PHP orienté web, intranet et extranet.
Ensuite, avec une bonne connaissance du langage PHP 5, de ses possibilités et limites, et des besoins du programmeur
lors de la réalisation d'applications de gestion, nous avons mis au point une boîte à outils (basé sur la bibliothèque PEAR)
contenant les éléments
essentiels pour obtenir rapidement des progiciels tout en assurant une certainee qualité.
Le travail à distance a aussi été l'un des points importants du projet.