Analyse fonctionnelle

De Metabolisme territorial
Aller à : navigation, rechercher

Voir : "Pratique de l'analyse fonctionnelle"

L'analyse fonctionnelle va consister, comme son nom l'indique, à définir les fonctions attendues d'un SINAMET. Nous la construisons à l'aide d'une démarche analytique qui partira de la fonction principale attendue : Faciliter l'automatisation du traitement de données dans les études de métabolisme territorial.

Cette fonction principale se décline toutefois selon deux catégories d'utilisateurs potentiels que nous allons étudier séparément :

  • Ceux qui maîtrisent les rudiments de traitements de données (utilisateur avancé), en particulier la logique des structures et des bases de données ainsi que des notions de programmation. Le SINAMET doit permettre à ces utilisateurs de développer facilement des algorithmes pour le traitement des données afin d'explorer de nouvelles approches.
  • Ceux qui veulent directement les résultats concernant un territoire en particulier, sans forcément en connaître les rouages algorithmiques permettant le traitement de données (utilisateur novice). Cette deuxième catégorie d'utilisateur doit ainsi pouvoir réutiliser facilement les algorithmes développés par la première pour l'appliquer à d'autres territoires.

Catégories d'utilisateurs

Dans le chapitre 2, nous insistons sur la nécessité de rendre intelligibles les résultats des analyses de flux auprès des divers acteurs du territoire. Il s'agit de leur apporter une information compréhensible et qui leur permette de s'engager vers une meilleure maîtrise de leurs flux, tant individuellement que collectivement. En ce sens, nous faisons le choix d'opter pour des résultats essentiellement graphiques qui nous paraissent mieux répondre à ces objectifs (§ 1).

Notre volonté à travers la conception du SINAMET est ainsi de permettre à un maximum de personne d'accéder à cette information. Cela implique de rendre simple d'utilisation notre logiciel, notamment à travers une interface graphique ergonomique. Toutefois, une interface graphique est forcément limitée dans ses fonctionnalités (Thomsen & Bach 2009). Or la multiplicité des méthodes d'analyses de données (§ 1), des techniques de représentation (§ 1) et des axes d'analyses (§ 3) conduit à un nombre incalculable de résultats possibles.

Aussi, il est inenvisageable de dresser une liste exhaustive des méthodes d'analyses pour le métabolisme des territoires. Nous devons donc permettre aux utilisateurs de créer facilement de nouveaux algorithmes de traitement de données pour diversifier un panel forcément incomplet. D'un autre coté, la plupart des personnes n'ont pas les compétences pour cela et ils doivent ainsi pouvoir réutiliser ce qui a été conçu par d'autres, éventuellement en ayant la possibilité de modifier des paramètres à travers une interface graphique.

Nous identifions donc deux catégories d'utilisateurs : les développeurs qui pourront mettre au point de nouvelles techniques de traitement de données, et les utilisateurs "lambda" qui devront réutiliser celles existantes. Le SINAMET est ainsi pensé pour faciliter au maximum le travail des développeurs et pour rendre accessible ce travail aux autres utilisateurs. Dans la suite de cette analyse fonctionnelle, il s'agit donc essentiellement d'identifier les fonctionnalités destinées aux développeurs. Les aspects relatifs à l'interface graphiques, qui concernent les autres utilisateurs, sont abordés plus loin.

La division des tâches au sein du SINAMET

Quatre approches phases à séparer : l'importation des données, les traitements, la navigation et les exportations/représentation

Importer des données

Afin de manipuler des données, la phase d'importation est incontournable. Elle confronte l'utilisateur au choix des données qu'il veut utiliser dans son analyse. Ces données peuvent être issues de différentes sources et avoir différentes formes. Nous recensons quatre manières d'importer des données :

  • Manuellement, à travers un formulaire
  • Via un tableur (Excel, ODS, CSV, ..)*
  • Via des requêtes sur des bases de données locales ou distantes
  • Via des requêtes web sur des interfaces de programmation (API) ou requêtes SPARQL si la source de données est compatible avec les technologies du web de données.

Les deux premières approches sont accessibles à une grande partie des utilisateurs, tandis que les deux suivantes requièrent un niveau d'expertise informatique plus élevé. Le SINAMET donne ainsi la possibilité d'ajouter des modules d'importations dont l'objectif est d'abstraire la complexité lié à la construction de requêtes. Ainsi, l'utilisateur final néophyte n'a plus qu'à choisir en quelques clics les sources de données qu'il souhaite mobiliser, sans se soucier de savoir comment elles sont obtenues. A charge pour des développeurs (les initiés) de concevoir ces modules d'importations supplémentaires pour différentes sources de données. Les tableurs (Excel, CSV) sont probablement les formats de données les plus répandus. Le SINAMET intègre nativement les fonctionnalités d'import de ces tableurs. Le module d'importation consiste en une association des colonnes à des attributs des diverses entités du modèle ontologique, puis à un parcours automatique ligne à ligne du tableur pour créer ou mettre à jour les objets de la base de données structurée. Par exemple, pour importer les données liées à la population de différents territoires (villes, départements, régions), un utilisateur aura plusieurs possibilités accessibles depuis le SINAMET :

  • Remplir manuellement le champ "Population" de chaque territoire directement dans l’interface logicielle (fonctionnalité encore non développée dans le prototype)
  • Trouver un tableau Excel (ou autre format de tableur) sur le site de l'INSEE (ou ailleurs), puis le charger dans la base de données du SINAMET à l'aide du module d'importation des tableurs qui permet de lier les colonnes du tableur aux différents attributs du territoire (fonctionnalité développée dans le prototype)
  • Charger un module dédié à l’importation des données sur la population. Ce module peut consister en des requêtes sur un ou plusieurs sites internet ou bases de données. L’utilisateur du SINAMET doit simplement choisir dans une liste les données qu'il veut importer (fonctionnalité en cours de développement)

Navigation dans la base de données

Traitements sur la base de données

Exportations des données

Objectif : Obtenir des données finales


Affichage graphique

Nous avons identifié l'approche graphique comme essentielle pour restituer une grande quantité d'information auprès d'acteurs humains. Le SINAMET doit donc intégrer les fonctions qui permette de construire des graphiques le plus simplement possible à partir des données stockées dans la BDD. Il ne s'agit pas de construire visuellement le graphique : des bibliothèques graphiques font déjà un très bon boulot, et nous utilisons dans nos travaux la bibliothèque libre "matplotlib". Il s'agit surtout d'obtenir facilement les données finales qui vont permettre de construire le graphique.

Graphiques pour l'analyse temporelle

Un exercice fréquent pour extraire de l'information de données est l'analyse temporelle de flux. Prenons un des exemples traité dans notre travaux : la consommation d'énergie d'un bâtiment de l'EMS. En l'occurrence ici l'école Jacqueline. Nous souhaitons visualiser l'évolution de la consommation d'énergie en fonction du temps. L'opération est conceptuellement simple : 1) Récupérer toutes les consommations de l'école, 2) Organiser les données selon un axe temporel, 3) Créer le graphique d'évolution à partir des données organisées.


Graphiques pour l'analyse spatiale

La spatialisation de la matière et des flux est une dimension d'analyse du métabolisme d'un territoire. Les cartes constituent un des meilleurs outils disponibles pour appréhender intuitivement la dimension spatiale.

Typologies d'informations à gérer à travers le SINAMET

Gestion des instances et de leurs attributs (FIA)

A travers l'analyse ontologique du métabolisme territorial, nous avons identifiés six classes d'objets principales : Territoire, Acteur, Omes, Flux, Stock et Transformation. Conceptuellement, le traitement des données liées au métabolisme territorial va consister dans la phase d'importation à créer des instances et à leur associer des propriétés de toutes sortes (la population d'un territoire, l'origine d'un flux, la quantité d'un stock ...) et dans la phase d'exportation à trouver les instances que l'on souhaite étudier et à en extraire les propriétés qui nous intéressent. Si certaines propriétés essentielles ont été identifiées dans l'analyse ontologique, leur liste n'est pas exhaustive et il est difficile de prédire toutes les informations qui peuvent être utilisées pour caractériser les instances.

Le SINAMET doit donc permettre de gérer différentes instances et leurs propriétés. Concrètement, cela se traduit par différentes exigences fonctionnelles dans la gestion des instances et de leurs attributs :

  • FIA-1 : Pouvoir créer des instances, avec les attributs minimaux qui leur permettent d'avoir un sens
  • FIA-2 : Disposer d'une liste de propriétés pour les différentes instances et pouvoir la faire évoluer
  • FIA-3 : Pouvoir associer des propriétés (attributs ou relations) à ces instances
  • FIA-4 : Enregistrer ces instances et leurs propriétés dans une base de données
  • FIA-5 : Pouvoir rechercher dans la BDD une ou plusieurs instances selon leurs propriétés
  • FIA-6 : Pouvoir accéder aux propriétés d'une instance
  • FIA-7 : Pouvoir naviguer entre les différentes instances grâce à leur relations
  • FIA-8 : Afficher les informations concernant une instance
  • FIA-9 : Pouvoir utiliser plusieurs alias pour les objets (ex : République Tchèque / Tchèque, République)

La recherche des instances selon leurs propriétés (FIA-5) peut se faire par leur nom, leur code ou d'autres attributs simples. Mais l'intérêt du SINAMET est de pouvoir également les rechercher selon les liens que les instances entretiennent entre elles : les acteurs ou les flux sur un territoire, les stock d'un certain type d'OMES ... En particulier, les territoires ont des liens entre eux, ce qui donne la possibilité de naviguer entre les différents territoires (FIA-7) : les départements d'une région ou le contraire, les territoires frontaliers ou situés à moins d'une certaine distance, ...

Gestion des produits à travers différentes nomenclatures

Les OMES peuvent être référencés soit par un intitulé libre, soit par un intitulé correspondant à une nomenclature. Il est également fréquent de vouloir traduire des intitulés libres et intitulé standardisé ou de vouloir passer d'une nomenclature à une autre. Le SINAMET doit ainsi pouvoir permettre de gérer les références aux produits, les nomenclatures qui y sont associés, et les différents types de conversion d'intitulé. Concrètement, cela se traduit par les exigences suivantes (FPN) :

  • FPN-1 : Pouvoir enregistrer des Flux ou des Stocks avec un intitulé de produit libre ou issue d'une nomenclature
  • FPN-2 : Gérer une liste de nomenclature et donner la possibilité d'en ajouter de nouvelles
  • FPN-3 : Pouvoir convertir la référence à un produit vers une nomenclature donnée

Notes annexes OMES & Nomenclatures

En attendant, le prototype du SINAMET inclut déjà plusieurs fonctionnalités autour de la gestion des produits et des nomenclatures associées :

  • Importation des nomenclatures extérieures ou personnalisées, dans la base de données.
  • Visualisation de la hiérarchie d'une nomenclature ou des caractéristiques d'un item.
  • Visualisation de la synthèse d'une liste de flux à travers une nomenclature choisie (pour extraire par exemple la biomasse, ou les métaux)

Gestion des informations temporelles (FT)

Le temps est une des dimensions d'analyse du métabolisme territorial et les données manipulées dans les études sont la plupart du temps datées (l'information sur un flux sans la période ou un stock sans la date est une information inexploitable). Le SINAMET doit ainsi intégrer des fonctions qui permettent de gérer plus facilement la question du temps.

Il y a deux façons exclusives de repérer temporellement une donnée. Cela se fait soit par un instant (pour un stock, pour la population d'un territoire, ...), soit par une période (pour un flux, pour le PIB d'un territoire ...). Il faut aussi définir la précision temporelle à utiliser. Les applications en temps réel peuvent nécessiter une grande précision à la seconde près, voir en-deça. Nous ne nous intéressons pas dans nos travaux à ce type d'application. Aussi, une précision au jour près nous semble tout à fait acceptable pour l'instant vu les données que nous manipulons. Le SINAMET devra donc pouvoir manipuler des dates (12/07/2017) ou des périodes (10/07/2017 -> 18/08/2018, sous-entendu inclus).

Dans les six concepts identifiés grâce à l'analyse ontologique de la notion de métabolisme territorial, la notion de temps s'inscrit de différentes façon :

  • D'une part l'entité (un territoire, un stock, un flux, ...) en elle-même n'existe que sur une période limitée : des pays ou régions apparaissent ou disparaissent, un stock n'a de sens qu'à un instant donné, un flux que sur une période donnée. Dans certains analyses, on peut considérer le découpage territorial comme stable.
  • D'autre part, les attributs d'une entité peuvent être aussi repéré temporellement. La population d'un territoire n'est par exemple valable que pour un instant donné. Un territoire doit ainsi pouvoir avoir plusieurs attributs populations, pour différentes dates.

Ensuite, la question du temps doit pouvoir être gérée facilement à travers le SINAMET. Cela inclut notamment la possibilité de faire des analyses temporelles :

  • FT-1 : Pouvoir associer une période de validité aux instances (Flux, Territoires, Acteurs, ...)
  • FT-2 : Pouvoir associer une date ou une période de validité aux propriétés des instances
  • FT-3 : Pouvoir extraire des informations pour une date ou une période donnée
  • FT-4 : Pouvoir visualiser facilement des graphiques de l'évolution des quantités de flux, de Stock, ... en fonction du temps

L'extraction d'information pour une date ou une période donnée (FT-3) ne pose pas de problème si la temporalité correspond exactement aux données enregistrées. C'est toutefois rarement le cas : certaines période incluent parfois plusieurs données, ou les périodes de certaines données sont plus large que celle recherchée. Cette exigence implique d'embarquer dans le SINAMET des fonctionnalités qui vont permettre d'extrapoler des informations à partir des données existante, via des techniques d’agrégation, d'extrapolation linéaire ou de prorata temporis.

Gestion de l'information géographique (FIG)

Fonctionnalités pour le SINAMET

  • FIG-1 : Associer les limites géographique (un polygone géolocalisé) comme attribut d'un territoire
  • FIG-2 : Associer une position géographique (point géolocalisé) comme attribut d'une instance (Acteur, flux, stock, ...)
  • FIG-3 : Importer les données de shapefile au sein de la base de données
  • FIG-4 : Créer des Shapefile à partir des données extraites et traitées par le SINAMET
  • FIG-5 : Géocoder une adresse pour avoir les coordonnées géographiques du point correspondant
  • FIG-6 : Retrouver le territoire correspondant à un point / à une adresse.
  • FIG-7 : Visualiser des cartes correspondantes
  • FIG-8 : Mesurer des distances entre des points ou les surfaces de territoires

Geocodage : Nominatim, https://adresse.data.gouv.fr/faq , https://medium.com/@cq94/dont-be-evil-until-95f2e8dfaaad

Gestion des unités

Nous avons vu dans le chapitre précédent (La question de l'unité) que changer d'unité pour la quantification des flux permettait de cadre théorique d'analyse et donc de point de vue. Le SINAMET doit pouvoir ainsi intégrer les fonctionnalités permettant de gérer et convertir les unités le plus simplement possible. Trois éléments visent à permettre cela :

  • FS1 : Lors du chargement des données dans la BDD, il doit être possible d'associer plusieurs doublets quantité / unité pour chaque flux (kg, €, m3, kWh ...).
  • FA1 : Il doit être possible de convertir les unités usuelles et fixes (de tonnes en kilogrammes, de mètres-cubes en litres, ...)
  • FSA1 : Pour des produits donnés (ex : eau, gaz, pétrole), la conversion des unités doit être aussi simplifiée.

Gestion des références aux sources de données (FREF)

  • FREF-1 : Pouvoir gérer différentes sources de données et leur métadonnées
  • FREF-2 : Associer les propriétés des instances à leur source de données
  • FREF-3 : Identifier les sources de données qui ont été mobilisées dans un traitement

Intégrité des données

Voir aussi : Agréger les données#Format et intégrité des données

Héritage automatique (par somme, parent, BelongsTo, ...)

Manque des informations obligatoires pour donner du sens à une entité

Autres fonctionnalités attendus

Interface homme-machine

Performance / Vitesse d’exécution

Débogage


Références

• Thomsen, C., Bach Pedersen, T., 2009, Pygrametl: A Powerful Programming Framework for Extract-transform-load Programmers, DOLAP '09, pp. 49-56. ACM. DOI : 10.1145/1651291.1651301