Accueil / Réalisations / ATLAS NEO : Gestion d'un dépôt pétrolier

ATLAS NEO : Gestion d'un dépôt pétrolier

Solution logicielle de contrôle-commande et de gestion des chargements d'hydrocarbure

Projet

ALMA souhaitait refondre son application actuelle : ATLAS. Celle-ci offrait de nombreuses fonctionnalités mais ses technologies sous-jacentes rendaient complexes les évolutions majeures et n'étaient pas adaptées aux nouveaux usages.

Cette refonte a été réalisée en prenant en compte les pré-requis suivants :
- interface web desktop/mobile
- logiciel modulaire
- multilingue
- ergonomique et convivial
- graphisme soigné
- rapidité des temps de réponse
- personnalisable
- multi-plateforme Linux / Windows

Nom du projet : ATLAS NEO

Client : ALMA
ALMA se positionne dans le secteur des équipements, installations et services pour la distribution des produits pétroliers en aval des raffineries.

  • ATLAS NEO : Tableau de bord
  • ATLAS NEO : Supervision
  • ATLAS NEO : Supervision
  • ATLAS NEO : Bilans
  • ATLAS NEO : Commande
  • ATLAS NEO : Commande
  • ATLAS NEO : Événements

Le projet s'est déroulé en 3 temps :

1. Assistance à maîtrise d'ouvrage
Conseil et aide dans la définition des outils et des méthodes à utiliser pour la réalisation de cette nouvelle version du logiciel. 

2. Développement d'une preuve de concept
- Réalisation d'une preuve de concept (ou POC de l'anglais Proof Of Concept) et développement des fonctionnalités incomplètes en vue de démontrer la faisabilité du projet au regard de l'architecture définie.
- Développement d'un POC en C# par l'équipe d'ALMA qui valide les interactions entre les deux parties IHM/Base de données et Automatisme. 

3. Création du projet et développement des premières fonctionnalités en méthodologie agile
- Configuration du dépôt (îlot, quai, bras) et des produits commerciaux délivrés ;
- Configuration des liens avec les équipements terrains : protocoles et connexions informatiques, équipements ;
- Gestion des utilisateurs et des droits d’accès ;
- Constitution de la base de données des clients du dépôt ;
- Saisie manuelle des commandes et constitution des cargaisons (multi-commandes) qui seront chargées dans les camions-citerne ;
- Déroulement du chargement d’une cargaison dans un camion-citerne ;
- Supervision du dépôt et des opérations de chargement : visualiser facilement et à tout moment ce qu’il se passe sur le dépôt, les chargements planifiés ou en cours, les alertes ou dysfonctionnements, la température moyenne des produits, etc. ;
- Bilans graphiques et extractions fines des chargements réalisés sur un îlot, un bras, pour un client, etc. ;
- Interface utilisateur multilingue.

Makina Corpus a permis à ALMA d’initier le développement d’un produit complexe en se basant sur un socle technique de qualité. C'est ainsi qu'ALMA peut faire évoluer le produit en toute autonomie.

Challenge

  • Fournir une application web efficace, réactive, ergonomique, évolutive, multi-plateforme et accessible depuis un navigateur quelque soit le support utilisé (PC, tablette, etc.).
  • S'imprégner du métier complexe du client.
  • Modéliser dans le détail l'architecture du dépôt pétrolier.
  • Mettre en œuvre une couche webservice REST permettant un lien étroit entre l'application et le logiciel métier développé par ALMA pour le pilotage des automatismes.
  • Gérer une quantité très importante de données et événements. Notamment permettre de rechercher et d'extraire ces données, et proposer des bilans graphiques précis.
  • Développer une couverture de tests unitaires et fonctionnels permettant une maintenance aisée et faciliter le développement d'évolutions.

Solution

La solution est architecturée en deux parties :

  • La première partie, développée par Makina Corpus, se base sur le framework de développement Django et la base de données PostgreSQL. Les pages web sont servies par le serveur HTTP Apache. Cette partie fournie l'interface utilisateur "responsive" pour configurer la solution.
  • La seconde partie, développée par ALMA en C#, fournit l'ensemble des services de type automatisme qui assurent le pilotage des équipements physiques présents sur le dépôt.

Ces deux parties interagissent via une couche de webservices REST.

Le développement de l'application a été réalisé en respectant les principes de la gestion de projet agile (livraisons en pré-production hebdomadaires, réunion de démonstration, définition des prochaines fonctionnalités à développer).

Expertise

Les développements de l'application et la définition des fonctionnalités ont été réalisés en étroite collaboration avec ALMA :

  • Framework de développement : Django
  • Base de données : PostgreSQL
  • L'interface utilisateur est réalisée avec Twitter Bootstrap et AngularJS.
  • Les tests automatisés sont réalisés avec les outils offerts par Django, factory_boy, et Selenium pour les tests fonctionnels.
  • La méthodologie Scrum a été utilisée pour la gestion de projet.
     

Contributions Open Source réalisées dans le cadre du projet :

  • django-admin-watchdog : Module Django permettant d'enregistrer des logs en base de données (par exemple les erreurs applicatives) et de les consulter dans l'interface d'administration de Django.
  • django-tracking-fields : Module Django permettant d'historiser les modifications effectuées sur les champs d'un objet.
  • Améliorations de django-safedelete : Module Django permettant de masquer les objets en base de données plutôt que de les supprimer.