• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Android openerp nextma
 

Android openerp nextma

on

  • 2,559 views

Conception d’une application Android en Interaction avec Open ERP pour prise de commande à distance

Conception d’une application Android en Interaction avec Open ERP pour prise de commande à distance

Statistics

Views

Total Views
2,559
Views on SlideShare
2,552
Embed Views
7

Actions

Likes
2
Downloads
4
Comments
0

2 Embeds 7

http://www.linkedin.com 4
https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Android openerp nextma Android openerp nextma Document Transcript

    • 2011-2012 Master 2 Miage 452 Bd Mohamed V (proximité place Yassir) CASABLANCA 20500 MEMOIRE DE STAGE Conception d’une application Android en Interaction avec Open ERP pour prise de commande à distance Stage de 5 mois effectué au sein de la Société Nextma par : Nawfal B.A AKADIRI Mémoire soutenu à l’Université le 25 Septembre 2012Encadrant : M. AbdRahman El KAFIL Tuteur : M. Samir BENNANI
    • RemerciementsLouange à Dieu,Je tiens à remercier : - Mes chers parents, Moussibayi AKADIRI et Karimatou BOURAIMA qui m’ont toujours soutenue et encouragée - M EL KAFIL, qui a accepté de me donner la possibilité d’effectuer mon stage dans son entreprise - M KASSI & M ABBAS, pour leurs conseils avisés - M BENNANI, pour son suivi malgré la maladie - M ZURFLUH, pour son souci permanent de maintenir la qualité de la formation Miage - Mme GALZIM, pour tous les efforts fournis au cours de ces années - Tout le corps professoral - Tous les étudiants de ma promotion - Tous ceux qui de près ou de loin ont participé à la rédaction de ce mémoireN.AKADIRI Page 1
    • TABLE DES FIGURESFigure 1 : Diagramme de Gant prévisionnel .................................................................................................... 10Figure 2 : Diagramme de Pert .......................................................................................................................... 11Figure 3 : Diagramme de Gant réel ................................................................................................................. 11Figure 4 : Diagramme de cas dutilisation ....................................................................................................... 13Figure 5 : Diagramme de séquence - connexion au serveur ........................................................................... 14Figure 6 : Diagramme de séquence - commande ............................................................................................ 15Figure 7 : Architecture modulaire - Open ERP................................................................................................. 16Figure 8 : Architecture Android ....................................................................................................................... 18Figure 9 : Ecran de connexion ......................................................................................................................... 20Figure 10 : Ecran Partenaire ............................................................................................................................ 21Figure 11 : Ecran commande de produit ......................................................................................................... 21Figure 12 : Paramétrage .................................................................................................................................. 22Figure 13 : Bon de commande Open ERP ........................................................................................................ 22Figure 14 : Extrait code 1 ................................................................................................................................. 23Figure 15: Extrait code 2 .................................................................................................................................. 24Figure 16 : Jeu dessai - connexion .................................................................................................................. 24Figure 17 : Jeu dessai - prise de commande ................................................................................................... 25Figure 18 : Structure dun module................................................................................................................... 29Figure 19 : Certification ................................................................................................................................... 39Figure 20 : Synthèse Réflexion ........................................................................................................................ 44N.AKADIRI Page 2
    • TABLE DES MATIERESINTRODUCTION .......................................................................................................................................................... 6PARTIE 1 : CONTEXTE .................................................................................................................................................. 7 A- PRESENTATION DE LA SOCIETE ....................................................................................................................................... 7 B- DEFINITION DU SUJET .................................................................................................................................................. 8PARTIE 2 : GESTION DE PROJET ET DEMARCHE D’INGENIERIE ..................................................................................... 9 A- CYCLE DE VIE.............................................................................................................................................................. 9 B- PLANIFICATION......................................................................................................................................................... 10 1- Planification .................................................................................................................................................... 10 2- Analyse des écarts ........................................................................................................................................... 12 C- UML ..................................................................................................................................................................... 12 1- Diagramme de cas d’utilisation ....................................................................................................................... 13 2- Diagramme de séquence ................................................................................................................................. 13PARTIE 3 : ENVIRONNEMENT TECHNIQUE .................................................................................................................16 A- OPEN ERP .............................................................................................................................................................. 16 1- Architecture générale Open ERP ..................................................................................................................... 16 2- Web services (XML-RPC) ...................................................................................................................................... 16 B- POSTGRESQL .......................................................................................................................................................... 17 C- TITANIUM ............................................................................................................................................................... 17 1- Architecture générale ...................................................................................................................................... 17 2- Limites ............................................................................................................................................................. 18 D- ANDROÏD ................................................................................................................................................................ 18 1- Architecture Androïd ....................................................................................................................................... 18 2- Limites ............................................................................................................................................................. 19PARTIE 4 : REALISATION & MISE EN ŒUVRE ..............................................................................................................20 A- INTERFACES ............................................................................................................................................................. 20 B- EXTRAIT DE CODE ...................................................................................................................................................... 23 C- JEU D’ESSAI ............................................................................................................................................................. 24 D- SYNTHESE DES TRAVAUX............................................................................................................................................. 25PARTIE 5 : SUJET DE REFLEXION .................................................................................................................................27 A- CONTEXTE ............................................................................................................................................................... 27 1- Les ERP et le monde de l’entreprise ................................................................................................................. 27 2- La modularité .................................................................................................................................................. 28 3- Intégration....................................................................................................................................................... 30 B- DEMARCHE ACTUELLE DE GESTION DE PROJET ................................................................................................................. 31 1- Qu’attendre d’une gestion de projet ? ............................................................................................................ 31 2- La réalité du terrain ......................................................................................................................................... 32 C- DEMARCHE AMELIOREE DE GESTION DE PROJET............................................................................................................... 33 1- Gestion du changement & Formation ............................................................................................................. 33 2- Planning de travail .......................................................................................................................................... 35 3- Budgétisation .................................................................................................................................................. 36 4- Recherche et développement (R&D) ............................................................................................................... 37 5- Démarche qualité ............................................................................................................................................ 38 6- Cycle de vie préconisé ...................................................................................................................................... 42 D- SYNTHESE ............................................................................................................................................................... 43 1- Que retenir ? .................................................................................................................................................................43N.AKADIRI Page 3
    • 2- Limites de ma réflexion .................................................................................................................................................45PARTIE 6 : BILAN ........................................................................................................................................................47 A- BILAN TECHNIQUE ..................................................................................................................................................... 47 B- BILAN PROFESSIONNEL ............................................................................................................................................... 48 C- BILAN PERSONNEL..................................................................................................................................................... 50CONCLUSION .............................................................................................................................................................52WEBOGRAPHIE ..........................................................................................................................................................53N.AKADIRI Page 4
    • TABLE DES ABEVIATIONSAbréviation DésignationDUT Diplôme Universitaire de TechnologieERP Enterprise Resource PlanningOS Operating SystemPME Petites et Moyennes EntreprisesR&D Recherche et développementSI Système d’informationSSII Société de Services en Ingénierie InformatiqueTPE Très Petites EntreprisesXML Extensible Markup LanguageXML RPC Extensible Markup Language – Remote Procedure CallN.AKADIRI Page 5
    • Introduction Les formations dispensées à l’ESG sont nombreuses et diversifiées. Au nombre de celles-ci, sesituant au confluent de la gestion et de l’informatique, la Miage. Cette dernière est un diplôme àspécificité française qui a pour objectif de former des professionnels aptes à allier les nouvellestechnologies de l’information à la stratégie de l’entreprise. Formation dispensée en une période decinq années, elle inculque les notions de base de l’informatique et de la gestion à ses étudiants. Afin de mettre en valeur les connaissances acquises, deux stages sont requis : un en licenceMiage et un autre – final – qui vient sanctionner les cinq années de formation - en M2 Miage. C’estainsi qu’au cours de ces cinq derniers mois, j’ai eu à mettre en pratique les connaissances qui m’ontété transmises auparavant. Plus encore, j’ai eu à apprendre de nouvelles choses. Tel est en effet l’undes nombreux bénéfices des stages. Ainsi, ce mémoire qui n’a pas une visée technique vient présenter de façon synthétique - en memettant le plus possible dans la logique d’un chef de projet - l’ensemble des travaux accomplis aucours de mon stage. Il est donc articulé en trois sections que sont : - La synthèse des travaux : Cette section qui regroupe l’ensemble des activités de natures diverses – de la gestion de projet au développement - effectuées tout au long du stage. Y sont comprises les parties 1 à 4. - Le sujet de réflexion : Résultat du fruit de mes réflexions – hors travail confié - sur l’entreprise, elle pose les bases d’une gestion de projet adaptée à la problématique récurrente d’intégration des modules ERP. La partie 5 vient donc traiter ce thème. - Le bilan : Il vient faire la synthèse – à travers la partie 6 - de ce que ce stage m’a apporté sur le plan technique, professionnel et personnel.N.AKADIRI Page 6
    • Partie 1 : Contexte A- Présentation de la société Fort de son expérience dans le domaine du logiciel libre, Monsieur AbdRahman El KAFIL selance en 2006, dès son retour de Belgique dans la création d’une Société de Services en LogicielsLibres (SS2L). Sa vision est claire : accompagner les entreprises - en particulier marocaines - dansla gestion de leur système d’information et ce en tirant au maximum profit des solutions open-source. Ceci passe notamment par l’intégration, développement, la formation, maintenance…detelles solutions au sein des entreprises. Ainsi, sa société – Nextma – propose diverses prestations aux entreprises tels que l’intégration deprogiciels de gestions d’entreprise (PGI-ERP) la gestion de la relation client (GRC-CRM), La miseen place de solution de Business Intelligence (BI), de Synergiciels et collecticiels (Groupware), degestion électronique de Document (GED), d’Intranet d’entreprise et de gestions de contenu (CMS). L’ensemble des prestations proposées par Nextma – et tournant autour du libre - peuvent seregrouper en quatre axes majeurs que sont : - La formation : Elle se compose d’un volet technique et fonctionnel qui permetdaccompagner les organisations disposant d’équipes opérationnelles capables de mener à bien desprojets. Ces formations peuvent être établies sous forme de transferts de compétences, en phasesavales des projets. - Le support : Outre les formations dispensées, la société propose aux équipes dédiées audéveloppement des prestations de support d’aide à la maintenance afin de réduire le temps derésolution des interrogations ou des difficultés que les entreprises pourraient rencontrer lors de lamise en œuvre de certains logiciels. - Le conseil : La société assure des missions de conseil dans les domaines suivants : gestionde contenu, travail collaboratif, dématérialisation des procédures, migration vers le libre,architecture et dimensionnement dapplications basées sur Open ERP. - Le développement : Il constitue le cœur de métier de Nextma et comprend le développementsur la base de logiciels libres, de portails collaboratifs internet ou intranet… Par ailleurs, la société peut se targuer d’être le premier partenaire officiel d’Open ERP au Maroc.Elle a ainsi contribué à la promotion de cet ERP en organisant plusieurs conférences dans lesuniversités et PME marocaines.N.AKADIRI Page 7
    • Bien que l’effectif de l’entreprise soit peu consistant, elle bénéficie d’une certaine renommée.Cette dernière étant le fruit de multiples services rendus dans le cadre de ses différentes prestationsaux entreprises marocaines tels que : Gaumar, Lydec, Pomelo Production mais aussi à quelquesfiliales internationales tels que Fiat. B- Définition du sujet Open ERP, ERP Open source, possède un module qui permet aux commerciaux de pouvoir gérerleurs ventes en toute flexibilité. Cependant pour les métiers exigeant un déplacement fréquent ouintensif du commercial, cela s’avère vite pénible d’avoir à utiliser son ordinateur quand bien mêmecelui-ci serait léger. Ce qui se faisait jusque-là s’était que le commercial notait les commandeseffectuées sur papier puis les mettait à jour une fois de retour sur son poste de travail. Il fallait alors penser à un moyen plus adéquat qui permettrait au commercial d’effectuer sesventes, bien qu’en étant à distance de son lieu de travail ; et ce sans encombre. Sans nul doute, lemoyen le plus à même de nous permettre d’atteindre cet objectif a été le développement d’uneapplication mobile. Cette dernière constituera donc une extension à l’ERP. Ainsi, ceci permettra auxcommerciaux d’éviter d’attendre de rentrer au bureau pour saisir toutes les commandes et parailleurs permettra une meilleure efficacité. Il faudra donc développer avec le Framework Titanium, générateur de code multiplateforme, uneapplication mobile qui permettra, dans le cas où la connexion est disponible, aux commerciauxd’effectuer des commandes. Ces dernières seront effectuées depuis leur mobile puis serontsynchronisées avec la base de données distante de l’ERP. En cas de problème de connexion dû enmajorité à l’environnement dans lequel évolue le commercial, les différentes commandes effectuéesseront stockées en local en attendant le rétablissement de la dite connexion. Par ailleurs, despossibilités de pouvoir localiser le lieu de synchronisation des commandes doivent être prévues. Bien entendu l’application à concevoir doit être dans la même lignée que la politique de Nextma.La dite politique comme nous l’avons vu qui est essentiellement basée sur la promotion etl’utilisation des technologies Open-source. D’où leur utilisation à tous les niveaux du processus dedéveloppement. Charité bien ordonnée commence par soi-même…N.AKADIRI Page 8
    • Partie 2 : Gestion de projet et démarche d’ingénierie A- Cycle de vie Choisir un cycle de vie pour son projet n’est pas chose aisée. Le cas du projet se présentant ànous ainsi que le cumul des expériences passées sont, en majeur partie, la base sur laquelle sedécide tout chef de projet dans le choix d’une démarche appropriée. Comme disait l’autre c’est leterrain qui commande. Il faut savoir donc être flexible quitte à changer de démarche de gestion deprojet en plein projet ! Lorsqu’il m’a été confié de réaliser cette application mobile qui puisse permettre des interactionsavec Open ERP, je ne savais pas trop dans quoi je m’embourbais. Je connaissais certes les basesnécessaires pour le développement d’application mobile sous Android - notamment Java. Mais del’autre côté, c’était la première fois que j’étais réellement confronté à travailler avec de l’existantplus particulièrement avec un ERP qui vient avec sa propre architecture, son propreformalisme…Outre le fait que mon travail se basait sur une architecture existante, j’étais aussiconfronté au fait que Nextma attendait des résultats palpables très rapidement – normal c’est uneSSLL. Il m’est donc venu à l’esprit de faire ou plutôt d’utiliser un cycle de vie basé sur les méthodesagiles. Mais qui parle de méthodes agiles suppose une maitrise d’ouvrage disponible entièrement.Or je n’ai pas eu l’occasion de voir tout au long du projet le client final – prévu. Raison pourlaquelle je n’ai pas opté pour une démarche de gestion de projet basée sur de telles méthodes. Mêmesi l’on considère comme maître d’ouvrage mon directeur technique, la mise en place des méthodesprécédemment citées aurait été un échec cuisant en raison de la charge de travail de mon encadrant. Vu mon environnement de travail, j’ai préféré au tout début utiliser un cycle en V. Il faut dired’ailleurs que j’étais parti sur cette base car elle me permettait dès les premières semaines d’éditertout une série de documents afin de rassurer l’entreprise - cahier de charges, plan de test. Maisaprès mûre réflexion, j’ai préféré opter pour une méthode en spirale qui reprend certainescaractéristiques du V mais avec la notion de prise en charge de risque. La méthode en spirale a été défini en 1988 par Barry Boehm dans son article "A Spiral Model ofSoftware Development and Enhancement". Nous savons qu’elle est basée sur un cycle itératif. Ainsion itère sur l’ensemble des phases d’un projet. L’itération de toutes les phases aurait pu semblerlongue à l’entreprise. J’ai donc décidé d’itérer uniquement sur les phases de conception et dedéveloppement afin d’effectuer des validations par prototypage.N.AKADIRI Page 9
    • En résumé, bien que les méthodes agiles m’aient semblé plus appropriées, elle n’aurait pas pumarcher en raison des motifs précités. J’ai donc débuté mon projet sur un cycle en V mais très tôtj’ai compris qu’il y avait assez de risques – notamment dû au Framework utilisé. Alors pourremédier à cela, au niveau de la phase de développement, l’approche a été itératif et incrémental –notamment en adoptant la méthode en spirale. Ce qui m’a permis de me rapprocher au mieux desbesoins des utilisateurs. B- Planification 1- Planification La planification a consisté essentiellement à découper le projet en tâches puis à les hiérarchiser.Après avoir hiérarchisé les différentes tâches, j’ai établi deux diagrammes que sont : - Le diagramme de Gant - Le diagramme de Pert Le diagramme de Gant m’a permis de contrôler l’état d’avancement du projet et le Pert quant àlui m’a permis de gérer au mieux la ressource temps.Planning prévisionnel Figure 1 : Diagramme de Gant prévisionnelN.AKADIRI Page 10
    • Figure 2 : Diagramme de PertPlanning réel Figure 3 : Diagramme de Gant réelN.AKADIRI Page 11
    • 2- Analyse des écarts Entre le prévisionnel et la réalité, il y a souvent des écarts. C’est d’ailleurs pour cela que l’onparle de prévisions. Car personne ne sait de quoi sera fait l’avenir. Il faut avouer tout de même que pour la plupart des projets – que ce soit un projet d’école ou destage – auxquels j’ai participé, j’ai le souvenir d’avoir un tant soit peu réussi à tenir dans les délaisou à accuser un léger retard sur les prévisions. Mais durant ce stage, ce fût tout une autre affaire ! En effet, j’ai accusé un retard global de près de 2 semaines sur l’ensemble du projet. Enorme ! Jele concède. Nonobstant cet aveu, à l’instant où j’écris ces lignes, je ne pense pas que j’aurai pumieux faire. Car les désagréments qui sont survenus sont vraiment uniques en leur genre. Ce sontnotamment : les problèmes au niveau du réseau internet lors de l’accès au serveur ERP del’entreprise et l’indisponibilité récurrente du portable Android. A vrai dire, ce dernier point jel’avais prévu et j’avais pour objectif dans ma feuille de route de livrer le produit à Nextma quandbien même je n’aurais pas pu faire le déploiement. Promesse qui a donc été tenue. C- UML Mon travail principal a été de comprendre les différentes interactions entre les modèles entranten jeu dans ma conception. Notamment les relations entre les modèles Open ERP - sales,partner….Après avoir saisi cela, une modélisation basique a été faite pour la base de données enlocale sur le portable afin de ne récupérer du modèle original que les éléments qui m’ont été utilesdans mon travail. Raison pour laquelle, je ne mentionnerai que le diagramme des cas d’utilisationset quelques diagrammes de séquences car représenter le diagramme de classe sur lequel je me suisbasé (celui de l’ERP) serait trop volumineux et représenter celui qui a été fait en local nereprésenterait aucun intérêt. Notons aussi que représenter tous les diagrammes UML n’est pas une fin en soi mais c’estl’usage qui en est fait des diagrammes mis à notre disposition qui fait toute la différence.N.AKADIRI Page 12
    • 1- Diagramme de cas d’utilisation Figure 4 : Diagramme de cas dutilisation 2- Diagramme de séquenceN.AKADIRI Page 13
    • Figure 5 : Diagramme de séquence - connexion au serveurCommentaires : Le commercial qui souhaite passer une commande doit tout d’abord se connecter. Après avoirsaisi les informations utiles à l’authentification au niveau de son mobile. Ces informations sontalors parsées sous forme XML pour l’envoi via XML RPC au serveur. Après vérification, leserveur renvoi la réponse qui est alors déparsée… Ceci donne alors au commercial la possibilité depouvoir effectuer une transaction – via l’affichage de l’écran d’accueil.N.AKADIRI Page 14
    • Figure 6 : Diagramme de séquence - commandeCommentaires : Avant de passer toute commande, le commercial se doit bien sûr de se connecter. Après s’êtreconnecté, il synchronise les données – clients et produits – présents sur son portable avec ceux duserveur. Une fois la synchronisation effectuée, une série de formulaires – notamment celui du choixdu partenaire et celui où il choisit les produits à vendre – lui sont affichées afin qu’il puisseeffectuer une transaction. Dès qu’il finit, et s’il le souhaite, il peut passer à la synchronisation desventes avec le serveur distant d’Open ERP.N.AKADIRI Page 15
    • Partie 3 : Environnement technique A- Open ERP 1- Architecture générale Open ERP En 2004, Fabien Pickaers s’appuie sur la grande diffusion qu’offre le logiciel libre pour lancerOpen ERP. Ce dernier comme son nom l’indique est un ERP open-source conçu à l’origine par unbelge et qui au fil du temps a pu se faire une place sur le marché grâce à la motivation de lacommunauté qui la supporte. Comme la plupart de ses concurrents, il adopte un système modulairecomme le montre la figure 7. Figure 7 : Architecture modulaire - Open ERP Afin de communiquer avec l’ERP, l’éditeur a mis en place plusieurs protocoles decommunication que sont Net-RPC et XML-RPC. 2- Web services (XML-RPC) L’hétérogénéité des langages de programmation et des systèmes à pousser la communauté, il y ade cela quelques années à développer une technologie à même de permettre une communicationaisée entre eux. Ainsi est donc né XML-RPC. Comme nous pouvons le constater, cette technologiedate de près d’une dizaine d’années.N.AKADIRI Page 16
    • Pour assurer cette communication, il fallait trouver un langage flexible tout en tirant partid’internet qui offrait déjà à l’époque un service d’interconnexion mondial. Le choix fût porté surXML, dont l’interopérabilité a fait ses preuves, couplé au protocole RPC. Ainsi, et ce de façonbrève, le client RPC demande l’exécution d’une méthode distante en prenant le soin de formalisercet appel dans un n fichier XML. La méthode distante traite la requête puis la renvoie au client,toujours sous le format XML, qui se charge de parser ou de formater le résultat XML en donnéesutilisables. Dest technologies un tant soit peu meilleures ont vu le jour - Net-RPC. Mais le manque delibrairie – à ma connaissance – au niveau d’Android m’ont donc motivé à utiliser XML-RPC B- PostgreSQL Système de gestion de base de données relationnelles et objet, PostgreSQL comme la plupart deses concurrents permet d’exécuter des requêtes SQL de base. Aussi, il assure des traitements pluscomplexes tels que les transactions, la réplication, la gestion des droits… Ce système de gestion de base de données, en raison de sécurité, n’autorise que les connexionslocales. Or la technologie XML-RPC précédemment citée n’a toute son utilité que lorsque laconnexion se fait à distance. Pour cela, Il a fallu modifier quelques fichiers de configurationnotamment les fichiers postgres.conf et pg_hba.conf. C- Titanium 1- Architecture générale Titanium est un Framework permettant d’écrire son code une seule fois, et ce en JavaScript, et dele générer pour diverses plateformes mobiles - notamment iPhone et Androïd. En effet, cet outilgénère du code natif à destination des plateformes mobiles supportées. Le programmeur écrit soncode en JavaScript - langage apparemment simple d’utilisation - et le code est généré en Java (pourAndroïd) et Objective-C (pour iPhone). Cela peut paraître plaisant car il permet de se départir des contraintes d’apprentissage d’unnouvel langage. Bien sûr si l’on part du principe que JavaScript est bien plus facile d’apprentissageque les langages précités – Java et Objective-C. Aussi, il permet au programmeur de travailler à unhaut niveau d’abstraction laissant ainsi la tâche au Framework de faire la « sale besogne ». Vu ainsi,cet outil a tout pour séduire. Mais, il y a un « mais» !N.AKADIRI Page 17
    • 2- Limites Lorsqu’on passe à la pratique, la couche supplémentaire du Framework permettant la générationde code rend lourde et lente la phase de développement. Sans compter les fuites de mémoire auniveau du mobile en raison à la quantité importante de données rapatriées du serveur. Tout ceci mis en communion avec le fait de vouloir un prototype fonctionnel dans les meilleursdélais ont fait, qu’en accord avec l’entreprise, nous avions décidé d’utiliser le langage natifd’Androïd à savoir Java pour mener à bien le développement. D- Androïd 1- Architecture Androïd Android est un système d’exploitation basé sur la distribution Linux. Il est destiné à des appareilsmobiles. Pour concevoir des applications sur cet OS, il faut posséder les bases nécessaires en Java.Une imbrication et/ou une superposition de cinq couches, tel que le montre la figure 8, définissel’architecture d’Android. De la couche relative au noyau Linux à la plus haute qu’est la coucheapplication, tous les composants de l’OS s’évertuent à fournir des applications de qualité exploitantau mieux les ressources du mobile. Figure 8 : Architecture AndroidN.AKADIRI Page 18
    • C’est ainsi que : - La couche Linux permet de gérer les traitements de base tels que la gestion de fichiers, la sécurité … - Les couches Librairies ou Bibliothèques & Application Framework sont des couches destinées aux programmeurs. - La couche Android Runtime quant à elle reprend les principales caractéristiques des librairies de base de Java en y ajoutant quelques spécificités telles que : la machine virtuelle Dalvik. 2- Limites La notoriété du célèbre OS n’a pas laissé indifférent les pirates informatiques de tout bord. Cequi s’est traduit dans les faits par une augmentation exponentielle du nombre d’attaquesenregistrées. Pour s’en convaincre, il suffit de citer l’étude de Juniper Networks prenant en compte lestechnologies mobiles les plus en vogue - à l’exclusion d’Apple en raison de la politique très ferméede cette dernière - qui estime que les attaques sur Android entre 2010 et 2011 sont passées de 0,5 %à 46,7% ! De plus, uniquement sur les sept derniers mois de l’année 2011, les logiciels malveillantsciblant cette plateforme ont augmenté de 3325 % ! [w1] L’année 2012 a été marquée aussi par de nombreux soubresauts. Dernier en date, et pas desmoindres, la présentation d’un Framework modulaire – open source - d’exploit permettant à tout unchacun de disposer d’une application Android malveillante faite sur mesure ! [w2] Google prend cependant ces menaces très au sérieux. Notamment avec Bouncer, son système dedétection de comportements malveillants qui malheureusement s’est révélé très vite inefficace. Dequoi s’interroger sur l’adjonction de technologies mobiles, en particulier celles basées sur Android,au système d’information. Une brèche évidente de plus qui n’empêche cependant pas la Nasa demener actuellement des recherches qui à terme permettront d’équiper un nano satellite d’unordinateur de bord Android …[w3]N.AKADIRI Page 19
    • Partie 4 : Réalisation & mise en œuvre A- Interfaces La section suivante présente quelques interfaces de l’application : Figure 9 : Ecran de connexionN.AKADIRI Page 20
    • Figure 10 : Ecran Partenaire Figure 11 : Ecran commande de produitN.AKADIRI Page 21
    • Figure 12 : Paramétrage Figure 13 : Bon de commande Open ERPN.AKADIRI Page 22
    • B- Extrait de code L’utilité des commentaires n’est plus à démontrer. Cependant je ne peux pas dire que j’en ai misà tous les «coins de rue». En effet, j’en ai mis uniquement là où je l’ai jugé utile, comme le montreles figures 14 et 15. Mais cela peut dépendre de chacun. De plus, la nature même du langage estassez explicite : des si, sinon …. Parfois j’ai préféré ne carrément pas en mettre pour éviter de polluer le code qui était déjà assezcomplexe à lire avec l’utilisation de librairies externes. En toute chose le juste milieu ! Figure 14 : Extrait code 1N.AKADIRI Page 23
    • Figure 15: Extrait code 2 C- Jeu d’essai Lors de l’installation d’Open ERP, la possibilité nous est offerte lors de la création d’une base dedonnées de la charger avec des données de test. Il me semble que cette base de données couvre lamajorité si ce n’est la quasi-totalité des cas de figure. Je me suis aussi aidé d’un certain nombre de tests que j’ai établi dans un document remis àl’entreprise afin de m’assurer de la conformité entre le résultat obtenu et les besoins du client. Lesfigures 18 et 19 montrent notamment les jeux d’essai établis respectivement pour la connexion àl’application et la prise de commande. Figure 16 : Jeu dessai - connexionN.AKADIRI Page 24
    • Figure 17 : Jeu dessai - prise de commande D- Synthèse des travaux Ce stage a été une fois de plus l’occasion de me confronter au monde de l’entreprise. Aentreprises différentes, réalités différentes. Quoi de plus normal ! Car chaque entreprise à son vécu.Mais aussi un ensemble de personnes différentes qui gravitent autour d’elle. Le tout a été donc depouvoir s’imprégner du mieux que possible de mon nouvel environnement. Il m’a été confié un projet de conception d’application mobile spécialement sous Android. Ce fûtune expérience nouvelle de concevoir autour d’une plateforme mobile. Le choix de l’outil dedéveloppement – Framework Titanium – qui était, dès le départ, imposé par l’entreprise s’est viterévélé problématique - notamment en raison des performances obtenues. Ce qui a nécessité desuivre la procédure courante de développement des applications Android – utilisation du langageJava. Il en a résulté de tout ce processus, une application qui pourra permettre à tout commercial endéplacement de prendre des commandes sur son mobile et de les synchroniser à distance avec OpenERP. Ce dernier se chargeant ensuite d’établir un bon de commande par client – sous forme dedevis – à valider ultérieurement.N.AKADIRI Page 25
    • Par ailleurs, j’ai voulu comprendre un tant soit peu le principe de fonctionnement des modulesd’Open ERP. Ceci dans le but principal d’acquérir ne serait-ce que des connaissances basiques pourde tel développement afin de mener à bien mon sujet de réflexion. Quoi de mieux que d’endévelopper un module assez simpliste – en comparaison de ce qui se fait d’ordinaire. Chose que j’aifaite en développant un module qui intègre les champs de géolocalisation au niveau du module devente d’Open ERP. La période de test a été la plus pénible. En effet, Android dispose d’un outil permettant d’émulerle fonctionnement de l’OS sur son ordinateur. Seulement entre le virtuel et la réalité, l’écart est telque, la stupéfaction est bien souvent, au rendez-vous. La période de test n’a cessé de s’allonger carle réseau de l’entreprise pour une raison qui, à ce jour, demeure toujours inconnue, ne facilitait pasl’accès au serveur Open ERP quand on y tentait d’y accéder via un portable physique – malgrél’ouverture des ports adéquats. Tantôt ça marchait, tantôt non ! Il a fallu bon nombre d’essai enparticulier sur un réseau externe pour déceler le problème qui était lié non seulement à la connexionmais aussi à la quantité de données importées. Par ailleurs, les modifications de dernières minutes etl’indisponibilité récurrente du portable – car appartenant à une personne souvent en déplacement -n’ont fait que rallonger cette période de test. Quant à la rencontre avec le client – prévu -, elle n’a cessé d’être repoussée aux calendesgrecques pour des raisons multiples. Ce sont notamment la répercussion du retard accusé pour laphase de test mais aussi du fait du programme chargé de l’encadrant. Cependant le développementde l’application étant à présent terminée, elle sera de toute façon livrée au client, que ce soit durantla période de mon stage ou en dehors. Voyons à présent tout un autre aspect de mon stage qui relate l’ensemble des réflexions faites –suite à des discussions et des recherches personnelles - sur le fonctionnement de l’entreprise dansune thématique donnée.N.AKADIRI Page 26
    • Partie 5 : Sujet de réflexionTitre : Nextma développe souvent des modules complémentaires pour Open ERP dans lesentreprises marocaines. On pourrait s’interroger sur la démarche de gestion de projet actuelle pourle développement de tel module et penser à une amélioration de cette démarche pour produire desmodules hautement adaptatifs (en fonction de la configuration d’Open ERP au niveau del’entreprise commanditaire) et facilement évolutifs (avec les versions futures d’Open ERP). A- Contexte 1- Les ERP et le monde de l’entreprise Dans les années 70, du côté des systèmes d’information, l’entreprise faisait en quelque sorte« carrière solo ». Pour être plus explicite, disons que ses différentes cellules aussi bien internes,qu’externes menaient une vie en autarcie du moins en ce qui concerne la gestion de leurs ressources– notamment la ressource information. Que ce soit donc au niveau des échanges qui la liaient auxautres entreprises ou des échanges entre les différents services, on assistait à un cloisonnement del’information. Ceci a entraîné une barrière virtuelle entre les différentes entités en jeu dansl’environnement de l’entreprise. Barrière qui s’est traduite bien évidemment par l’isolement del’information, la redondance et l’incohérence des données, la difficulté de mise à jour de cesinformations. .. Dans les années 80, l’ERP dont les prémisses remontent aux années 1960 devient petit à petit unélément indispensable dans les entreprises qui sont désormais à la recherche d’information dequalité. Et pour cause, les différents processus internes de l’entreprise qui autrefois étaient isoléscommencent à s’unifier et s’imbriquer dans un souci pour les décideurs d’avoir une visionhomogène et globale de leur système d’information. L’avènement d’internet dans les années 90 a donc donné aux ERP une importance plus accrue.En effet internet a permis d’étendre le système d’information de ces entreprises. Cette révolution adonc ajouté à l’unification des processus internes déjà entamée dans les années 80, l’unification desprocessus externes. De plus avec la concurrence sans cesse croissante, l’entreprise a dû ainsi subirde profondes mutations tant sur le plan organisationnel que technique. Au nombre de ces mutationstechnologiques, l’utilisation - plus intensive - des ERP. Ces outils ont fait et font leur preuve car ils permettent d’homogénéiser l’ensemble desinformations de l’entreprise tout en permettant à ses différents acteurs de disposer de l’informationappropriée : que ce soit pour une vision synthétique de l’information pour le décideur ou pour letraitement d’une transaction pour un opérateur. Comme dans la plupart des innovations dans le domaine technologique en particulierN.AKADIRI Page 27
    • informatique, il existe des solutions dites propriétaires et des solutions open-source. La principaledifférence entre ces deux types de solutions se trouvent dans le business-model qui est mis en place.Pour la plupart des solutions dites propriétaires, la licence est vendue puis la maintenance estassurée de facto. Tandis que pour les solutions dites open-source, la licence est gratuite et lamaintenance et/ou les services sont facturées. Nous ne nous attarderons pas sur ces points, tel n’estpas notre sujet. Comme vu brièvement dans la partie 3, quel que soit le type d’ERP pour lequel on opte,l’architecture est souvent la même. Il s’agit d’une architecture modulaire qui permet à l’entreprisede développer des modules spécifiques pour enrichir les fonctionnalités de l’ERP si le besoin s’enfaire sentir. Bien que ce type d’architecture ait fait ses preuves dans bien d’autres domaines, ellepose un problème majeur dans le cas des ERP. En effet, à chaque nouvelle version de l’ERP, lesmodules précédents doivent être adaptés à la nouvelle version mais encore à la configuration del’entreprise cible ! L’entreprise dans laquelle je me trouve est justement spécialisée dans les questions relatives àtout ce qui touche de près ou de loin aux ERP en particulier à Open ERP. C’est à ce titre, qu’elleintervient dans l’intégration d’Open ERP au niveau des entreprises marocaines - PME en particulier. La question que nous nous sommes posé était de savoir s’il n’y aurait pas une démarche degestion de projet adaptée pour produire des modules hautement adaptatifs (en fonction de laconfiguration d’Open ERP au niveau de l’entreprise commanditaire) et facilement évolutifs (avecles versions futures d’Open ERP). Il s’agit bel et bien d’adopter une démarche de gestion de projetpouvant faciliter la compatibilité ascendante des modules. Question insoluble me diriez-vous ?Possible ! Mais peut être que la question n’a jamais été posée ou n’a pas été formulée comme il sedevait. Avant de résoudre notre problème, tel un médecin, commençons tout d’abord à faire undiagnostic plus détaillé. Ce qui reviendrait dans notre cas à mieux expliciter la modularité del’architecture d’Open ERP puis à décrire le processus d’intégration des modules. 2- La modularité Un module Open ERP est une brique logicielle qui permet de personnaliser l’ERP selon sesbesoins. Le module est construit selon une architecture prédéfinie. Cette dernière se composegénéralement de dossiers imbriqués contenant des scripts python et des documents XML (tel que lemontre la figure 18) permettant de définir l’interaction entre les différents objets Open ERP.N.AKADIRI Page 28
    • Figure 18 : Structure dun module L’ERP est composé de plus de 300 modules et est continuellement en évolution. Selon le secteurd’activité de l’entreprise, on peut trouver un ou plusieurs modules qui permettent à l’ERP des’adapter au mieux à ses besoins. On peut donc classer ces modules en fonction des services qu’ilsrendent. Cependant, dans le cadre de mon sujet de réflexion, une telle classification ne représenteraaucun intérêt. Raison pour laquelle l’ensemble de ces modules disponibles au niveau d’Open ERPsera plutôt classé en deux catégories principales :- Les modules de base : regroupe tous les modules indispensables au fonctionnement d’Open ERP.- Les modules spécifiques : ce sont des modules que l’on a ajouté à Open ERP. Ces modules sontdéveloppés soit par l’éditeur ou soit par des tiers. Ainsi, les modules spécifiques sont développés par deux entités que sont l’éditeur et lespartenaires. Nous verrons par la suite que c’est la deuxième catégorie de modules – lorsqu’elle estdéveloppée par les partenaires - qui posent le plus de problème.N.AKADIRI Page 29
    • 3- Intégration Nous avons donc vu qu’un module Open ERP est un élément qui respecte certains critères qui luipermettent de s’intégrer aisément dans Open ERP afin d’apporter une plus-value en terme defonctionnalités. Le développement de tels modules n’est pas si différent de celui qui est d’ordinaire connu endéveloppement informatique. En d’autres termes, nous avons trois phases principales à savoir laphase d’analyse, de conception et d’implantation. De l’analyse effectuée, on en tire les différentsflux d’information de l’entreprise à implanter au niveau de l’ERP sous forme de modules. Après le recueil des besoins du client par l’intégrateur - via la phase d’analyse - vient unbenchmark. Ce dernier sert à répertorier les solutions existantes en termes de modules. Cecipermettra de savoir si l’on doit concevoir un nouveau module de bout en bout ou faire uneextension ou encore une spécialisation d’un composant métier existant. Suite à cette étape debenchmarking - analyse comparative -, l’intégrateur entame la phase de spécification fonctionnellepar un premier découpage fonctionnel en dégageant les dépendances existantes. Par exemple pourune application – un module - de gestion complète de stock, il pourra tout d’abord s’intéresser à lagestion de produits qui est une fonctionnalité en créant un premier module. Puis passer à la gestiondu flux comptable – qui est associé à la gestion du stock – qu’il intégrera dans un autre module. Après le découpage susmentionné, l’intégrateur peut maintenir établir pour chaque découpage,une conception ordonnée avec un périmètre fonctionnel défini. Ceci s’avère utile pour assurerl’engrenage des composants. Analyse comparative assurée puis découpages effectués, l’intégrateur débute la conception desmaquettes pour chaque module dégagé. Maquettes qui seront validées par le client. Pour le reste, ils’agit d’établir les diagrammes UML dont on a besoin puis de penser à la liste de rapports àconcevoir. En somme, l’intégrateur recueille donc les besoins de l’entreprise puis les modélise le tout enutilisant différents modèles. Le plus coutant est UML car les relations entre les différents modulessont souvent à préciser mais plus encore du fait que l’ensemble de l’architecture Open ERP estbasée sur des objets. A tout ceci, un diagramme de processus peut être établi afin d’avoir une visionplus claire et synthétique des différents flux présents au niveau de l’activité analysée dansl’entreprise.N.AKADIRI Page 30
    • Lorsque l’on fait un tour sur le net, moult documentation font l’apologie d’Open ERP en vantantsa flexibilité car permettant la « construction de bâtiment sur mesure »…Ces écrits peuvent t’ils êtrequalifiés d’écrits partisans ou les mérites tant vantées le sont-ils véritablement ? Comme évoqué plus haut, Open ERP est modulable de bout en bout. Le principe de modularitédes fonctionnalités de l’ERP, qu’elles soient minimes ou complexes, est un atout indéniable quiaccroît son potentiel. Là où le bât blesse, c’est lorsque l’entreprise doit migrer de version de l’ERP entraînant quelquesfois, si ce n’est la quasi-totalité du temps, une obsolescence du module qui autrefois faisait la joiedes utilisateurs. Ainsi, la modularité d’Open ERP tant vantée par certains est à l’origine d’un autrepuzzle - pas celui de l’enrichissement du logiciel - mais plutôt celui de garantir une cohésionpérenne des modules. Cette modularité ne présenterait donc pas que des avantages. En d’autrestermes, les modules c’est bien, mais ça ne résout pas tous les problèmes ! Des lignes qui précèdent, on comprend aisément que quel que soit l’entreprise, qu’elle se nommeNextma ou autre, la problématique reste la même ! Comment véritablement améliorer l’intégrationde ces modules ? Ma démarche consiste donc à penser à une amélioration de cette intégration, précisément auniveau des modules développés par Nextma. Pour ce faire, je me propose de travailler, non pas surle côté technique - python & compagnie - mais plutôt sur le côté gestion de projet. En effet, il estconnu que pour réussir la phase de maintenance d’un produit informatique, il faut faire une bonneanalyse mais surtout bien gérer son projet. Ce qui m’amène à penser que l’adoption d’une bonnedémarche de gestion de projet dans la création de modules est un gage de production de modulesplus facilement maintenables, hautement adaptatifs et évolutifs. Mais avant tout, existe t’il actuellement au niveau de Nextma, une démarche de gestion de projetqui permette le développement de tels modules ? Comment faudrait-il améliorer cette démarche, sidémarche il y a, ou quelle démarche de gestion de projet adoptée pour résoudre notre problèmed’intégration ? B- Démarche actuelle de gestion de projet 1- Qu’attendre d’une gestion de projet ? Un projet peut être défini comme une série d’actions orchestrées dans le temps, en fonction desressources disponibles, afin d’atteindre un objectif prédéfini. Objectif qui ne saurait être atteindrequ’en gérant le projet.N.AKADIRI Page 31
    • Gérer un projet équivaudrait donc à mener des troupes au combat. Bien entendu, l’on ne va pasau combat sans mission et sans stratégie. De même dans un projet, la (les) mission(s) doivent êtreclairement définie(s), les moyens pour y parvenir doivent être répertoriés et une démarche doit êtremise en place .Les démarches existantes pour mener à bien une gestion de projet sont asseznombreuses. Elles ont pour point commun d’optimiser les ressources disponibles afin de converger,autant que peut se faire, vers le but voulu. Pour mener à bien cette orchestration, il s’agit de façon générale d’initialiser le projet, de leplanifier, de le mettre en œuvre, de le contrôler puis de le clôturer. Ainsi, il en découle les grandesétapes suivantes : - Initialisation du projet - Planification du projet : Etablissement d’un plan de travail - Mise en œuvre du projet : Il s’agit ici, de gérer les différentes ressources entrant en jeu dans le cadre du projet afin d’atteindre ses objectifs. - Contrôle du projet : A ce niveau, on effectue des suivis par rapport à la planification et à la coordination des ressources afin de détecter les éventuels écarts et d’y remédier le plus tôt possible. - Clôture du projet : Finalisation du projet et bilan global afin d’en tirer des leçons et d’améliorer la qualité des projets futurs. 2- La réalité du terrain Tout d’abord, mentionnons un point important qui sans lequel, la description actuelle de lagestion de projet - pour le développement de modules - faite par Nextma risque d’être criblée decritiques. Or, mon travail de réflexion ne vise pas un tel but. Jusqu’à tout récemment, Nextma développait un partenariat avec une société de la place. Maisce contrat, pour des raisons qui me sont inconnues a été rompu. Raison pour laquelle Nextma sereconstitue une équipe. Elle mise donc sur l’apport des stages pour rénover son personnel. C’estdonc dans un tel climat de restructuration que j’ai débuté mon stage, ce qui fait que ma descriptionde la gestion de projet - pour le développement de modules - qui est pratiquée au niveau del’entreprise ne peut être qu’incomplète voire biaisée. En raison des points susmentionnés, il m’est donc impossible de décrire objectivement la gestionde projet pratiquée dans le cadre du développement de modules par Nextma. Cependant, j’ai puconstater au cours de ces cinq mois, quelques entaches notamment au niveau de l’initialisation duN.AKADIRI Page 32
    • projet où les besoins ne sont pas forcément bien définis dès le départ ce qui par la suite, bienévidemment, créé tout un imbroglio ou des projets à rallonge. N’allez surtout pas croire que Nextma peine à rattraper le train de la concurrence - du moins demon point de vue - car cela à l’air d’être chose courante dans le domaine. Selon Journal du Net quipubliait, en s’appuyant sur une enquête en ligne réalisée entre février 2006 et mai 2012 auprès de2000 répondants (dans 61 pays) qui ont mis en place lERP Oracle, Microsoft Dynamics ou SAP, undossier datant 23/07/2012 sur les projets ERP en général, le constat est alarmant : « En tout cas, en2010, les entreprises interrogées par Panorama Consulting étaient 35,5% à affirmer dépasser letemps de déploiement prévu initialement. Elles sont plus de 60% dans ce cas en 2012. » [w4] Est-ce une raison pour ne pas aller de l’avant et s’améliorer ? Bien sûr que non ! C- Démarche améliorée de gestion de projet Après avoir donné un aperçu, qui je l’avoue est assez bref, de la démarche actuelle de gestion deprojet adoptée au niveau de l’entreprise, voyons à présent en quoi pourrait consister une démarchede gestion de projet efficace à même de résoudre ma problématique. Il est un fait que les risques sont inhérents à tout projet, le développement de modules n’en faitpas exception, bien au contraire. Il ne serait pas faux de dire que gérer ce genre de projet, commetout autre projet, revient à limiter au maximum les risques. On s’évertuera donc dans la suite de cetexposé, autant que faire se peut à limiter les risques liés à l’intégration de modules Open ERP dansl’entreprise. 1- Gestion du changement & Formation Toute nouveauté, tout changement, au sein d’un groupe d’individus génère frustrations,réticences. Ces sentiments générés sont le propre de l’homme qui préfère « ménager sa zone deconfort ». Pour cela il développe une série de mécanismes psychologiques et/ou physiques qui luipermettent de faire écran avec ce qu’il juge intrusif. Dans de telles situations, il ne sert à rien d’imposer manu-militari le changement. Bien aucontraire, il faut ménager les individus en gérant au mieux ce changement. Gérer le changementreviendrait donc, de façon globale, à les convaincre que la nouveauté voulue cadre bien avec leurzone de confort. Cet exercice s’avère assez complexe car les individus d’un groupe ont des natureset ambitions diverses. L’installation de nouveaux modules au sein d’une entreprise est dans ce sens perçu par lesutilisateurs comme un changement. Il convient donc d’intégrer dans sa gestion du projet - de façonN.AKADIRI Page 33
    • parallèle - une politique de gestion du changement. Le développement de tels modules, bien souventcomplexes, se révèle être une tâche astreignante. Quoi donc de plus frustrant que d’avoir desutilisateurs «capricieux» en face. Ce fait mentionné a été vécu par un membre de mon équipe où lors de la phase de recette, tousles utilisateurs avaient adopté bon gré, mal gré le nouveau module à l’exception d’un seul qui pourun rien faisait retarder la phase réelle d’exploitation du module. Lorsqu’on prend un tout petit peu de recul, on n’en vient à se dire que la faute ne revient passeulement à l’employé car elle est partagée. Il a dû développer des réticences du fait que le projetn’ait pas été suffisamment, si l’on peut dire « marketé » comme il se devait auprès des employés.En d’autres termes, il n’y a pas eu de gestion de changement qui suive. Pour être plus précis, disonsplutôt qu’il n’y a pas eu de gestion de changement en parallèle ; car si elle vient après le projet, ilest déjà trop tard ! Structurer sa politique de gestion de changement s’avère donc utile. Mais nous sommes en droitde nous poser la question légitime de savoir si une bonne de gestion de changement peut réellementaider dans la résolution de notre thématique. Nous répondons, oui, du moins, elle résout une partiedu problème, notamment la facilité d’adaptation des modules dans les entreprises, mais pasl’évolutivité des modules suite aux évolutions dictées par les versions nouvelles de l’ERP. Cetaspect sera traité plus bas. Notons que cette gestion de changement peut être aussi pris en charge par l’entreprise elle-mêmemais nous nous mettons ici dans l’optique qu’elle est confiée à l’équipe en charge de gérer le projet. Côté formation, le chef de projet devra prendre aussi le soin de mobiliser le personnel nécessairepour leur donner une formation adéquate. La formation dont nous parlons comprend deux volets : - La formation en interne (au projet) - La formation des utilisateurs La formation en interne regroupe toutes les formations que le chef de projet jugera nécessaire defournir à son équipe pour améliorer la qualité de leur développement. Quant à la formation des utilisateurs elle s’avère d’autant plus utile car il ne sert à rien dedépenser de ses ressources à former son équipe et à certifier son module si en amont on ne pensepas à la formation de ceux pour qui le module est destiné.N.AKADIRI Page 34
    • Il convient donc d’intégrer l’axe formation à la politique de gestion de changement. Plusparticulièrement le deuxième volet de la formation à savoir la formation des utilisateurs. Ainsi, laformation des utilisateurs et la gestion de changement interviendrait dans la résolution del’adaptabilité des modules en fonction de l’entreprise commanditaire. Tandis que la formation eninterne - notamment sur les règles de certification – permettra quant à elle d’assurer l’évolutivitédes modules. Nous parlerons plus bas de la certification au niveau de la démarche qualité. 2- Planning de travail Dans cette section, nous nous efforcerons de dénombrer les étapes courantes, telles que perçuesdurant mon stage, d’une planification de modules tout en mettant l’accent sur les endroits que l’onjuge important de réussir si l’on souhaite produire des modules plus évolutifs et/ou adaptatifs. - Formations fonctionnelles : Vu qu’Open ERP est une grande forteresse, il est prétentieux depenser la maitriser de bout en bout. Raison pour laquelle, l’équipe qui intervient sur le projet aparfois besoin de mieux comprendre le fonctionnement de certains aspects de l’ERP. Il faut doncprévoir ce fait au début en évaluant les compétences fonctionnelles de son équipe dans le domained’action du projet. - Analyse de lexistant : Développer un module, n’est pas une tâche en aparté. Elle fait partieintégrante d’une logique globale. On peut la comparer à la construction d’une brique dansl’édification d’un immeuble. En effet, la brique ne saurait être construite à la volée. Une étudepréalable s’avère donc nécessaire pour déterminer le type de brique, son contour, l’agencement avecla structure de l’immeuble… Il en est de même pour l’analyse qui précède le développement d’un module. Comme toutephase d’analyse, elle permettra de capturer les besoins des utilisateurs mais plus encore de s’assurerde la faisabilité de ceux-ci car ici, on est limité à l’architecture de l’ERP. Aussi, dans cette phased’analyse, il faudra répertorier et décortiquer les différentes interactions - workflow – et lesdépendances existantes entre les modules déjà présents et ceux qui seront utiles au nouveau moduleà concevoir. - Développement : C’est à ce niveau qu’on « converti » l’analyse précédemment effectuée enlignes de code. On s’appuie donc sur un langage. Mais pas n’importe lequel ! Celui sur lequel estbasé Open ERP à savoir python mais aussi sur un langage de balisage - précisément XML - quiapporte une certaine souplesse au développement des modules. - Migration des données : Cette phase peut s’avérer utile dans certains cas. - Tests : Pas si différente des phases de tests connues du développement informatique. Cettephase permet de s’assurer de l’adéquation des besoins des clients avec le module final.N.AKADIRI Page 35
    • - Capture des remarques et maintenance : Les remarques du client se prennent en majorité –du moins selon ce que j’ai vu durant mon stage – vers la fin du projet quand le module est déjàfonctionnel à près de 90 %. L’ensemble des trois phases (Tests, Capture des remarques et maintenance) peut s’étaler sur unetrès longue période tant certains modules sont complexes. En plus de cela, la prise des remarquesvers la fin du projet ne fait que rallonger le délai de maintenance et par ailleurs celui de la fin duprojet. - Déploiement du module : Permet de mettre en production le module développé. Elleintervient après de nombreux va-et-vient entre les trois phases précédemment citées. Nous venons donc de voir que les phases citées ci-dessus (allant de la formation fonctionnelle audéploiement du module) sont, de façon générale, celles qui sont pratiquées par Nextma pour ledéveloppement de modules. A présent posons-nous la question de savoir quelles sont lesaméliorations que l’on puisse apporter dans le cadre de la résolution de notre problématique ? De façon générale, les phases appliquées par Nextma sont assez intéressantes en soi. Cependant,il convient d’intégrer deux éléments à cette planification. Le premier élément est en fait uneamélioration d’une phase déjà existante et le second est l’intégration d’une phase qui n’est pasencore existante. Tout d’abord, il y a une chose qui nous interpelle. La phase « Capture des remarques » seretrouve entre les tests et la maintenance. Il n’y a pas de mal en tant que tel mais pour ce genre deprojet, il convient de prendre les remarques du client le plus fréquemment possible afin d’éviter lesdéconvenues. En effet, le développement de module n’étant pas une sinécure, il convient d’associerle client au maximum tout au long du projet. Deuxième point à intégrer, ce sont les bilans en fin de projet. Il convient en effet d’établir unebase de connaissances d’ordre diverses – théoriques, managériales, organisationnelles – répertoriantl’ensemble des problèmes rencontrés tout au long du projet et comment ils ont été résolus. Ainsi, àchaque nouveau projet on améliorera les zones d’ombre. 3- Budgétisation Dans cette partie, nous verrons comment faire pour établir un budget qui permette d’atteindrenotre objectif de développer des modules facilement évolutifs. Mais avant tout, rappelonsbrièvement ce que c’est que la notion de budgétisation et quelle relation étroite se tisse entrebudgétisation et projet.N.AKADIRI Page 36
    • La budgétisation est l’ensemble des procédés qui permettent de s’assurer que les ressources –financières entre autres – dont nous disposons (ou disposeront) nous permettent(ou permettront) decouvrir l’ensemble des dépenses auxquelles on est censé faire face. Cet exercice financier sensibledoit être mené avec rigueur. Bien évidemment, la budgétisation n’est pas faite en aparté, elle fait partie intégrante de lagestion d’un projet. Ainsi, la budgétisation intervient dans la phase de planification, aussi bienprévisionnelle que réelle. Elle permettra donc au chef de projet de s’assurer qu’il n’a pas les yeuxplus gros que le ventre mais surtout de rentabiliser le projet. Cette phase comme la quasi-totalité desphases d’un projet nécessitera aussi l’aval de la direction. Des lignes qui précèdent nous avons pu saisir que l’établissement du budget est une étapedélicate, qui bien qu’à elle seule ne puisse faire la réussite d’un projet, y contribuesignificativement. Le développement de modules évolutifs étant - avant tout - un projet, il est toutfait normal qu’une bonne gestion du budget puisse produire des résultats probants. Mais, affirmer àl’emporte-pièce qu’une bonne gestion du budget puisse permettre le développement de modulesplus évolutifs serait trop prosaïque. En effet, il conviendrait d’expliciter un peu plus cette assertion. Pour que la budgétisation nous soit profitable dans la résolution de notre problématique, il nousfaudra prendre en compte aussi bien les coûts directs que les coûts indirects. Ce sont notamment : - Coût des salaires des employés travaillant sur le projet - Coût des intervenants externes (consultant, formateur…) - Coût de la qualité (certification, formation…) - … 4- Recherche et développement (R&D) Bien que dans le modèle économique de la firme Open ERP, le faible coût d’investissementR&D est un atout vanté du fait qu’actuellement la R&D autour de l’ERP est assurée à 80 % parl’ éditeur et à 18% par les éditeurs propriétaires, il me semble opportun d’inverser la tendance….D’autant plus que la communauté fait partie intégrante de la stratégie de développement l’éditeur.Pour cela le chef de projet devra constituer une équipe dédiée à plein temps à la R&D. Cette technique d’investissement R&D commence à voir le jour mais lentement. C’est le cas dela société Axelor en France qui est une société de services spécialisée dans lintégration dERP OpenSource. Cette société possède son propre centre de R&D et est l’auteur de nombreuses innovationspermettant d’améliorer dans la continuité Open ERP. Au nombre de ces innovations, nous pouvonsciter notamment : les plug-ins MS office, la nouvelle version web d’Open ERP … L’investissementN.AKADIRI Page 37
    • dans la R&D permettrait d’aboutir à une innovation. Encore faut-il savoir quels types d’innovationfaire. Nextma étant une PME voire une TPE, les meilleurs types d’innovation qu’elle pourrait mettreen place sont des innovations de marché ou de valeur. Or, de mon point de vue, la meilleureinnovation dont on a besoin dans notre cas de figure est une innovation de processus. En effet, ilconvient de mettre en place de nouveaux procédés permettant d’améliorer l’adaptabilité etl’évolution des modules. Les moyens étant limités, Nextma pourrait penser à mettre en place unconsortium d’entreprises qui uniront leurs ressources pour imposer de nouveaux processus, denouveaux standards au niveau du développement des modules Open ERP - et dans une plus largemesure au niveau de la gestion de projet de tels modules. Détail important ; pour mener à bien cette stratégie d’investissement R&D, le chef de projetdevra pouvoir convaincre sa direction du bien-fondé de ces investissements à haut risque. 5- Démarche qualité La qualité est un vaste domaine abordé dans presque tous les aspects de notre vie quotidienne.Elle se révèle d’une grande utilité lorsqu’on sait l’utiliser à bon escient et ce dans un cadre biendéterminé. Pour permettre une meilleure intégration des modules, il faudra donc adopter une démarchequalité. Mais laquelle ? Comme il a été dit, le terme qualité regroupe plusieurs définitions. Ilfaudrait, par soucis de clarté, préciser l’aspect qualité que pourrait adopté le chef de projet lorsd’une gestion de projet impliquant le développement de modules Open ERP. Je restreindrai doncvolontairement la qualité à la notion de certification. Le chef de projet soucieux de pouvoir mener à bien son projet de développement de module, etce par la même occasion permettre la production de modules hautement évolutifs, se doit de lescertifier. Encore faut-il qu’il en soit convaincu du bien-fondé de cette certification. Chose que jem’évertuerai à prouver dans les lignes qui suivent. La certification désigne un processus qui permet d’attester de la conformité d’un produit ou d’unservice par rapport à des standards prédéfinis. Elle se fait généralement par un organisme accrédité.Ainsi, la certification d’un module Open ERP est un processus qui vise à valider la conformité dunouveau module par rapport à des standards définis par Open ERP. Elle permet donc aux modulesspécifiques d’être inclus dans l’ERP. Pour certifier son module Open ERP, cinq étapes principales sont nécessaires :N.AKADIRI Page 38
    • - L’analyse technique : Il s’agit de faire une analyse approfondie du code afin de détecter les erreurs éventuelles, la conformité des bonnes pratiques, la robustesse des modules…. - L’analyse fonctionnelle : Ici, l’éditeur essaye de déterminer la pertinence de l’approche adoptée par l’équipe projet. - Validation/Non validation : Si le module est validé, un certificat est délivré dans le cas contraire, des propositions d’amélioration sont faites en vue d’améliorer la qualité du module. - Insertion du module dans la suite logicielle - Diffusion à la communauté La certification, comme le montre la figure 19, prône donc un apport des partenaires à la communauté mais surtout un contrôle qualité effectuée par Open ERP. Figure 19 : CertificationN.AKADIRI Page 39
    • Jusque-là nous venons de découvrir le processus de certification mis en place par Open ERP.Mais une question subsiste en quoi ce processus est-il gage d’une meilleure intégration des modulesou d’une maintenance évolutive réussie sans lourdeur ? La certification de modules que se propose de faire l’éditeur moyennant rétribution financière estune aubaine. En ce sens qu’après la certification, les modules comme nous l’avions vuprécédemment sont inclus dans les versions futures d’Open ERP. Gâteau sur la cerise, le module certifié bénéficie du contrat de maintenance Open ERP. Cecontrat qui stipule entre autres conditions, qu’Open ERP se charge d’assurer la correctiond’éventuels bugs , de migrer et d’adapter ce module à chaque nouvelle sortie d’Open ERP. Commedisait l’autre, que veut le peuple ? Nous y voilà ! « Migrer et adapter ce module » En effet si, à chaque nouvelle version d’OpenERP, les modules nous sont livrés avec leur évolution ceci éviterait des coûts supplémentaires dedéveloppement interne nécessaire pour garantir la conformité du module précédemment développéavec la nouvelle version. Ceci permettrait donc à l’entreprise dans le futur, d’avoir l’assurancecomplète – puisque stipulé contractuellement via le contrat de maintenance - que les modulesdéveloppés auparavant évolueront de manière transparente. Par le biais de ce contrat de maintenance, outre la correction et l’évolution du noyau interned’Open ERP, l’éditeur assure donc une évolution des modules – plus particulièrement les modulesspécifiques. L’évolution des modules spécifiques étant assurée en grande partie par le processus decertification. Ainsi, la certification apporterait des profits aussi bien à l’équipe projet qu’au client. Bien que la majorité des recommandations faites pour mener à bien le projet se font au niveaude la maîtrise d’œuvre, il est opportun de présenter les avantages qu’ont les deux parties à penser àla certification Du côté de l’équipe projet ce sont notamment : - L’économie en temps et en argent : cherté de la découverte de bugs tardifs, migration complexe de version… - Le fait de pouvoir gagner la confiance du client - Notoriété accrue : Via la certification, l’entreprise peut redorer son blason. En effet, c’est l’occasion idéale et rêvée pour l’équipe projet de (re)donner de la visibilité à leur entreprise en participant à l’enrichissement des fonctionnalités d’Open ERP – qui est d’ailleurs distribué dans plusieurs pays.N.AKADIRI Page 40
    • Les avantages que tire le client à exiger auprès de la maîtrise d’œuvre la production de modules certifiés sont les suivants : - Pouvoir migrer facilement son module vers les nouvelles versions de l’ERP tout en conservant la cohérence d’ensemble - S’affranchir de passer différents contrats de maintenance avec différents éditeurs de modules. D’autant plus qu’Open ERP dispose de plusieurs modules mais plus encore d’une centaine de modules étroitement imbriqués ! Cependant il y a toujours des possibilités que l’entreprise fasse une modification ultérieure sur lemodule certifié. Il revient donc au chef de projet d’interdire, dans une clause contractuelle - entre luiet la maîtrise d’ouvrage - l’ajout de modules non certifiés aux modules que son équipe auraitdéveloppé. Ceci afin de s’assurer que les évolutions fonctionnelles et/ou techniques des moduleslivrés suivront la même courbe qualité que leur développement initial. Plus encore, il lui revient aussi d’exiger avant tout développement que l’ensemble des modulesdont pourraient dépendre son module soient certifiés ! Agissant ainsi tel un conducteur qui conduitavec prudence sur la route en prenant tout d’abord soin de son véhicule puis en respectant le codede la route mais surtout en étant vigilant. En effet, ce conducteur, même s’il prend toutes sesprécautions, n’est pas sûr qu’un automobiliste tierce ne vienne le mettre en danger. On comprend àtravers cette métaphore du conducteur et de la voiture l’importance d’exiger des modules certifiésde bout en bout. En somme, le processus de certification ne résout pas totalement le problème d’intégration desmodules mais en limite nettement les effets néfastes. Nextma pourrait donc penser à certifier sesmodules. Ceci pourrait lui permettre, par ailleurs, de supplanter les différentes sociétés opérantdans le même secteur à l’échelle nationale mais aussi de contribuer à sa notoriété sur le planinternational. Ceci à travers la visibilité qu’elle pourrait acquérir par la certification de modules etl’intégration de ces derniers à la suite logicielle. La certification serait donc un élément important à ne pas négliger dans tous les aspects de sonprojet. Cependant, il y a un hic: “The only limitation is that if a bug or a problem in the migrationsresults from changes which happened after the certification, they will not be covered by the bugfixguarantee.” [w5] Autrement dit, après le processus de certification, si un bug survient malgré tout,Open ERP ne le prend pas en charge. Ce qui nous ramènerait au problème de départ !N.AKADIRI Page 41
    • Enfin, de façon plus générale, n’oublions pas que parler d’une démarche qualité revient à parlerd’une application de la qualité à tous les processus entrant en jeu au niveau de Nextma -établissement du cahier des charges, recrutement des développeurs…Ainsi, mettre en place unedémarche qualité reviendrait, outre l’aspect certification, à favoriser au niveau de l’équipe projet –et de façon plus globale au niveau de l’entreprise – l’émergence de nouvelles méthodesorganisationnelles, techniques, managériales et autres permettant d’améliorer la qualité desdéveloppements de modules. Ceci entrainera inéluctablement une maintenance des modules moins« lourde » et donc pourra résoudre le problème d’intégration des modules – principalement dansleur aspect évolutif. 6- Cycle de vie préconisé Bien que cette partie aurait bien pu être mise en tête de la section « Démarche améliorée degestion de projet », je l’ai volontairement mise à la fin car quoique l’on puisse dire, le cycle de vies’adopte non seulement en fonction de certains paramètres (risques, maturité de l’équipe…) maissurtout en fonction du terrain. Le choix est donc laissé au chef de projet de faire jouer son ingéniosité ou son expérience sur sonprojet qui devra conduire à une meilleure intégration des modules. Nonobstant ce constat, je mepermets de préconiser un cycle que je trouve plus adéquat. De mon point de vue, l’adoption de méthodes agiles pourrait permettre de produire des modulesplus adaptatifs. Soyons clair ; je ne viens pas ici faire l’apologie des méthodes agiles, non pas que jeles dénigre mais je reste pragmatique. En effet, les méthodes adoptées en général pour les projets nesont pas forcément mauvaises en soit mais c’est l’usage qui en est fait qui pose généralementproblème. Il en est de même pour les méthodes agiles. Voyons à présent, quels ont été les principesfondateurs de ces méthodes dites agiles. Suite à des constats récurrents de mauvaise définition de besoins, de manque de communicationentre les différentes entités d’un projet, de l’augmentation du nombre de projet à effet tunnel, desexperts se sont regroupés afin de proposer des solutions adéquates. Ainsi, sont nées les méthodesagiles. Ces dernières s’axent autour de 4 valeurs principales qui privilégient, comme le mentionne lemanifeste agile [w6] : - Les individus et leurs interactions plus que les processus et les outils. - Des logiciels opérationnels plus qu’une documentation exhaustive. - La collaboration avec les clients plus que la négociation contractuelle. - L’adaptation au changement plus que le suivi d’un plan.N.AKADIRI Page 42
    • L’utilisation d’une méthode en particulier des méthodes agiles pourrait augmenter la qualité – ausens large - du contrôle des modules. Nous avons donc vu que les quatre valeurs fondatrices des méthodes agiles donnent priorité auxindividus et aux interactions, aux logiciels opérationnels, à la collaboration étroite avec le client et àune adaptation face au changement. Dans notre cas, la deuxième et la quatrième valeur créent plus de problèmes qu’ils n’enrésolvent. En effet, faut-il effectivement privilégier des modules fonctionnels à une documentationexhaustive ? Si le but est de produire des modules sans les rendre au maximum évolutifs – comme àl’accoutumée - alors oui ! Car la documentation minimale peut être appréciée dans ce cas. Or, noussommes dans une perspective où nous souhaitons produire des modules plus évolutifs. Oncomprend donc aisément que la documentation dans une telle situation est de rigueur. Bien plusencore, elle se soit d’être la plus exhaustive que possible. Quant à la quatrième valeur qui préconise une réactivité face aux éventuels changements - encours de projet - du client, nous sommes réticents à cette idée. Car, selon les dires d’un collègue, ily aurait un projet de développement de module en cours actuellement à Nextma qui aurait dûprendre fin il y a de cela bien longtemps mais qui ne cesse d’être repousser aux calendes grecques.Pour cause, les besoins sans cesse renouvelés du client lors de la phase de recette. Il est donc plusjudicieux d’établir un PV explicite des besoins pour éviter de rallonger les délais qui sont déjà assezdurs à tenir. Ainsi chaque nouvelle demande fera l’ajout d’une prestation individuelle. En résumé, pour développer des modules hautement évolutifs, on peut faire de l’agile tout enrestant lucide ! D- Synthèse1- Que retenir ? Que de choses ont été dites. Si vous vous sentez perdu et ne savez plus où donner de la tête, c’estle moment de faire le point. Il a été tout d’abord exposé le concept d’ERP puis celui de la relation étroite qu’entretiennent lesentreprises avec ce genre d’outils. Dans le même ordre d’idée, nous avons vu qu’Open ERP commeses confrères d’ERP est un véritable joyau d’entreprise, car d’une utilité évidente pour les acteurs -N.AKADIRI Page 43
    • aussi bien interne qu’externes - de l’entreprise. Son paramétrage sur mesure permet d’adapter sonERP à chaque entreprise. Cependant, ce paramétrage n’est pas infini. Et lorsque les limites sont atteintes, on tire profitd’un autre aspect de l’ERP qui est son architecture modulaire. Mais là encore les déconvenuessurviennent relativement tôt. En effet lors de la migration de version, certains modules deviennentdésuets. Alors, entre besoin de migrer et besoin de maintenir la cohérence d’ensemble de ses modules,l’entreprise fait face à un dilemme qui n’est toutefois pas totalement insolvable. Une solution toute simple serait d’apprendre à ne migrer qu’en cas d’extrêmes besoins et nonpour une propension à « être à la page ». Si malgré tout le besoin s’en fait sentir et qu’on a plus lechoix alors il faut prendre des précautions. Précautions qui débutent depuis la phase de gestion du projet. Ce sont ces précautions que j’aitenté d’énumérer dans les pages précédentes. Elles s’axent principalement autour de deux points : - le choix de la méthode de gestion de projet - la certification de modules (important) La certification, comme nous avons pu le voir, ne résout pas totalement le problème maispermet de délocaliser la charge de travail en un seul endroit : Au niveau de l’éditeur – qui à prioriconnaît mieux son logiciel - et non plus au niveau de l’équipe projet. Ceci permet donc de masquerla problématique d’évolutivité des modules. Figure 20 : Synthèse RéflexionN.AKADIRI Page 44
    • Ces aspects d’ordre managériaux et techniques à mettre en place au niveau de Nextma doivents’accompagner d’autres aspects tout aussi importants – car servant de pilier à la démarche - quesont : les aspects juridictionnels (interdiction d’ajout de modules non certifié, définition formelle etdéfinitive des besoins…). Ces clauses contractuelles établies de façon appropriée aideront le chefde projet à garantir la pérennité de ses modules dans le temps. Enfin, il a été préconisé qu’un cycle de vie reposant sur les méthodes dites agiles soit adopté. Eneffet, nous avons vu plus haut que le choix du cycle de vie est dicté par tout un ensemble de critèresnotamment sur le critère expérience du chef de projet. Des recommandations ont cependant étéfaites pour l’adoption de méthodes agiles par Nextma lors de leur gestion de projet dedéveloppement de modules. Choix qui semble plus opportun en raison de la forte réactivitéqu’exige ce genre de méthodes avec le client.2- Limites de ma réflexion On a donc essayé dans les lignes qui ont précédé de faire une synthèse des points clés à ciblerpour améliorer l’efficacité de la démarche de gestion de projet au niveau de Nextma en vue deconduire à des modules adaptatifs et évolutifs. Cependant l’honnêteté intellectuelle exige de moique je vous fasse à présent part des problèmes que peuvent soulever tout ce que j’ai eu à dire. En tout premier lieu, Cette démarche ne s’applique qu’au développement de modules complexeset plus encore aux sociétés possédant un effectif élevé pouvant être affecté à un projet dedéveloppement de modules. Inutile de faire une usine à gaz pour développer un module basique ! Jepense donc que les points énoncés plus haut pour améliorer la démarche de gestion de projet nepourront être réellement appliqués par Nextma que lorsqu’elle disposera d’un effectif bien plusconséquent. Pour s’en convaincre il suffit de se rappeler de ma proposition d’investir dans la R&D.Demander à une entreprise telle que Nextma ne disposant pas de ressources – humaines,financières…- colossales de prendre ce risque est un pari osé. Par ailleurs, la certification de modules qui représente indéniablement un atout peut très vite êtresynonyme de baisse de revenus pour certains. En effet, il est indéniable qu’une telle certificationpuisse faire grincer des dents bon nombre d’entreprises – dont probablement Nextma - qui« vivent » de cette adaptation constante de ces modules. Car une telle affaire, bien qu’utile, risquede sonner le glas de leur commerce prolifique. Alors entre la théorie et la pratique, le fossé risqued’être abyssal. N’oublions pas non plus que, demander au chef de projet de s’assurer que l’ensemble desmodules dont pourrait dépendre son projet soit certifié, quitte à ne pas s’engager sur un projetN.AKADIRI Page 45
    • « juteux », risque de ne pas être toujours chose facile à faire…Et quand bien même les entreprises –en particulier Nextma - trouveront l’importance de certifier, la limitation dans le contrat demaintenance d’Open ERP poserait encore un problème. En effet, le processus de certification dumodule peut ne pas déceler des problèmes qui se révèleront bien plus tard. Scénario qui nousconduirait inéluctablement à dépenser à nouveau en coût et en argent… Concernant le cycle de vie, bien que la réactivité soit un point essentielle dans l’application desméthodes agiles, j’ai voulu restreindre un tant soit peu cette réactivité qui donne par exemple auclient la possibilité de changer au besoin le contenu du cahier des charges. En effet, laisser le clientdonner libre cours à ses désirs ou plutôt à ses caprices, c’est aussi lui donner la possibilité de mettreen péril la budgétisation d’un projet qui prend en compte la certification des modules et parconséquent annihiler tous les efforts qui auront pu être mis en place pour permettre une meilleureadaptabilité et évolutivité des modules. Ce n’est donc plus une méthode agile a proprement parléqui a été recommandé à Nextma mais plutôt une méthode pseudo-agile car ne prenant pas encompte tous les principes fondateurs des méthodes agiles. Notons enfin qu’étant resté dans la logique que Nextma ne soustraite pas une partie de sesdéveloppements, l’ensemble des six recommandations formulées – Gestion de changement,démarche qualité…- est encore un tant soit peu faisable. Mais si Nextma se décide, dans un avenirproche ou lointain, pour une raison ou pour une autre à sous-traiter une partie de sesdéveloppements, un niveau de complexité supérieure s’ajoutera car il faudra effectuer le suivi desrecommandations susmentionnées chez tous le ou le(s) sous-traitant(s)…N.AKADIRI Page 46
    • Partie 6 : Bilan Si c’était à refaire, qu’aurai-je fais, quelles sont les leçons que j’ai pu en tirer ? En ce sens, NickNolte disait : «Jai commis bon nombre derreurs mais je nai aucun regret. Parfois cest le seulmoyen dapprendre.». Cette pensée résume bien le contenu auquel on peut s’attendre dans cettedernière partie. A- Bilan technique Tous mes stages au cours de ces trois dernières années m’ont permis de m’imprégner duprocessus courant de développement d’un logiciel : de l’analyse des besoins à l’implantation dulogiciel en passant par la phase de modélisation. Durant ce stage, bien qu’ayant étudié d’une façon ou d’une autre des modèles (analyse desinteractions des modèles de l’ERP) ou fait de la modélisation (base de données en local sur leportable), j’ai pu noter une petite différence. Dans le sens où j’ai été amené à comprendre unearchitecture déjà existante (celle d’Open ERP) afin de m’y conformer. Je pense que cela est plusproche de la réalité des projets informatiques dans les entreprises où l’on n’a pas toujours lapossibilité de concevoir une solution à partir de « zéro» tel qu’on le fait souvent lors des travauxpratiques à l’école. Aussi, à travers ce stage, j’ai pu me refaire une idée sur les Framework. En effet, ces outils derêve qui sont de véritables bijoux de programmation impressionnent de par leurs prestations.Cependant, quand on se met à les utiliser allègrement, sans s’être imprégné de toute la mécaniquequi se cache derrière - ce qui est le cas de la majorité des développeurs - cela peut causer à lalongue un problème - dans la formation des développeurs. Ces derniers perdront ainsiprogressivement les connaissances de base de la programmation et/ou de certains langages carvoilées par le Framework. Dans le même ordre d’idée, les API, du genre Google Maps Api, mises souvent à la dispositiondes développeurs sont utiles mais dès qu’elles subissent une restructuration profonde de l’éditeur,on peut être contraint à revoir toute son application ! Par ailleurs, comme je le mentionnais dans ma lettre de motivation lors de la recherche du stage,au cours des deux stages précédents - l’un en DUT Informatique et l’autre en licence Miage - j’aieu à développer respectivement un client léger (utilise un navigateur internet) et un client lourd(application de bureau). Je souhaitais donc m’investir dans le développement d’une applicationN.AKADIRI Page 47
    • mobile – en particulier Android, afin de découvrir de nouvelles choses, aspiration qui a été combléede mon point de vue. Ayant été formé à être chef de projet, je pense que cela me sera utile d’avoir eu une visionglobale de toutes les applications - de base - pouvant intervenir dans un système d’information.Mais aussi de comprendre en quoi les applications mobiles peuvent « élargir » le systèmed’information d’une entreprise sans pour autant oublier les risques inhérents à une telle extension duSI. J’ai pu aussi prendre connaissance des technologies open-source - ubuntu, Open ERP… - et desavantages qu’elles peuvent représenter pour une entreprise – ou une équipe – ayant un revenulimité. Enfin, j’ai pu me refaire à l’idée que la technique ne me pose pas de problèmes majeurs, il mefaut juste m’adapter. Par contre, lorsqu’il s’agit de me servir des outils mis à ma disposition pourtravailler l’ergonomie, c’est tout une autre paire de manche. Force est de constater que je n’aidécidément pas la fibre artistique ! Heureusement qu’il y a des designers ! B- Bilan professionnel L’une des choses qu’il m’a été donnée d’apprendre au cours de mes années de formation, c’estque le client ne sait pas forcément exprimer ses besoins. Et quand bien même, il aurait su le faire, lacompréhension que peuvent se faire les informaticiens de ces besoins est souvent tout autre. Quandje dis que le client a du mal à exprimer ses besoins ce ne sont pas des soucis d’élocution quil’entravent mais plutôt la relation quasi-fusionnelle qu’a su tisser le client avec son métier au fil desannées. En effet, la plupart du temps, il connait ce qu’il fait si bien qu’il omet des informationsimportantes, non pas par esprit cachottier mais tout simplement, parce qu’elles ne lui sont pasvenues à l’esprit ! Parler d’un fait est une chose mais le vivre en est une autre. L’expérience peut paraître troublantevoire déroutante mais se révèle tout de même formatrice J’en ai fait moi-même l’expérience à deuxreprises lors de mon stage : - Les jargons, ces mots clefs qui diffèrent selon le secteur – et parfois même selon l’entreprise - peuvent vous faire passer un « sale quart d’heure » disons pour être plus précis vous faire perdre des jours de réflexion. C’est ainsi qu’il m’a été demandé d’effectuer des traitements sur un attribut « compte ». Porté à croire que l’on parlait de la même chose, je m’y suis lancé à cœur joie avant de finir par demander quelques jours plus tard à quoi correspondait effectivement le compte dans « leur langage ». A ma grande surprise, et probablement à laN.AKADIRI Page 48
    • vôtre, le compte équivalait à une référence de produit ! C’est vous dire à quel point le jargon peut être source d’incompréhension et par extension de perte de temps. - Quant à la seconde expérience, j’ai tôt fait d’en tirer les leçons de la première. En effet il m’était demandé de permettre la localisation des ventes effectuées par un commercial. J’étais porté à croire que pour chaque vente, il aurait fallu localiser le point de vente. Mais en demandant des explications complémentaires, j’ai compris très vite que dans l’esprit du maître d’ouvrage, la localisation devrait se faire lors de la synchronisation avec le serveur. Ainsi, pour le client, localisation des ventes voulait tout simplement dire localisation des ventes uniquement lors de la synchronisation. Aussi, j’ai appris que lorsqu’on est convaincu de l’importance d’une idée et quand bien même lesupérieur hiérarchique n’en voit pas le bien fondé, il faut défendre ardemment son point de vue. Simalgré tout ça ne passe pas, il faut apprendre à mûrir son idée en dehors des heures de travail, aucas où le supérieur change d’avis ! Ça peut toujours faire gagner du temps. J’en ai fait les frais versla fin du projet. Par ailleurs, j’ai su prendre mes précautions lors de l’envoi de documents. En effet, à chaque foisque j’envoyais un document à une personne - en particulier externe à l’entreprise - je me faisais ledevoir d’en envoyer une copie dudit document à mon supérieur hiérarchique. Ceci dans le souci depréserver la confidentialité des informations qui si elles étaient divulguées pourraient compromettre,d’une façon ou d’une autre l’entreprise. Quant à la conduite de réunion, j’ai appris, du moins essayé, d’être plus concis. Au tout début demon stage, tout heureux de parvenir à résoudre un problème, je me lançais dans des explicationssans fins. Mais j’ai tôt fait de comprendre que ceci ne représentait aucun intérêt pour mon directeurtechnique, qui soit était trop pressé soit souhaitait avoir des informations sur des points précis. Cequi fait qu’au fil des réunions, j’ai appris à parler exclusivement de ce que je savais quil’intéresserait. Ensuite si le temps me le permettait, je glissais habilement des complémentsd’information qui cette fois recevaient un écho plus favorable. Ce qui est tout à fait compréhensiblecar en posant les bases de la réunion par rassurer mon interlocuteur, il était plus enclin à écouter lereste de mes propos. Autrement dit, en fonction des remarques – persistantes - faites lors desréunions précédentes, je définissais de façon informelle les informations de premier plan à présenterultérieurement. Il m’a été aussi donné de découvrit un autre aspect du travail de développement d’uneapplication. En ce sens que, d’ordinaire j’avais l’habitude d’interagir directement avec le client finalN.AKADIRI Page 49
    • mais au niveau d’une SSLL - qui est avant tout un genre de SSII - pour certains projets tels que lemien, ma seule interface avec le client final était mon directeur technique. Au niveau de mes aspirations, il est clair qu’entre ma licence et mon Master, de l’eau a coulésous les ponts. Ainsi, mes aspirations ont un tant soit peu changées. En effet, je mentionnais dansmon mémoire de Licence Miage que j’aspirais à devenir Administrateur de Base de données. Ce quiavait d’ailleurs à l’époque suscité l’étonnement aussi bien de mon encadrant en entreprise que celuides membres du jury. Le recul acquis par ces derniers du fait de leurs expériences variées leur avaitpermis de prophétiser que je changerais d’avis. Mais j’étais intimement convaincu de mon choix.En fait, cela n’était guère étonnant car à l’époque je venais d’obtenir tout fraichement mon DUTInformatique où l’on m’avait, bien qu’appris à apprendre, moulé dans le moule des techniques. Parcontre, à la Miage, j’ai perçu, au prix de rappels sans cesse constants - du directeur de la Miage -qu’on me formait à réfléchir à un plus haut niveau d’abstraction et non pas sur des techniques quisont d’ailleurs destinées à changer perpétuellement. Combiné à cela, un engouement personnel pourla recherche me mène inéluctablement à viser un doctorat…qu’ai-je à perdre ? Je suis encore jeune !L’avenir nous en dira plus… J’ai pu aussi relever une fois de plus, et ce à mon grand désarroi, bien que je le comprenne, quequel que soit la qualité ou les prouesses techniques des applications que peuvent réaliser lesinformaticiens, lorsque l’ergonomie - en particulier l’ergonomie de surface - laisse à désirer ou necorrespond pas aux exigences esthétiques, l’utilisateur a de fortes chances de « botter l’applicationen touche ». Enfin, j’ai mieux appréhendé en quoi les risques peuvent faire capoter un projet. Car le risquedans sa définition est quelque chose d’imprévu. Dans mon cas, l’application a été certes finalisée –malgré quelques décalages - mais j’aurai pu aller chez le client sans les obstacles qui se sont dresséssur mon chemin notamment lors de la phase de test. C- Bilan personnel Aussi loin que remontent mes souvenirs, je ne me souviens pas d’avoir entendu parler du métierd’intégrateur ERP. Peut-être est-ce parce qu’aucun cours sur les ERP n’est dispensé à la Miage ?Motif insuffisant, je l’avoue. Je pense plutôt qu’il s’agit d’un manque - de ma part - de veille sur lemarché de l’emploi. Quoiqu’il en soit, c’est un métier en vogue ! Ce stage a été pour moil’occasion de découvrir les exigences de ce métier. Par ailleurs j’ai reçu une formation fonctionnellesur le processus de ventes d’un produit au niveau d’Open ERP depuis la gestion du stock jusqu’à lafacturation et la livraison au client.N.AKADIRI Page 50
    • N’ayant pas la science infuse, il m’a fallu tirer parti de l’expérience des autres dans certainsdomaines. Etre orgueilleux ou imbus de sa personne ne rapporte rien cependant il faut savoir quandet où demander car chacun a ses responsabilités. Pas toujours facile, de trouver le juste milieu. Aussi, j’ai appris à faire adéquation avec mon milieu sans pour autant délaisser mes convictionspersonnelles. Il me vient à l’esprit ce premier jour de stage où, débarquant fraîchement dansl’entreprise, j’ai eu la remarque d’un de mes collègues sur le fait que tout le monde excepté moitravaillait sous la distribution Linux. Bien que j’aurai pu prétexter ne jamais l’avoir utilisé, j’ai tôtfait de l’installer et de me former promptement à l’utilisation de ce système d’exploitation. J’ai aussi voulu à travers le sujet de réflexion, qui je l’avoue n’a pas été de tout repos, atteindredeux objectifs : - Le premier qui est de me former à l’esprit d’analyse et de synthèse qui est demandé à un doctorant. - Le second qui est dans une moindre mesure une partie du travail sur lequel je me suis proposé de réfléchir au cas où je suis accepté en thèse. Par ailleurs, je n’ai cessé de m’interroger sur l’importance de fixer un quota de pages notammentsur le sujet de réflexion qui doit, selon la charte des stages, impérativement tenir sur une vingtainede pages ; ni plus, ni moins. Ne devrait-on pas plutôt privilégier la concision. Car il est un fait quel’étudiant, qui n’arrivera pas au prix de maintes efforts à atteindre ce quota, risque de se lancer dansdu verbiage. Est-ce vraiment l’objectif escompté ? J’en doute ! Enfin, j’ai pu constater que le directeur de Nextma qui résidait en Belgique a préféré implanterson entreprise au Maroc (son pays d’origine) où le marché n’est pas encore totalement saturé ; dumoins à l’époque. Cela a fait germer en moi la possibilité de créer une entreprise du même type auBénin (mon pays natal) où j’en suis quasiment sûr que le marché est encore à l’étape fœtale pour nepas dire embryonnaire. Par contre, je suis encore réticent à cette idée de créer ma société au pays èmequand je constate qu’entre 2007 & 2012, le Bénin est passé de la 137 à la 175 place - soit 9place avant le dernier rang - au niveau du classement Doing Business qui classe les pays selon lafacilité d’y faire des affaires en se basant sur tout un ensemble de critères. [w7] [w8] Mais rien nepresse.N.AKADIRI Page 51
    • Conclusion En vue de la validation du cursus de M2 Miage, il nous a été demandé d’effectuer un stage d’unedurée de cinq mois dans une entreprise. Durant ce stage, nous avons eu à nous imprégner au mieuxdes besoins du client – via l’interface du directeur technique – afin de concevoir une application. Les progrès récents ayant mis le mobile au centre des dernières innovations technologiques, ledéveloppement d’une telle application vient à un moment propice. Cette dernière viendra faciliter lavie à tout commercial en déplacement. Ceci en lui permettant d’effectuer des commandes àdistances et de les synchroniser avec Open ERP. Néanmoins, nous pensons que le rendu visuel de ladite application peut être encore améliorée. A travers ce stage nous avons pu aussi découvrir de nouvelles réalités, de nouveaux métiers, denouveaux outils et bien sûr transférer les connaissances acquises à l’école au monde de l’entreprise.Aussi, après plus de 200 h d’écriture, de relecture ; soit l’équivalent de près de huit jours de travailintensif, le sentiment de s’être surpassé nous anime - notamment à travers le sujet de réflexion qui aoccupé la majorité du temps de rédaction. C’est ainsi que se termine donc cette nouvelle aventure dont j’espère vivement avoir tiré lesleçons qui s’imposent afin d’en retirer un bénéfice majeur par la suite.N.AKADIRI Page 52
    • WebographieNuméro Sites Pages visitées Consultation[w1] http://www.juniper.net/us/en/local/pdf/additional- 03/08/12 Juniper – 2011 resources/jnpr-2011-mobile-threats- Mobile Threats report.pdf?utm_source=promo&utm_medium=right_promo&u Report tm_campaign=mobile_threat_report_0212[w2] Développez.com – http://www.developpez.com/actu/46339/Android-des- 06/08/12 Android : Nouvelles chercheurs-s-appretent-a-publier-un-framework-modulaire-d- source de menaces à exploit-de-nouvelles-sources-de-menace-a-l-horizon/ l’horizon [w3] Développez.com - http://www.developpez.com/actu/46889/Android-bientot-dans- 29/08/12 Android bientôt dans l-espace-La-NASA-construit-un-nanosatellite-avec-le- l’espace smartphone-Nexus-One-comme-ordinateur-de-bord/[w4] Journal du net - http://www.journaldunet.com/solutions/dsi/projet-d- 03/08/12 Projet d’ERP erp/respect-de-la-date-de-livraison.shtml[w5] Open ERP – http://www.openerp.com/node/478 03/08/12 Modules Quality Certification[w6] Wikipedia - http://fr.wikipedia.org/wiki/Manifeste_Agile 05/08/12 Manifeste agile[w7] Doing Business - http://francais.doingbusiness.org/reports/global-reports/doing- 03/08/12 Rapport 2007 business-2007[w8] Doing Business - http://www.doingbusiness.org/~/media/GIAWB/Doing%20Bu 03/08/12 Rapport 2012 siness/Documents/Annual-Reports/English/DB12- FullReport.pdfN.AKADIRI Page 53