Sustainability Checker – Introduction – Plan



Sustainability Checker – Introduction – Plan

0 0


sustainabilitychecker_presentation

Presentation for my end-of-study internship, introducing the Sustainability Checker

On Github gsprenger / sustainabilitychecker_presentation

Sustainability Checker

Modélisation, développement et déploiement d'une application Web Ruby on Rails

Introduction

  • Du 16 Septembre 2013 au 28 Mars 2014 à l'Université Autonome de Barcelone
  • Projet lié à la recherche environnementale et au thème de la soutenabilité

Plan

  • I. Contexte du projet
  • I-1. Le groupe de recherche IASTE
  • I-2. La méthodologie MuSIASEM
  • II. Le projet
  • II-1. Présentation
  • II-2. Environnement et mise en place
  • II-3. Développement

I. Contexte du projet

Le groupe de recherche IASTE et la méthodologie MuSIASEM

I-1. Le groupe de recherche IASTE

"Integrated Assessment: Society, Technology and the Environment"
  • Fondé en 2010 par Mario Giampietro
  • Comporte une trentaine de collaborateurs
  • Divisé en trois axes de recherche:
  • Métabolisme sociétal
  • Sociologie environnementale
  • Systèmes ruraux
  • Travaille en collaboration avec des organismes internationaux (FAO) et d'État (Afrique du Sud, Equateur)

I-2. La méthodologie MuSIASEM

"Multi-Scale Integrated Analysis of Societal and Ecosystem Metabolism"
  • Ensemble d'outils utilisant des variables techniques, économiques, sociales, démographiques et écologiques
  • Utilisée pour effectuer un diagnostic puis des simulations basées sur ce diagnostic

Diagnostic

Caractérisation d'un système:
  • Fonds (funds): main d'oeuvre, avancée technologique, répartition du territoire
  • Flots (flows): eau, nourriture, energie, richesse
  • Caractérisation de ces variables sur deux indicateurs: travail humain, occupation du territoire répartis sur les différents compartiments de la société

Simulation

Étude d'un scénario dans le système décrit:
  • Viabilité
  • Est-ce que le système dispose des ressources nécessaires pour répondre à ses besoins ou doit-il importer ?
  • Désirabilité
  • Reste-t'il suffisamment de ressources pour assurer le bon fonctionnement des secteurs dits "dissipatifs" (foyers, services publics...) ?
  • Faisabilité
  • Quel est l'impact sur l'environnement ? (sink capacity)

II. Le Projet

Un outil interactif pour comprendre et débattre sur la problématique de la soutenabilité

II-1. Présentation

La soutenabilité ?

Soutenabilité: maintien des fonctions vitales de la société sans sur-exploitation des ressources terrestres, et sans apport de ressources extérieures.

Problématique du projet

Comment déterminer le rôle de chaque composant de notre société dans l'élaboration d'un système soutenable ? En appliquant la méthodologie MuSIASEM pour déterminer quels sont ces compartiments de la société, quels sont leurs besoins et comment y répondre.

Structure

  • Questions qui caractérisent les besoins du système (Demand)
  • Questions sur la façon dont les ressources naturelles sont exploitées (Supply)
  • Visualisation du niveau de soutenabilité du système créé
Trois niveaux de complexité pour la même structure:
  • Niveau 1: version simple ne présentant que les variables d'entrée et le résultat final
  • Niveau 2: visualisation des données brutes et des calculs effectués
  • Niveau 3: visualisation de toute les données, approche différente

II-2. Environnement et mise en place

  • Totalité des aspects technique du projet à ma charge:
  • Nécessité de planifier le travail
  • Déterminer les technologies les plus adaptées à la situation
  • Surveiller la qualité de son travail

Workflow

  • 1. Ciblage du projet : réunions, entretiens avec l’équipe
  • 2. Modélisation : prototypage, réalisation de maquettes
  • 3. Recherche et mise en place des composants de l’application (serveur, environnement de développement, de test et de production)
  • 4. Planification des itérations de développement
  • 5. Itérations de développement
  • 6. Revue du travail effectué, préparation de la maintenance

Technologies utilisées

  • Stack:
  • Linux, hébergé par Heroku
  • Ruby on Rails
  • PostgreSQL
  • Projet open-source:
  • Aspect collaboratif: Git et Github
  • Outils de test et de contrôle qualité: Travis, Code climate, Gemnasium

Ruby on Rails

  • Framework MVC basé sur le langage Ruby
  • Dispose d'une grande base d'utilisateurs actifs
  • Permet l'intégration de "gemmes"

Heroku

  • Hébergement scalable
  • N'héberge que des projets Rails et Node.js
  • Utilise Git pour gérer le déploiement de l'application

Testing et contrôle qualité

  • Travis se déclenche automatiquement à chaque mise à jour publiée sur Github et suit un ensemble de directives défini par le développeur
  • Code Climate parcourt le code et détecte les erreurs et les améliorations possibles
  • Gemnasium vérifie l'intégrité des gemmes utilisées dans le projet et gère leur mise à jour
  • Travis peut ensuite déclencher les procédures de test écrites pour l'application

II-3. Développement

  • Basé sur des itérations de 3 à 5 semaines
  • Feedback constant venant de l'équipe
  • Base de code perpétuellement en évolution en fonction des contraintes imposées par l'équipe

Organisation du code

  • Partie statique
  • Partie interactive séparé en trois niveaux

Démonstration

Conclusion

Un contexte original et un sujet passionant:
Un groupe de recherche multi-culturel, pionnier dans sa discipline et hébergé par le plus important pôle de recherche en Espagne, et une méthodologie permettant de modéliser et étudier l'ensemble des parties constituant notre société moderne
Acquisition et renforcement de compétences techniques:
La mise en place d'un projet informatique du début jusqu'à la fin et l'utilisation de nouvelles technologies
Des perspectives professionnelles:
Le métier d'ingénieur full-stack, sa versatilité et son lien étroit avec la veille technologique

Merci de votre attention!

Questions ?