Atrium, cultivons notre Extranet !

  22.05.2019

Points-clé

  • Un extranet indépendant destiné aux coopératives agricoles et à leurs adhérents, salariés et prestataires. 
  • Une roadmap projet et des choix stratégiques mutualisés
  • Un partage des données collaboratif
  • Une application en constante évolution pour garantir une compatibilité optimisée et respecter les standards de son temps
  • Un portail ouvert vers des applications tierces ou sources de données utilisées par les adhérents de l’UAC
  • 42  coopératives membres et 90 000 agriculteurs abonnés
  • Un socle technique robuste et moderne : Java 11 / VueJs / PostgreSQL/PostGIS
  • Des composants et librairies OpenSource éprouvés : ECharts / OpenLayers / Tiptap / JasperReport / JooQ

Afin de célébrer les quinzes années de partenariat entre Union Adhérents Coopératives (UAC) et Atol CD, nous vous proposons une présentation non exhaustive du projet phare de notre collaboration : Atrium


Atrium pour qui et pour quoi ? 

Atrium est un extranet indépendant développé techniquement par Atol CD et destiné aux coopératives agricoles et à leurs adhérents, salariés et prestataires (agriculteurs, techniciens conseil, …). L’objectif principal de l’outil est de favoriser la communication, la transparence et le partage d’informations entre les différents acteurs/utilisateurs et les coopératives. Une solution CMS telle que TYPO3, WordPress ou encore Joomla suffit très largement à créer des portails d’information alors pourquoi avoir réalisé l’intégralité des développements ? Atrium ne se limite pas à diffuser de l’information statique, l’extranet intègre surtout de nombreux modules fonctionnels et spécifiques répondant aux problématiques des acteurs du monde agricole. L’objectif est également de proposer des outils permettant d’organiser la production et la logistique sur le terrain. Au fil des années, Atrium est devenu une application colossale tant les services proposés sont nombreux et le portail paramétrable. D’une manière générale, les objectifs principaux de l’extranet sont : 

  • Être compatible avec le plus grand nombre de systèmes informatiques existants chez les coopératives agricoles
  • Proposer une déclinaison personnalisée modulaire et graphique adaptée à chaque coopérative
  • Assurer la diffusion de contenu Web (avertissements techniques, mémos, actualités, sondages, événements ...)
  • Œuvrer pour la dématérialisation (coffre-fort numérique) en proposant des services de gestion de documents numériques
  • Permettre aux adhérents de suivre leur activité (suivi des appros, des commandes, des engagements, des comptes, …)
  • Garantir la mise en place de connecteurs avec les principaux éditeurs du marché
  • Intégrer des modules métiers spécifiques (géolocalisation cartographique, services de bourse en ligne, …) 
  • Créer des formulaires dynamiques d’enquêtes, sondages et quiz
  • Administrer la gestion des droits par profils et utilisateurs 
  • Encadrer la transmission de l’information en pilotant les notifications à travers l’utilisation de listes de diffusion

Les sillons d’Atrium

C’est en 2004, début de sa collaboration avec Atol CD, que l’UAC nous a confié la réalisation d’un projet alors en plein lancement nommé : “Kit Adhérent UAC”. Techniquement, la solution reposait sur un socle Java, des échanges au format XML et une restitution à l’aide de feuilles de style XSL. Quelques années plus tard, le tandem XML/XSL n’est plus dans l’air du temps et les regards se tournent de plus en plus vers les framework et librairies Javascript qui ont alors le vent en poupe. L’UAC souhaite alors donner un nouveau souffle technique et ergonomique à son extranet à travers la mise en place d’un frontend entièrement refondu via la bibliothèque Javascript “ExtJS”. Le format d’échange est  lui aussi revu, passant du XML au JSON. Nous sommes alors en 2009 et ce lifting est l’occasion de trouver un nouveau nom au portail : ce sera Atrium. Toujours soucieux de rester au contact de son époque, l’UAC souhaite consacrer une part des développements au suivi et à l’amélioration continue de sa solution. C’est ainsi par exemple qu’ExtJS a été remplacé en 2016 par le framework OpenSource “VueJs”.  Chaque semaine, la solution bénéficie d’une mise à jour prenant en compte les diverses demandes d’évolutions fonctionnelles et ergonomiques formulées par les coopératives et l’UAC. C’est ce choix d’une modernisation constante qui rend Atrium encore si utilisé aujourd’hui.

Quelques chiffres

Atrium au service du contenu 

Du contenu encore du contenu... Très bien mais pour qui ? Comment ? Dans quel but ? Quel contexte ? Il est essentiel pour un outil comme Atrium de bien identifier les cibles et les objectifs. L’usage qui va être fait du contenu définit les fonctionnalités et le modèle de présentation qui lui seront associé. Cette notion de contexte et d’usage se nomme “Service”. Un service est donc un type de contenu auquel sont rattachés des paramètres bien spécifiques, une restitution et un design adaptés ainsi que des interactions particulières.

Véritable tissu nerveux, ces services sont les vecteurs d’information de l’extranet. On peut identifier plusieurs types de service : 

Services de gestion de ressources

Ces services se concentrent sur la restitution d’informations. Ils proposent, entres autres, les options suivantes : 

  • un contenu constitué d’un titre, résumé, d’une description et d’éventuelles informations spécifiques
  • une durée de publication limitée pour les contenus (du ... au ...) 
  • la possibilité de notifier par email et/ou SMS les utilisateurs susceptibles d’être intéressés 
  • l’association d’un ou plusieurs contenus partageant les mêmes thématiques pour favoriser la navigation transverse et les croisements d’informations
  • des ressources associées au contenu et téléchargeables (images, vidéos, fichiers PDF, XLS, CSV, …)

Les principaux services de ce type sont : 

  • Service “Actualités” : diffusion d’informations relatives à l’actualité de la coopérative
  • Service “Mémos/Avertissements” : diffusion d’informations ciblées pour un secteur d’activité particulier ou pour un groupe d’utilisateur
  • Service “Banque de documents” : dématérialisation, stockage et organisation arborescente de la ressource documentaire
  • Service “Evènements” : présentation d'événements et de sessions associées auxquelles l’utilisateur peut s’inscrire en ligne
  • Service “Enquêtes/Sondages” : formulaires permettant de réaliser des sondages auprès des adhérents coopératives

Service “Gestion électronique de documents”

Service “Mémos”

Services d’administration

Ces services sont destinés aux administrateurs et au paramétrage d’Atrium. Les principaux services d’administration sont : 

  • Service de “Gestion des utilisateurs et personnes”
  • Service de “Gestion des droits”
  • Service de “Paramétrage et construction de la page d’accueil”
  • Service de “Paramétrage et configuration des menus et services proposés”
  • Service de “Gestion des contenus et composants transverses” : graphiques / modèles de mail / questionnaires.
  • Service “Newsletter” : construction et envois de newsletters aux adhérents inscrits


Service “Newsletter” (Administration)

Services métier

Il s’agit de services proposant des fonctionnalités très spécifiques et propres au secteur agricole. Ces services peuvent être utilisés par plusieurs coopératives ou faire l’objet d’un développement sur demande pour un usage privatif. Ces services sont administrables via Atrium mais s’interconnectent également avec les SI Coopératives pour simplifier l’alimentation des contenus. Les services les plus courants sont  :

  • Service “Organisation” : présentation de l’organisation de la coopérative sous forme d’organigramme 
  • Service “Horaires des sites” : mise à disposition des heures d’ouverture des sites et/ou silos des coopératives. Une présentation cartographique avec géolocalisation des différents sites est proposée. 
  • Service “Suivi d’activité” : présentation des données de suivi d’exploitation des adhérents (apports, approvisionnements, engagements, …)
  • Services “Morte Saison” / “OffreSpot” : commande et réservation en ligne de produits/offres

Service “Horaires des sites”

Service “Suivi d’activité”

Des exploitations et des hommes

Les utilisateurs d’Atrium sont principalement les agriculteurs et les salariés de la coopérative, appartenant à une ou plusieurs exploitations agricoles. Afin de retranscrire cette réalité terrain, deux notions définissent les “utilisateurs” dans l’application : 

  • L’extranaute : il s’agit de l’utilisateur physique à proprement parler, celui qui est derrière son écran, qui s’authentifie, se connecte et qui est l’individu salarié de la coopérative
  • La personne morale : dans notre contexte, la personne morale correspond à l’exploitation agricole, voire à un Groupement Agricole d’exploitation en Commun (GAEC). 
  • Les extranautes (utilisateurs) peuvent accéder aux données de plusieurs exploitations (personnes morales) associées.

Droits et diffusion

Cette double notion permet aux administrateurs de maîtriser pleinement et simplement la gestion des droits au sein de l’application. Les droits d’accès à un service ou un contenu peuvent être attribués à l’utilisateur ou au profil utilisateur (salariés, techniciens, conseillers, …). 

Le contrôle de la diffusion d’informations est essentiel pour ce type de portail et c’est pourquoi en complément des droits d’accès, Atrium propose d’associer la notification d’un contenu à une ou plusieurs listes de diffusion. Ces listes sont des regroupements d’utilisateurs selon des thématiques ou problématiques bien précises (géographiques, secteurs d’activité, organisation interne, …), un utilisateur pouvant évidemment appartenir à plusieurs listes. D’un utilisateur à un autre, le contenu peut donc être complètement différent donnant parfois l’impression d’avoir deux portails distincts, d’autant plus que la charte graphique peut elle aussi être modifiée en fonction du type d’utilisateur ! 

Je partage, tu partages, …

Atrium n’est pas un produit sur étagère et sa conception est le fruit d’une véritable réflexion collective entre UAC, les coopératives utilisatrices et Atol CD. Bien que les secteurs d’activité et les cibles diffèrent parfois d’une coopérative à une autre, la mutualisation reste au coeur du projet. Dans les faits, des ateliers de travail sont organisés et les choix sont opérés lors de comités de pilotage. Mais cet esprit de collaboration et de partage ne s’exprime pas uniquement dans les phases opérationnelles, certains services incarnent ces principes au sein même de l’extranet. 

Service ”Petites Annonces” 

C’est le cas par exemple du service “Petites annonces” qui permet aux agriculteurs de diffuser une petite annonce aux utilisateurs Atrium, toutes coops confondues s’ils le souhaitent. La diffusion peut donc se faire au delà du cadre strict de la coopérative de l’annonceur. Le principe est le suivant : chaque nuit, toutes les annonces sont centralisées sur un serveur commun puis réinjectées sur les bases des autres coopératives.  Ainsi, un vendeur peut trouver un acheteur au sein d’une autre coopérative que la sienne et peut être dans une autre région.

Dessine moi une Page d’accueil

S’il est une fonctionnalité qui représente plus que toutes les autres la définition de l’Atrium, c’est indéniablement la page d’accueil, pièce centrale et chambre d’échanges à la fois.
Côté applicatif, il est essentiel que la page d’accueil restitue de manière claire un maximum d’informations pertinentes à l’utilisateur connecté. La pertinence est une notion très relative et ce qui l’est pour les uns ne le sera pas nécessairement pour les autres, à plus forte raison lorsque les utilisateurs peuvent être viticulteurs, éleveurs ou encore cultivateurs.

Les différenciations sont d’ailleurs multiples et ne sont pas uniquement liées au secteur d’activité de l’utilisateur (géolocalisation, rôle, statut, …). Aussi, il était important que cette page d’accueil soit totalement dynamique et ne repose pas uniquement sur une notion de modèles associés à des groupes d’utilisateurs. 

Afin de répondre pleinement à cette problématique, la page d’accueil est un véritable organisme vivant, se recréant et se reconstruisant dynamiquement à partir d’un modèle unique en fonction des personnes connectées. Comment cela se traduit-il à l’écran ? L’administration de la page d’accueil se fait par la définition d’une structure à base de lignes et d’espaces réservés : une ligne peut être prévue pour accueillir trois blocs de tailles équivalentes ou encore deux blocs proposant respectivement un tiers et deux tiers de l’espace par exemple.

L’administrateur est totalement libre de créer une structure qui lui convient. Il associe ensuite différents blocs (ou pavés) aux espaces réservés, les blocs étant liés à des services et donc aux contenus associés. La notion de “Listes de diffusion” évoquée précédemment est ici essentielle.

C’est elle qui permettra à la page de se montrer réellement dynamique et adaptée aux différents utilisateurs. Chaque bloc doit être rattaché à une ou plusieurs listes de diffusion par l’administrateur. 
Au moment de l’accès à la page d’accueil, seuls les blocs de contenu pour lesquels l’utilisateur dispose d’un droit de lecture (listes de diffusion et profils) sont affichés. Les vides laissés par les blocs masqués sont alors comblés par les blocs situés en dessous, par le biais d’un mécanisme de poussée verticale. Entre “Tetris” et le “Rubik’s cube”, l’administration d’une page d’accueil a donc des vertus ludiques bien que la gymnastique cérébrale puisse parfois tourner au casse tête.    

Ci-dessous, un exemple illustrant le fonctionnement de cette page d’accueil dynamique. Soit trois profils utilisateurs :

  • Cultivateur 
  • Eleveur 
  • Viticulteur 

Dans un premier temps, l’administrateur définit les blocs et les contenus constituant sa page d’accueil puis attribue les droits de lecture par profils. Les pavés sont les suivants : 

  • Pavé “Service Météo”
  • Pavé “Service Banque de documents” (ici Bulletin de Santé Végétal PDF)
  • Pavé “Service Analyse Cours & Marchés”
  • Pavé “Service Mémos et avertissements”
  • Pavé “Service Événements” 
  • Pavé “Service Sondages”
  • Pavé “Service Suivi d’activité”
  • Pavé “Service Petites annonces”
  • Pavé “Service connecteur” (ici connecteur vers la solution e-commerce MagAtrium)
  • Pavé “Actualités”

Les droits d’accès et de lecture sont les suivants : 


Tout espace vide de même largeur situé au dessus peut être rempli. C’est le cas par exemple du pavé “Sondage” qui, chez le cultivateur, prend la place du pavé “BSV” qui ne lui est pas accessible. On retrouve cette même logique pour le pavé “Petites annonces” chez l’éleveur. Les résultats présentés ci-dessus nous montrent que l’outil est puissant en terme de possibilités et d’automatisation mais qu’il est important de bien concevoir sa page pour éviter les emplacements vides et non utilisables (cas des pavés doubles “Connecteur MagAtrium” et “Suivi d’activités” chez l’éleveur par exemple). 

Une ouverture extra-muros

Au delà de l’accès aux données qu’elle crée et stocke, Atrium est également une porte d’entrée vers d’autres applications, modules ou sources de données. Les adhérents des coopératives utilisent de nombreux outils d’aide à la décision, de gestion du parcellaire, gestion des stocks, coffre-fort numérique, … Atrium devient donc la pierre angulaire qui s’interconnecte avec l’ensemble des outils qui l’autorisent, jouant ainsi pleinement son rôle de portail.

Plusieurs mécanismes sont proposés pour que des outils extérieurs puissent être utilisés dans et depuis Atrium. 

Web Services 

Les services Atrium peuvent faire appel à des Web Services pour récupérer ou transmettre des données que ce soit en SOAP ou en REST. Certains services fonctionnent déjà de cette manière : 

  • Dématérialisation auprès de prestataires privés : SOAP, lecture de données / fichiers
  • Services spécifiques coopérative
  • Service de bourse / service de commande d’engrais : SOAP, lecture et création de données
  • Service de suivi d’activités : REST, lecture de données / fichiers
  • Fonctionnalités de téléchargement de fichiers à distance : SOAP

Connecteurs

Les Web Services permettent essentiellement de transmettre/récupérer des données. Les connecteurs sont quant à eux utilisés pour accéder ou intégrer un outil extérieur au sein d’Atrium. Le principe des connecteurs est des plus simple : Atrium crée un jeton d’identification et le transmet, ainsi que l’identifiant utilisateur, à l’outil d’un prestataire tiers qui vérifie alors l’authenticité de ce jeton. Si la requête est acceptée, alors l’utilisateur accède aux fonctionnalités de l’outil demandé, depuis Atrium ou non (paramétrable). 

Module de Synchronisation des données

Les coopératives étant pour la grande majorité dotées d’un SI interne et/ou d’ERP, de nombreuses informations sont à réintrégrer dans la base de données Atrium. Aussi, afin d’éviter les saisies multiples, Atrium intègre un module de synchronisation. Un format d’échange XML est proposé et la donnée est contrôlée en entrée à l’aide de schémas XSD.  

Atrium à la maison

Depuis 2014 les serveurs Atrium sont hébergés par Atol CD (physiquement chez OVH), fluidifiant ainsi les échanges entre les équipes “Développement” et “Hosting” mais également avec le pilotage de l’UAC. Cette approche DevOps permet de mieux maîtriser les besoins en terme d’architecture, composants, dimensionnement serveurs… Une problématique telle que la sécurité de l’application peut aussi bien impliquer la partie serveur que la partie applicative. La dynamique DevOps permet de trouver des solutions communes et adaptées. L’équipe “Hosting” sait de quoi l’application a besoin et ceci est un vrai plus dans le processus d’optimisation et le suivi du cycle de vie de l’infrastructure serveur. 

Derrière l’Atrium


Ci-dessus le schéma technique d’Atrium, représentant les différents types d’accès (WS, connecteurs, Synchronisation, base de données, …) ainsi que les technologies utilisées.

Serveur 

  • Système d’exploitation : Ubuntu 16.04 stable
  • Java 8 / 11
  • ORM : Jooq
  • Base de données : Postgresql 9.6
  • Web Services : Jersey (REST), Axis2 (SOAP)
  • Cache applicatif : Guava
  • Recherche : Lucene
  • SSO : CAS

Client

  • Javascript : VueJs (remplace ExtJs)
  • Graphiques et diagrammes : Highchart + ECharts
  • Lecteur Vidéo : JwPlayer
  • Cartographie : OpenLayers / leaflet
  • Editeur Web : Tiptap 
  • Reporting : JasperReport

Et maintenant ? 

S’appuyant en permanence sur les demandes des utilisateurs, la boîte à idées déborde, dessinant pour Atrium une route parsemée d'évolutions, renouvellements techniques et nouveaux modules innovants pour les années à venir. Cet enrichissement fonctionnel et technique constant, couplé à une utilisation toujours plus importante de l'outil nous amène à mobiliser de plus en plus de monde au sein de l'équipe de développement Atol CD (10 personnes aujourd'hui). Avec Atrium, les coopératives disposent d’un outil riche et efficace pour les accompagner dans la transformation numérique en cours.

Contact

  • Union Adhérents.coop
  • 43 rue de Sedaine, 75011 PARIS
  • Tél. : 01 44 17 58 38
  • Email : clients(at)adherents.coop
  • Responsable opérationnel : Sébastien Gaborit