Le MVVM (abréviation de modèle-vue-vue modèle, de l'anglais Model View ViewModel) est une architecture et une méthode de conception utilisée dans le génie logiciel.
Info³ est une société fournissant des services de media planning à des groupes comme LVMH / Lactalis / Dior / … Leurs clients on des besoins commun avec des mises en œuvre très spécifiques. Comment factoriser les méthodes, le technologies pour favoriser le développement et la maintenance ?
Pure WebComponents.
Conception d’un ORM propriétaire et ultra rapide.
Conception d’une sérialisation Json ultra rapide.
Conception d’un framework métier modulaire et à couplage faible.
Conception d’un générateur couvrant l’ensemble de la stack.
Conception d’un pattern d’injection d’UI.
Abstraction de HTML et CSS.
Accompagnent à la transition DevOps.
Mise en place d’une logique de rédaction des specs à base de Markdown et s’appuyant sur DevOps + Outils d’assistance en Electron.
Formation d’un groupe d’ingénieurs (pour SOPRA).
Conception d’un engine de jeu en 3D ISO (fun et pédagogique) / Conception d’une application e-commerce.
UCSOFT est une société qui édite un logiciel de gestion de centre de formation. Initialement en Windev, la réécriture complète de ce logicielle en ASP.NET MVC a été décidée.
L’objectif de cette prestation était d’apporter mon expertise en matière d’architecture. J’ai ainsi pu proposer une architecture partiellement basée sur des principes d’ERP. Un framework a été développé en conséquence. L’ensemble des scénarios métier récurrents ont été traités dans ce framework afin de permettre un redéveloppement rapide de l’application. L’occasion a été saisie pour créer une architecture modulaire avec un haut niveau d’isolement de l’ensemble de la couche métier.
Cette prestation comportait aussi une grosse partie formation / coaching.
Développement de contrôles avancés pour la mise en œuvre de scénarios type ERP.
Framework métier en C#
Règles de validation avancées et dynamiques (bien au-delà des attributs de validation).
Règles métier.
Isolation.
API pour le B2B.
Conception d’un générateur en C# intégré à Visual Studio
Génération de code pour les modèles, les repositories.
Mise en œuvre de patterns tels que IoC, Single responsability
Progiscad est une société qui développe des logiciels de modélisation 3D pour AutoCAD (entre autres). Ils viennent compléter l’offre AutoCAD de tout un ensemble d’outils adaptés au constructions à base de béton armé (entre autres). Ils ont fortement recours à la technologie WPF.
L’objectif de cette prestation était de transmettre du retour d’expérience, d’auditer l’existant, d’auditer et d’apporter mon expertise sur un POC en cours, de former à MVVM / WPF et au développement de contrôles dans le contexte spécifique qui est celui de Progiscad.
Création d’un micro framework MVVM spécifique (sur base de génération).
Création d’un générateur de VM avancé.
Développement de contrôles / composants / adorners WPF.
Mise en œuvre de patterns tels que IoC, Single responsability, … (SOLID).
Décrire la liste des activités de KPMG serait trop long. Quoi qu’il en soit, l’objectif de cette prestation était la formation des développeurs de KPMG Bruxelles (initialement développeurs ASP.NET MVC 5 pour un bon nombre) à Umbraco CMS 7.
Je suis fier d’avoir été sélectionné en compétition directe avec les formations officielles de l’équipe Umbraco, car mon contenu a été évalué comme le plus pertinent. Je suis aussi fier d’être le seul à ma connaissance (ou un des seuls) à disposer d’un contenu de formation Umbraco 7 en français et traitant d’autant de sujets, introduisant autant de techniques. J’attends avec impatience l’éveil du marché français à l’existence de ce magnifique CMS.
Deux groupes ont été organisées, un en français, un en anglais. Au total, 10 développeurs ont été formés.
Conception de Widget pour favoriser l’expérience des rédacteurs Web.
Angular JS.
Extension du back office.
Les bonnes pratiques du Web.
SEO et les implications techniques.
Microdata.
CTEASY est une startup qui vend en ligne du contrôle technique auto à prix low cost. CTEASY aide les centres de contrôles techniques français à commercialiser des contrôles techniques à des périodes horaires généralement creuses.
L’objectif de cette prestation était un peu particulier, car il s’est amorcé dans un contexte de crise. J’ai récupéré des applications non opérationnelles en 10/2015 alors qu’un lancement national était prévu et non repoussable en 01/2016.
J’ai recruté des développeurs, et nous avons collaboré ensemble pour (dans les grandes lignes) :
PHASE 1 (jusqu’à 2/2016) :
gérer l’urgence,
combler les manques fonctionnels les plus critiques
corriger les plus gros bogues
PHASE 2 (jusqu’à 6/2016) :
introduction d’Umbraco CMS 7 pour donner la main sur le contenu éditorial du ite Web,
introduction d’un conteneur IoC + refactoring + écriture de tests unitaires,
modifier la couche d’accès aux données + introduction du transactionnel,
correction de dead lock,
correction de problèmes de sécurité
…
PHASE 3 (jusqu’au 6/2017)
Développement du fonctionnel pour faire face à la croissance de CTESAY,
Création d’une application backoffice pour le service client,
Création de scrapper pour la collecte comparative de prix,
Développements d’API pour les partenaires,
PHASE 4 (jusqu’au 7/2018)
Modification profonde des applications pour permettre une gestion type « marketplace » (cette décision de modification était stratégique), multi tarifs, multi réduction, multivéhicules, multiénergies…
Refonte de l’ensemble des process métier.
Refonte du site Web en conséquence.
Modification des applications pour faire face à la législation introduite en mai 2018
Nous avons progressivement tenté de faire évoluer la gestion de projet vers une organisation plus agile, mais il était difficile restructurer l’organisation interne de l’entreprise tout en relevant les défini techniques dans les délais imposés.
Qui ne connait pas Sodexo ? En 2015, ils ont fait le choix de passer dans le monde de la mobilité (développement d’applications pour leurs restaurants et leurs usagers), ce qui était tout nouveau pour eux. Pour compliquer les choses, la deadline était très courte (2 mois pour former l’équipe de développement et leur permettre de développer la première application)
Dans le cadre de cette mission, j’ai donc été amené à former les développeurs, mais aussi à les équiper d’une solution ultra productive. J’ai fait la proposition d’un micro framework en C# associé avec un ensemble de générateurs pour les parties MVVM (afin d’encapsuler la complexité dans le générateur et réduire considérablement la learning curve nécessaire au développement). Cela a été un grand succès et de ce qu’ils m’ont dit, il en sont rendus à la 4ième application développée avec cette solution.
Xerox Business France (aujourd’hui Conduent, groupe Xerox), équipe un bon nombre de packings auto public et privés en France et à l’étranger. Cela implique la conception et la gestion de l’ensemble des infrastructures (barrières, terminaux de paiements, caméras, scans de plaques d’immatriculation…).
Toute une gamme de logiciels et d’outils est développée dans ce but depuis de nombreuses années. Un grand nombre de technologies différentes et hétérogènes étant impliquées (C / C ++ / VB / WinForm / WPF / Silverlight / …).
L’objectif de cette mission était 1) d’apporter mon expertise technique sur des sujets très pointus 2) de faire des propositions d’architecture pour la migration des applications vers ASP.NET MVC, 3) d’apporter mon assistance aux développeurs, 4) d’introduire une culture Web au sein du SI un portail e-commerce a été introduit dans la gamme de produits 5) d’introduire progressivement une culture de gestion de projet plus pertinente.
De nombreux sujets ont été traités au cours de ces 4 années :
Il a aussi fallu résoudre des problèmes très spécifiques. À titre d’anecdote, il a fallu introduire du VNC côté navigateur et créer un serveur WebSocket pour distribuer les flux VNC nécessaires.
Différentes propositions d’architectures et solutions de migration ont été étudiées, proposées, testées.
Des formations ont été dispensées.