Site consacré au stage de tronc commun chez Netlogik, Sénégal

Fond Pager About Contact Imprimer

But

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 :

  • Estimations économiques et temporaires difficiles à réaliser (à priori)
  • Projets qui dépassent les budgets alloués et les échéanciers, planning non respecté (à posteriori)
  • Difficultés à définir et/ou communiquer les spécifications
  • Difficultés à contrôler la qualité des systèmes
  • Difficultés à maintenir et/ou à faire évoluer les systèmes
  • Un manque important de ressources humaines par rapport à la demande grandissante de systèmes d'informations.

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 :

  • proposer une méthodologie de développement avec un planning, des procédures, des rêgles et des normes à respecter;
  • être prête à pouvoir gérer plusieurs personnes au sein d'un même projet, quelque soit leur emplacement, et quelque soit leur travail (chef de projet, analyste, développeur, designer);
  • faciliter l'échange d'informations entre les différents membres du groupe;
  • avoir des bases solides afin de réaliser plus rapidement les prochains projets tout en gardant une qualité de développement.
  • pouvoir répondre plus rapidement aux besoins de certains utilisateurs (correction de bugs, modification ou ajout de fonctionnalité);
  • être réalisée à moindre coût;
  • utiliser au mieux les nouvelles technologies de l'information afin de concevoir des projets viables.

Résultats

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.

Méthodologie

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 :

  • une norme de codage,
  • une norme pour la documentation technique,
  • une ossature type pour le développement d'une application,
  • un processus de réalisation construit sur UML et proposant un avancement itératif et incrémental.

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é :

  • aux problèmes rencontrés lors du partage des fichiers, des sources, des documents,
  • aux problèmes concernant la sauvegarde et la manipulation des différentes versions d'une application,
  • à la relecture du code, qui a un impact direct sur le temps consacré à la maintenance de l'application,
  • à la recherche de bugs et à leurs corrections.

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.

Environnement de 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 :

  • faciliter la mise en place et d'appliquer la méthodologie précédemment citée,
  • gérer le projet et son planning,
  • aider dans la réalisation des différents processus de modélisation (modéliser puis générer le squelette du progiciel),
  • avoir un environnement de développement PHP 5,
  • gérer le versionnage de l'application,
  • gérer la base de donnée,
  • permettre le travail à distance.

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.

Finalité

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.

Résumé des tâches

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.