Expériences


Audit de livrables

Audit d'architecture et livrables

Amélioration de la qualité des livrables et mise en place de tests automatisés

Etude de cas
Réarchitecture d'un extranet

Réarchitecture d'un extranet

Suppression des régressions et sécurisation du déploiement d'une application

Etude de cas
Tracking de machines agricoles

Tracking de machines agricoles

Localisation de machines et génération de statistiques

Etude de cas
Architecture Conception et Design

Architecture Conception et Design

Modernisation d'un système de gestion des formations

Etude de cas

 

1. Audit d'architecture et livrables

Contexte

Suite à la livraison d’un premier lot de fonctionnalité de leur extranet, la FIN a souhaité vérifier la qualité des livrables.

Défis

Dire les choses avec franchise mais en restant bienveillant pour stabiliser la relation Client-Prestataire.

Résultats

L’audit a permis d’atteindre 2 objectifs qualitatifs :

  • Mettre en lumière un décalage entre l’architecture prévue et l'implémentation réelle livrée. Le prestataire a ensuite effectué les travaux nécessaires pour rendre les livrables conformes.
  • Mettre en place de tests automatisés au niveau des équipes du prestataire. Le prestataire a apprécié l’éclairage donné sur la qualité de son code et sur la façon d’implémenter les tests unitaires métiers. Il a pu ainsi capitaliser et augmenter la qualité des futurs livrables.

Technologies utilisées

PHP avec le framework SYMFONY.

2. Réarchitecture d'un extranet

Contexte

Suite à la mise en production d’une nouvelle application de premier plan, de nombreuses évolutions causaient des régressions en masse, provoquant des erreurs dans les comptes des structures utilisatrices.
L’audit préalable a montré beaucoup de métier dans le code-behind des pages web. Le code était souvent dupliqué derrière plusieurs pages.

Défis

Sécuriser les déploiements en permettant de supprimer les régressions.

Résultats

  • Création d’une couche intermédiaire de services appelés par les pages web (principe de l’anticorruption layer).
  • Création de 1500 tests anti régressions.
  • Mise en place d’un déploiement automatisé en preprod.

Technologies utilisées

Net, C#, Entity Framework, SQL Server

3. Solution de tracking de machines agricoles

Contexte

Une entreprise ayant conçu un système de ramassage de fruits souhaitait proposer un backend « multi-tenant » pour ses clients pour suivre la position des machines et les statistiques liées au ramassage.

Défis

Travailler et communiquer avec un client lointain et très peu disponible.

Résultats

Nous avons réalisé des spécifications basées sur des use cases (cas d'utilisation). Puis, de véritables maquettes écrans dynamiques (justinmind.com et concept.ly).

Nous avons ensuite écrit des stories à travers une approche BDD (Behaviour Driven Development) ce qui nous a  permis de valider la couche métier tout en créant une série de « feature tests » qui allaient devenir un véritable filet de sécurité par la suite.

Les réunions de suivis, assez peu nombreuses, ont donné lieu à assez peu de modifications. Dans un tel contexte, ceci est assez rare pour être mentionné.

 

Architecture logiciel

Architecture issue des bonnes pratiques DDD (Domain Driven Design) plaçant le métier au centre et communiquant avec les autres couches par des interfaces.

Technologies utilisées

.Net, C#, Entity Framework, MVC, Web Services Soap, SQL Server, JQuery, Ajax, Google Maps

4. Plateforme de formation : Architecture Conception et Design

Contexte

Une fédération souhaitait moderniser son système de gestion des formations. Le système devait être totalement autonome mais utilisant les données d’un extranet et ouvrant lui-même les données à d'autres sites et éventuellement à une application mobile.

Défis

  • Faire évoluer l’architecture existante.
  • Améliorer l’expérience utilisateur au niveau front et backend.
  • Gérer la sécurité.
  • Gérer un cache pour limiter la latence.

Résultats

  • Ecriture des cas d'utilisations précis en avant projet.
  • Mise en œuvre d’une architecture basée sur des Web Api Rest avec plusieurs services dédiés.
  • Réutilisation du CMS spécifique pour capitaliser le code métier.
  • Une prise en main rapide des utilisateurs : interne sur la partie backend et internautes sur la partie publique.

Technologies utilisées

.Net, C#, Entity Framework, MVC, Web Api Rest, Web Services Soap, SQL Server, JQuery, Ajax, Google Maps