Industriel spécialisé dans la production de matériaux en terre cuite

Application de dimensionnement d’un réseau de tuiles photovoltaïques

Projet Coding Factory

Le projet en bref

Nature du projet
Application de dimensionnement d’un réseau de tuiles photovoltaïques
Secteur
Energies & Utilities
En quelques mots

Le besoin Client

Acteur majeur des revêtements de toit, notre client souhaite se doter d’une application permettant de réaliser des bilans de consommation énergétique et de proposer des solutions photovoltaïques.

Elle se doit d’être évolutive, multi supports et surtout intégrée à son système informatique. Elle viendra en replacement d’un fichier Excel extrêmement complexe.

 

Notre solution sur mesure

CLEAN architecture : Implémentation d’une architecture s’appuyant sur la séparation des responsabilités et le découplage des fonctionnalités métier. Ce système va permettre d’obtenir un logiciel avec des couches plus indépendantes et évolutives.

Retro engineering : Analyser et reproduire le fonctionnement du fichier Excel existant.

 

Nos points forts

  • Un projet en mode Agile permettant une forte réactivité à la demande client.
  • Nous nous appuyons sur une solide expérience en .NetCoreAngularDocker et Azure et sur ses compétences en architecture technique.

Le projet en images

Le projet en détails

Technologies utilisées
Angular
.Net Core
C#
Entity Framework
PostgreSQL
Syncfusion
specflow
NUnit
Docker
Enjeux projet

L’objectif du projet Simulateur Solaire est de proposer une solution de remplacement efficace au système actuel qui ne satisfait plus l’ensemble des besoins de notre client.

Le challenge pour la Coding Factory Apollo sur ce projet est double. Nous devons d’une part être capables de reproduire à l’identique la complexité technique des calculs existants dans le fichier Excel d’origine. Et d’autre part, nous voulons proposer une interface et une ergonomie qui soit efficace et simple d’utilisation pour l’utilisateur. En effet, le projet actuellement utilisé par la flotte commerciale de notre client pourrait être ouvert à terme à ses propres clients ou à des particuliers.

Environnement technique

Techniquement, le projet Simulateur Solaire est réalisé avec un back-end qui s’appuie sur le Framework .Net 5.

Il est associé à une base de données PostgreSQL avec Entity framework pour le mapping de données. Côté Front, nous utilisons la dernière version de la librairie Angular.

La spécificité technique de ce projet est sans contexte l’utilisation du concept de Clean Architecture. Celle ci va nous permettre de rendre le code plus indépendant et plus testable.

La plus grosse difficulté technique a été de reproduire sans régression les milliers de calculs réalisés par l’outil existant sous Excel dans notre application web tout en proposant une interface simple et une ergonomie intuitive.

Ce projet a été pour nous l’occasion de monter une architecture Docker plus complexe qu’à l’accoutumée. En effet, il a fallu reproduire l’environnement du client pour s’assurer des mises en production seraines. C’est pour cela que nous avons dockerisé, l’application web, la base de données, un serveur LDAP, un serveur SAML et un container dédié à la génération de fichiers PDFs. Ainsi nous pouvons executer nos tests dans un environnement très proche de celui de production.

Environnement fonctionnel

Fonctionnellement, la première version de l’application se compose de plusieurs écrans dont :

  • une page d’authentification
  • un dashboard principal qui affiche l’ensemble des projets existants
  • un formulaire de saisie permettant d’entrer les caractéristiques de son projet photovoltaïque
  • une page de résultats proposant diverses options économiques possibles pour la mise en place de son projet photovoltaïque
  • une synthèse assez graphique reprenant l’ensemble des informations du projet et qui est directement envoyé au client

La version 2 du projet aura pour objectif d’améliorer le système de calcul pour se passer complétement du fichier Excel existant. On nous a également demandé d’inclure une gestion tarifaire des produits pour permettre la génération d’un devis clé en main.

Résultats

La version n°1 du projet est actuellement encore en cours de développement… Mais nous ne manquerons pas de vous faire un retour très prochainement.

Schémas d'architecture technique

Méthodologies adoptées

Agilité

Le développement du projet est en cours actuellement et devrait s’étaler sur une année environ. Il à été organisé en 3 lots distincts eux-même découpés en plusieurs sprints de deux semaines.L’ensemble du projet à été réalisé en suivant la méthodologie Agile Scrum.

 

Qualité du code

L’ensemble du code source produit par l’équipe de développement est contrôlé automatiquement par le logiciel de qualité de code SonarQube.

Sur le projet simulateur solaire, nous avons également encouragé le binômage entre membres de l’équipe de développement. Dans le même esprit, les leads devs présents sur le projet effectuent plusieurs fois par sprint des revues de code.

Enfin, au vue de la grande complexité des calculs et du projet en général, nous avons créé un grand nombre de tests unitaires, des tests end-to-end et des tests d’intégration et de non régression afin d’assurer le bon fonctionnement du projet dans la durée. Ces tests sont executés à chaque pull request d’un développeur pour s’assurer qu’aucune régression n’est faite à la complétion de celle-ci.

 

Intégration continue

Le projet se compose de plusieurs environnements : développement, qualification et production. Chacun d’eux dispose d’une intégration et d’un déploiement continu à la volée grâce à l’utilisation de Docker.

Outils utilisés

Azure Devops
git
sonarqube
specflow
Docker

Volumétrie

150
jours de développement
1
chef de projet
1
UX/UI Designer
2
développeurs
Un besoin similaire ? Contactez-nous !


    Informations de contact


    Remplissez le formulaire et notre équipe vous recontactera sous 2 jours ouvrés.

    04 78 35 45 70

    lyon@apollossc.com

    APOLLO
    96 bd Vivier Merle
    69003 Lyon
    Mots-clés
    Angular
    .Net Core
    C#
    Entity Framework
    PostgreSQL
    Syncfusion
    specflow
    NUnit
    Docker
    Azure Devops
    git
    sonarqube
    specflow
    Docker
    Vous êtes ingénieur IT ? Rejoignez-nous !
    Je veux prendre contact
    HAUT