Exemples de réalisations
Prise en compte de modifications réglementaires en urgence : une grande entreprise du secteur de l'énergie avait besoin de prendre en compte une modification réglementaire impactant les prix de ses produits. Le délai d'application de la règlementation était de 4 mois. La DSI n'a pas su réaliser l'évolution dans les délais. L'approche directprogrmaming a été mise en oeuvre 15 jours avant la date d'application du règlement, pour permettre aux équipes de front office en relation avec les clients de modifier les contrats en base de données. Le programme développé agissait sur un fichier texte extrait de la base de données, et traitait ce fichier pour en produire un autre qui correspondait à la description modifiée des contrats. Ce fichier modifié était réinjecté dans la base de données. Ce programme a été utilisé pendant 4 ans directement par les opérateurs de front office, toutes les semaines, pour gérer ces modifications complexes de contrat. Il a eu beaucoup de succès. Il n'était qu'une addition non intégrée au SI central de l'entreprise, mais qui a permis à l'activité opérationelle de pouvoir gérer ces modifications, qui étaient impraticables à la main dans les interfaces des applications de saisies de contrats, car elle incluait des calculs complexes de dates, durées, modifications de prix, volumes, etc... Cette intervention a été à l'origine de directprogramming et en a motivé le développement.
Cette même entreprise a dû, également pour des besoins de prise en compte d'éléments règlementaires, créer une seconde base de contrats, auditable par les Commissaires aux Comptes. directprogramming est intervenu pour concevoir et développer cette base, avec les interfaces utilisateurs et les flux d'alimentation à partir d'autres sources, en 4 mois. La réalisation, de qualité, a été reprise en maintenance par la DSI ensuite.
Application d'optimisation des investissements en moyens de production : les principes de directprogramming ont été mis en oeuvre dans une application d'un très grand groupe énergétique pour la simulation d'appel de ses unités de production, dans le but d'en évaluer la rentabilité à long teme. L'outil permet d'analyser la rentabilité des projets d'investissements de plusieurs milliards d'euros et utilise des données massives de processus aléatoires de prix de combustibles sur le marché, données météorologiques, processus d'aléas fortuits d'indisponibilités, etc... Cette application a révolutionné les études de ce groupe et permis à celui-ci de prévoir efficacement la rentabilité des investissements en moyens de production renouvelables. Elle est utilisée dans les filiales du groupe à l'étranger.
Application de calcul de bilan financier prévisionnel opérant des millions de lignes comptables : les outils de structuration de données et de programmes ont été mis en oeuvre et optimisés pour refondre une application de finances d'un très grand distributeur d'électricité. Cette application effectue des traitements de calcul de bilans financiers sur environ 5 millions d'éléments comptables (calculs d'amortissements, provisions). La première application développée réalisait le calcul en une nuit. La seconde version, utilisant les bases de la programmation en C, réalisait le même traitement en 8 minutes. Les méthodes de directprogramming ont permis de la refondre à nouveau et elle atteint la performance de 30 secondes sur PC bureautique. Les données d'entrée, traduites en binaire pour les plus volumineuses, occupent 600 Mo d'espace disque. Elles sont lues et traitées au rythme d'environ 100 Mo par seconde, sur un PC bureautique standard, soit la vitesse de lecture disque. Cette version permet maintenant de réaliser de nombreuses études financières pointues et sensibles, auditées, de manière très réactive et fiable. L'utilisateur ne voit qu'un fichier Excel, dans lequel il saisit les paramètres de l'étude et visualise les résultats. Le fichier exécutable C est caché et l'utilisateur a exactement la même interaction avec l'outil que s'il était entièrement développé en Excel/VBA. Il est distribuable comme un simple fichier Excel alors qu'il embarque un calcul lourd.
Rapprochement de données volumineuses de 3 sources pour des fins de contrôle de gestion : l'approche d'apprentissage de directprogramming est actuellement en cours de mise en oeuvre auprès d'un service de contrôle interne d'un grand groupe qui a besoin de rapprocher des opérations de suivi d'affaires dans les plannings, passages de commandes, écritures comptables, et devant pour ce faire rapprocher 3 sources de données indépendantes. Les fichiers à comparer représentent un volume de 600 Mo, et l'exercice est quasiment impossible à réaliser sous Excel. En 4 séances de 2 heures, le problème a été traité. Il permet de sommer les montants des affaires, comparer la liste des affaires présentes dans les 3 sources (plusieurs dizaines de milliers), calculer l'intervalle en nombre de jours entre 2 dates pour détecter des anomalies de gestion. Les contrôleurs de gestion apprennent la programmation et pourront à l'issue être peu à peu autonomes pour résoudre de nouveaux problèmes. Cet outil est utilisé quotidiennement. Il a permis de découpler la productivité et la fiabilité des restitutions et analyses.
Simulation de millions de courbes de charges de consommation électrique : la structuration des données et des programmes de directprogramming a été mise en oeuvre pour le développement d'un outil de simulation des courbes de charges prévisionelles de consommation électrique à long terme sur tous les postes de transformation haute tension / moyenne tension de France. Cet outil de simulation opère sur une volumétrie de données de consommation de plusieurs Go, obtenues par prétraitement de fichiers extraits de bases de données représentant jusqu'à 25 Go. Ces prétraitements s'exécutent en une performance de l'ordre de la minute par Go, ou 2 à 3 secondes pour 100 Mo. Le traitement lui-même de simulation s'exécute en 100 secondes et consiste en le calcul d'une dizaine de millions de courbes de charges horaires sur un an (soit 8760 points par courbe). La structuration retenue est l'optimum théorique de ce qu'il est possible de faire avec le langage C, en exploitant les pointeurs et la puissante notion de hachage. Cette application devrait servir à terme à aider à la planification des investissements, qui sont très importants (plus de 3 milliards d'euros par an).


Exemple de développement en 20 minutes : les principes simples de programmation avec le langage python a permis de développer en 20 minutes un programme traitant 7 Go de données de relèves de courbes de charges de producteurs éoliens, pour en calculer la "synchrone", c'est-à-dire la somme sur chaque pas de temps. Le programme s'exécute en 15 minutes et produit, avec une fiabilité absolue, plus rapidement qu'un serveur de bases de données puissant, cette agrégation. Elle servira pour les études de structuration du tarif que tout consommateur paye dans sa facture électrique. Le même traitement, par agrégation et extraction à partir d'un SGBD ultra puissant du marché prend plusieurs heures.
Cahier des charges fonctionel et technique pour une architecture d'accès concurrents de plusieurs versions d'une même application à un SGBD commun complexe : directprogramming est intervenu aurpès d'une grande société d'assurance pour réaliser un cahier des charges et la spécification technique d'une architecture informatique permettant de gérer plusieurs versions d'un ensemble d'applications en coexistence en production, pour fiabiliser le passage des utilisateurs d'une version à la suivante. Cette prestation a permis à cette société de mesurer les difficultés et les points durs d'une telle entreprise de "versionning" dans un environnement applicatif complexe, mêlant applications "host" du type COBOL/CICS sur Mainframe IHM et applications clientes "distribuées" en environnement Java, devant opérer entre divers sites de sociétés d'assurances et bancaires. Des questions fines de modélisation des données contractuelles, de sinistres et de traitement des indemnisations ont été étudiées au travers de cette prestation.
Développement d'une offre de conseil pour une SSII : directprogramming est intervenu auprès d'une SSII de taille moyenne du secteur banque, assurance et protection sociale, pour l'aider à structurer son offre de conseil en architecture SI et transformation de patrimoine SI vers des architectures plus agiles et modernes.
Exemple d'application pour un service RH : directprogramming est intervenu pour concevoir une application de calcul de droits au départ à la retraite et calcul complexe de cumuls de congés avant liquidation de la retraite. A cette occasion, directprogramming a développé divers outils de calculs de calendriers qu'il exploite pour d'autres applications.
directprogramming intervient pour les problèmes opérationnels les plus critiques, à fort enjeu, mais également pour les "petits" problèmes quotidiens, qui sont tous importants pour la productivité de l'entreprise et la qualité de ses services.