Conduite de projet

Nous intervenons pour piloter vos projets informatique / web / data, ou pour vous prêter main forte pour ces projets.

Quelques retours d’expérience

Avant de décrire plus loin les phases d’activités d’un projet, voici quelques leçons qui nous viennent du retour d’expérience :

  1. Cela vaut le coup de questionner la demande, spécialement quand elle est un peu instable. Qui demande le projet et pourquoi ? Si un projet important est assis sur une demande instable ou dont l’objectif est incertain, il y a un risque… d’effondrement complet.
  2. Si on remplace un système existant, il y a un risque spécifique. Les demandeurs vont systématiquement oublier ou minimiser ce qui fonctionne déjà dans ce système : ça coule de source pour eux, ils sont avides de ce qu’ils n’ont pas. Mais pour ceux qui créent le nouveau système, aucune des fonctions de l’ancien ne coule de source si elle n’est pas décrite dans « les spécs ».
  3. Un projet peut répondre à un nouveau besoin. Un projet peut mettre en oeuvre une nouvelle technologie (nouvelle au sens de « pas encore connue par l’équipe concernée »). Mais quand on répond à un nouveau besoin par une nouvelle technologie, comment savoir où on va ? Il y a là un danger particulier à maîtriser.


Voici maintenant une revue des différentes phases d’activité d’un projet. Elles ne sont pas forcément séquentielles. Si l’on procède par un certain nombre de « sprints » dans le cadre de méthodes agiles, chacun d’entre eux  passera ou non par ces différentes phases.

Les spécifications ( « les spécs » )

La conduite de projet informatique, ce sont en premier les activités suivantes :

  • Recueillir les besoins et les demandes, les hiérarchiser
  • Déterminer le contour du projet, sa justification, l’avoir ensuite présente à l’esprit pour pouvoir la vérifier tout au long de la vie du projet ( cf la méthodologie PRINCE 2 dont c’est l’un des principes clés).
  • Valider le projet auprès des demandeurs
  • Réaliser le Cahier de spécifications fonctionnelles.

Mais qu’est-ce que c’est que le Cahier de spécifications fonctionnelles alias Cahier Des Charges (CDC) ou Business Requirements Document (BRD) ? C’est un document qui recueille les besoins ou spécifications, dont chacun doit posséder les qualités suivantes :

  • Nécessaire : il s’agit de concentrer les ressources disponibles sur ce qui est indispensable
  • Unitaire : chaque point concerne une seule demande
  • Validée : acceptée et revendiquée par les participants du projet
  • À jour : en accord avec la situation actuelle des besoins, de la technologie, du contexte économique et technique du projet
  • Réaliste : chaque demande doit être faisable en fonction de l’ambition et des moyens du projet
  • Compréhensible : ce qui se conçoit bien s’énonce clairement et se réalise aisément
  • Non technique : les exigences sur les moyens techniques de réalisation, sur la façon de faire, relèvent de la phase d’architecture, de recherche de solutions et ne sont pas des spécifications fonctionnelles.

Le choix de solution

Les activités de choix de solution sont les suivantes :

  • Rechercher les solutions, les alternatives possibles
  • Maquetter, prototyper des éléments de solutions, établir des « Proofs of Concept » pour aider au choix d’architecture
  • Choisir l’architecture cible

La mise en oeuvre

C’est la partie centrale du projet. Les méthodes agiles (Scrum, XP, …) ont notamment pour but de fluidifier cette phase, d’éviter l’effet tunnel d’une mise en oeuvre que l’on attend trop longtemps. La clé est de procéder à des livraisons régulières. Quand on pousse encore un peu la logique on arrive au principe CICD : Continuous Integration, Continuous Development.

Les activités :

  • Animer et suivre la mise en oeuvre du projet : Plan d’actions, Gestion des risques, Gestion du périmètre, Gestion des coûts ;
  • Planifier et suivre les plans d’action
  • Faire : Réaliser, Développer, Intégrer, Interfacer, …
  • Formaliser la documentation de projet

Le démarrage ou « Go live »

  • Gérer la mise en place : Former, Mettre en place, Démarrer
  • Organiser et démarrer la phase de maintenance
  • Clôturer le projet, Formaliser les retours d’expérience.

🙂

Framework Entryfield : démo

Une des particularités de notre Framework entryfield c’est d’être fourni avec une mini-application de démonstration, Tdlist.

Quelques informations !

  • Tdlist est une véritable application autonome, utilisable ; cependant certaines parties sont simplifiées ; car c’est avant tout un démonstrateur de faisabilité, et pour ceux qui veulent écrire des applications, un modèle dont on peut partir.
  • L’application est en anglais et la structure est internationalisable.
  • Les mots que vous êtes en train de lire ont été écrits avec WordPress mais cela n’a rien à voir ! Tdlist est 100% indépendante de WordPress et fonctionne sur n’importe quel hébergement Web.
  • Il faudra vous connecter, « Roger » ou « Anna », avec le mot de passe « abc »
  • Ne l’utilisez pas pour de vrai : les données sont réinitialisées toutes les heures (à 8h17, 9h17, 10h17 et ainsi de suite)

Cela étant écrit, vous pouvez faire l’essai ici.

( plus loin dans cette page, attention vous entrez dans une zone technique)

Caractéristiques du framework Entryfield

C’est un Framework avec relativement peu de code, mais qui est plutôt complet pour écrire des applications PHP reliées à SQL

MySQL, SQLite et SQL Server ont été testées. D’autres bases SQL devraient fonctionner aussi parce que le framework est basé sur PDO.

Pour commencer, vous donnerez un préfixe à votre application, disons par exemple App,et un répertoire, mettons par exemple appl. (dans le cas de l’application de démo, le préfixe est Tdl et le répertoire est tdlist).

L’approche MVC est construite comme indiqué ci-dessous.

Modèles

  • Les structures de données et les formats de données sont écrits dans appl\models\App_Schema.php
  • Les procédures relatives aux données sont écrites dans appl\models\App_Model.php. Dans des applications complexes, ce programme serait scindé en plusieurs sous-modèles.

Contrôleurs

  • Chaque page fait l’objet d’un script assez simple écrit dans appl\pages\App_PageName.php . L’objet d’une page est d’assembler des parties (‘parts’).
  • Les contrôleurs sont dans chacune des parties, écrits dans appl\parts\App_PartName.php
  • Chaque partie (‘part’) est structurée d’une façon similaire, avec les méthodes suivantes
    • doRun : exécuter la partie
    • doDeclare : déclaration des listes et des formulaires utilisés par la partie
    • doProcess : ce que fait la partie quand elle reçoit des données de formulaire
    • doDisplay : ce que la partie affiche.

Vues

  • S’appuyant sur la description des données dans le schéma (voir Modèles, plus haut), le composant Ef_List construit une liste ou un formulaire pour voir ou pour modifier vos données. Cela peut être une liste en mise à jour multiple.
  • Entryfield comprend un moteur de templates (gabarits)
    Ef_Page qui permet de séparer la présentation HTML du contenu.

Technologies

Boîte à outils
Boîte à outils

Les outils du développement informatique, ce sont des langages, des systèmes de bases de données.

Nous choisissons nos outils avec soin et les entretenons afin qu’ils durent longtemps.

Plutôt orientés « Back-end », nous sommes spécialistes de PHP & MySQL. Ayant une certaine pratique du framework CodeIgniter, nous avons écrit le nôtre, le framework Entryfield.com , que vous pouvez télécharger librement, et qui dispose d’une application de démo intégrée.

Nous sommes également spécialistes de Wordpress, cet outil de publication Web si répandu, accélérateur de projets, capable du meilleur mais aussi du pire : il faut le maîtriser, le bougre ; le maintenir à jour, choisir judicieusement son thème et ses extensions, qu’il faut aussi maintenir à jour. En échange il nous offre bien des joies.

Comme tous les spécialistes du Web, nous composons aussi avec le Javascript et ses écosystèmes divers qui n’en finissent pas de foisonner. Nous aimons bien React.js et Vue.js.

Faut-il ici citer toutes les technologies auxquelles nous avons été confrontés ? Sans doute que non, et puis nous n’avons jamais utilisé le langage Brainf*ck ni Malbolge après tout.

Quelques mots toutefois de langages que nous apprécions particulièrement. Tcl (Tool Command Language, site francophone ici ) pour son élégance rare – langage de script ultime – et pour son aptitude envers les interfaces graphiques.Et aussi… tout à fait à l’autre bout de la planète développement, le langage X++ c’est-à-dire celui de Dynamics AX, pour la qualité intégrative de l’environnement de développement.

Activités de conseil

Phase d'accélération
Phase d’accélération

Nous vous apportons une aide sur vos projets web.

Notre première fonction, c’est l’assistance à maîtrise d’ouvrage :

  • Comprendre le besoin et l’exprimer sous forme écrite, d’une façon parfaitement claire
  • Rechercher et qualifier des solutions
  • Piloter la mise en oeuvre et les changements induits.

Nous sommes aussi concepteurs de solutions :

  • Identifier les facteurs-clés concernant l’architecture : les contraintes, les connexions, la sécurité, ce qui existe sur étagère, etc.
  • Définir l’architecture optimale
  • Maquetter, Prototyper, Tester, Former, Démarrer.


… Nous menons à bien des réalisations d’applications complètes (backend, frontend, middleware…) , autonomes ou avec l’aide de notre réseau de partenaires.

Un projet informatique : Prenez contact.