Promise

From devSpot-wikis
Revision as of 09:15, 3 June 2015 by Gabarrot (Talk | contribs)

Jump to: navigation, search

Pérennisation des données sols, modernisation des interfaces et des outils pour le traitement et la gestion des données des stations d'observations.


Catégorie de projet: développement informatique | traitement et gestion de données

Thématique d'application: atmosphère (technologie re-exploitable)

Cadre de développement: développement collaboratif ouvert à la communauté scientifique, observatoires et centres de données nationaux.

Responsable du projet: Franck Gabarrot.

Logo promise-classic-small.png Logo Ether.jpg

Soutien financier du projet: Promise est soutenu par le pôle Ether puis le pôle Atmosphère (CNES/CNRS-INSU).

Démarrage du projet: mars 2014.

Fin du projet: fin du soutien financier mars 2016.

Contents

Dernières modifications sur le wiki

  • 2015/03/09: modification partie "Documentation": mise à jour du "Guide pour le développement de logiciels".

Description générale du projet

Promise propose de développer des solutions logicielles associées à des schémas d'organisation des développements plus pérennes et ouverts à la mutualisation afin de faciliter le traitement de données (en particulier lidar) et la gestion des données et métadonnées des stations d'observation, de favoriser l'alimentation systématique des centres de données nationaux en données sols de qualité, et de favoriser la collaboration sur le développement logiciel entre les différentes équipes des observatoires, des laboratoires experts et des centres de données nationaux.


Le travail de Promise s'organise selon trois axes de développement :

  • L'archivage et la gestion des données et de l'information de la station d'observation : c'est le système e-obs. Il s'agit d'une application web modulaire associée à une base de données et à une base de fichiers. En plus des fonctions de base d'accès à la donnée et à son téléchargement, e-obs fournit une plateforme de travail optimisée selon le rôle de chacun des acteurs : un module de validation en ligne pour le PI, une interface de saisie de métadonnées pour l'opérateur de l'instrument. e-obs permet de conserver toutes les informations associées à la vie de la donnée en partant de la configuration de l'instrument jusqu'à sa validation par un expert. e-obs permet de mettre automatiquement à disposition des centres de données sur un espace FTP les données validées. e-obs est fortement configurable ce qui lui permet de s'adapter à une organisation pré-existante de la base de fichiers et de moduler son comportement selon les instruments et les filières de production. Son interface web est une application web modulaire qui peut s'intégrer dans un site web existant.
  • L'opérationnalisation des traitements lidar : c'est le framework Licorne. Il s'agit d'un ensemble de composants logiciels qui fournissent tous les éléments nécessaires au développement d'applicatifs d'inversion lidar, notamment un conteneur de données lidar avec des fonctions d'import/export et de manipulation de données ainsi qu'une librairie de fonctions de traitement spécialisées. Licorne vise à simplifier la manipulation des données, à favoriser l'utilisation de formats standards, et à rendre plus simple le développement et l'évolution des applicatifs d'inversion lidar. L'objectif étant également de proposer une solution logicielle autour de laquelle tous les acteurs du traitement de données lidar pourront se retrouver, mutualiser et pérenniser leur travail et le faire évoluer plus efficacement.
  • L'automatisation de la production et de la gestion des flux : c'est un axe de développement non retenu dans la demande de soutien du projet initial. L'automatisation de la production et de la gestion des flux représente le lien entre le logiciel de traitement (ex. applicatif d'inversion lidar) et le système d'archivage et de gestion des données (ex. e-obs). Il s'agit d'un ensemble d'outils qui permettent le transfert sûr des données (avec reprise sur erreur, etc), leur organisation dans une base de fichiers, l'encapsulation et le séquençage des logiciels de traitement (avec gestion des arrêts, des erreurs, etc) et l'envoi vers le système d'archivage. Rien n'est fait à ce sujet actuellement dans Promise mais c'est un axe important qui est souvent traité avec un ensemble de scripts spécialisés difficilement maintenables (en tous cas c'est comme ça chez nous) et c'est pour cela que nous continuons de l'afficher comme un des axes de développement à mener (peut être un jour, quelqu'un...).

Gestion du projet

Ce projet a vocation à être un projet collaboratif, il a donc été construit et organisé afin de s'en donner les moyens par une équipe motivée par la démarche:

  • Utilisation de technologies modernes et largement utilisées: Python, Python/Django, C++ et Git pour la gestion des codes.
  • Des codes et des paquets logiciels structurés (voir notre guide de développement, développement sous licence CeCILL).
  • Des commentaires structurés dans les codes (utilisation de Doxygen).
  • Une documentation suffisante et harmonisé (voir notre guide de développement).
  • Une intégration continue favorisée avec des fonctions de test pour chaque fonction complexe.
  • Une plateforme de développement ouverte (DevSpot) dans laquelle vous pouvez exploiter un espace GitLab pour accéder aux derniers fichiers sources et déposer vos contributions et un espace Wiki (celui-là) dans lequel vous pouvez trouver de la documentation ou en écrire (nous contacter pour avoir un login/psswd).

L'objectif de cette gestion est d'assurer la pérennité des développements et d'avoir la capacité d'intégrer facilement dans le projet un développeur (quelque soit la durée ou le niveau de contribution), les contributeurs non-développeurs mais essentiels parce que testeurs ou experts sur l'algorithmie, l'instrumentation, l'exploitation, etc.

Evidemment c'est un début, la gestion du projet doit aussi évoluer et s'adapter pour continuer de favoriser et d'initier des collaborations. Un atelier de travail sur le sujet et sur les développements en cours aura lieu les 30 et 31 mars 2015 à Paris. Entre temps et après, n'hésitez pas à nous faire des retours.

L'atelier de travail des 30 et 31 mars sera l'occasion de consolider la démarche de gestion long terme des développements, l'idée étant que ces développements continuent d'évoluer et d'être maintenu au delà de la période de financement initiale et que le travail d'organisation puisse servir à d'autres projets de développement.

Production logicielle

  • Framework Licorne:
    Ensemble cohérent de composants logiciels pour le traitement de données lidar.
    statut: en cours de développement.
  • Systeme e-obs:
    Système intéractif de gestion et de diffusion des données et de l'information pour les stations d'observation.
    statut: version 1 en cours de finalisation.
  • Toolbox MiscBox:
    Boîte à outils métier pour les stations d'observation (fait partie du framework Licorne mais peut être exploitée de façon autonome).
    statut: version 1 en cours de finalisation.
  • Lisipro:
    Applicatif de pré-traitement de données lidar.
    statut: prototype en cours de finalisation. Intégration partielle dans Licorne, intégration prévue fin 2015/début 2016.
  • LiTemp:
    Applicatif d'inversion lidar pour la température.
    statut: prototype en cours de finalisation. Non intégré dans Licorne, intégration prévue fin 2015/début 2016.
  • LiWVap:
    Applicatif d'inversion lidar pour la vapeur d'eau.
    statut: prototype fonctionnel. Non intégré dans Licorne, intégration prévue fin 2015/début 2016.

Documentation

Vous trouverez ci-après la liste des documents associés au projet.

La documentation associée aux logiciels est disponible dans les pages dédiés aux logiciels et dans les paquets logiciels eux mêmes (répertoire /doc ; document de développement, guide référence en html, guide d'utilisation, document de validation).

Guides de travail

Ateliers de travail et présentations techniques

Intro FG,

Documentation générale du projet

Rejoindre le projet

C'est collaboratif et ouvert à toute la communauté scientifique, donc si vous voulez participer au développement, tester les outils ou pour un retour d'utilisation n'hésitez pas à nous contacter.

Equipe projet et contacts:
Franck Gabarrot : responsable projet et développeur principal Licorne.
Guillaume Payen : spécialiste algorithmie lidar et développeur Licorne.
Rémy Découpes : développeur principal e-obs.

Personal tools
Namespaces

Variants
Actions
Navigation
Campagnes de l'OPAR
Projets
Developpements
Support informatique
Tools