• Aucun résultat trouvé

Conception d’un logiciel de Diagnostic Multifonctionnel desexploitations agricole (DIAM),

N/A
N/A
Protected

Academic year: 2021

Partager "Conception d’un logiciel de Diagnostic Multifonctionnel desexploitations agricole (DIAM),"

Copied!
37
0
0

Texte intégral

(1)

HAL Id: hal-02805368

https://hal.inrae.fr/hal-02805368

Submitted on 6 Jun 2020

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Conception d’un logiciel de Diagnostic Multifonctionnel

desexploitations agricole (DIAM),

Alice Goret, Quentin Lorthiois

To cite this version:

Alice Goret, Quentin Lorthiois. Conception d’un logiciel de Diagnostic Multifonctionnel desexploita-tions agricole (DIAM),. [Stage] ISIMA. 2013, 36 p. �hal-02805368�

(2)

INRA Site de Crouel 5 Chemin de Beaulieu 63000 Clermont-Ferrand Institut Supérieur d'Informatique de Modélisation et de leurs Applications Complexe des Cézeaux

BP 100125 63173 Aubière Cedex

Rapport d'ingénieur Projet de troisième année

Filière 3 : Systèmes d'Information et Aide à la Décision Tome I

Conception d’un logiciel de Diagnostic Multifonctionnel des

exploitations agricole (DIAM)

Présenté par : Alice GORET et Quentin LORTHIOIS Responsable entreprise : Pascal CARRERE

(3)
(4)

Remerciements

Nous tenons tout d'abord à remercier nos deux encadrants de l'INRA : messieurs Pascal CARRERE et Raphaël MARTIN, sans qui ce projet n'aurait pas été mis en place. Leur écoute et les conseils qu'ils ont su nous donner nous ont permis d'avancer tout au long de ce projet.

Nous souhaitons également remercier M. Philippe LACOMME, pour nous avoir encadré et supervisé. Sa présence lors de certaines réunions de travail, notamment au début du projet, nous a permis de correctement mettre en place celui-ci.

Enfin, nous présentons nos salutations et remerciements à madame Clémentine LACOUR et à toute l'équipe du projet DIAM, qui nous ont fournit un exemple d'utilisation du logiciel et qui étaient présents lors de différentes réunions.

(5)

Résumé

L'INRA, l'Institut National de la Recherche Agronomique, intervient dans de nombreux domaines dont en particulier tout ce qui touche au suivi des sols et des milieux naturels. Sa mission l'amène naturellement aussi à concevoir des outils en collaboration avec les acteurs de la filière agricole en passant, en particulier par les chambres d'agricultures.

A l'heure actuelle, il existe un outil de diagnostic multifonctionnel des exploitations agricoles nommé DIAM. Toutefois ce logiciel est sous format Excel, ce qui pose de nombreux problèmes de maintenabilité et de portabilité. De plus, un outil de typage des prairies existe sous format papier et son intégration au logiciel simplifierait le travail des utilisateurs. Afin de répondre à ces différents besoins, le projet « Conception d'un logiciel de diagnostic multifonctionnel des exploitations agricoles (DIAM) » a été mis en place en collaboration avec l'ISIMA.

Afin de développer un outil performant, nous avons dû, dans un premier temps, nous concentrer sur l'étude des besoins et la rédaction d'un cahier des charges. Une fois celui-ci terminé, nous avons commencé l'analyse du logiciel existant afin de détailler les différents éléments à intégrer dans la base de données XML ainsi que les calculs qui devront être implémentés. Enfin, nous avons pu commencer l'implémentation en Java, langage choisi pour sa portabilité, son évolutivité et sa maintenabilité.

L'analyse des besoins a fait apparaître que la charge de travail nécessaire pour porter le logiciel DIAM en Java dépassait le temps alloué au projet dans le cursus de l'ISIMA. Il a été décidé de faire porter les efforts sur : une base de données, un outil de typage des prairies et une interface graphique qui permet la saisie des entrées. Les premiers calculs sont également effectués et des sorties sont générées sous format texte. Actuellement, le logiciel est en phase de test afin de valider les sorties à celle obtenues précédemment sous Excel.

Une suite au projet est donc possible dans le but de transformer les sorties texte en pdf et, pourquoi pas, faire évoluer DIAM vers un outil de conseil.

Mots Clés

(6)

Abstract

The INRA, Institut National de la Recherche Agronomique, is involved in many fields, including the study of farms.

Currently, there is a multifunctional diagnosis tool on farms named DIAM. However this software is in Excel format, leading to many problems of maintainability and portability. In addition, a tool for identifying types of grasslands exists in paper format and its integration would simplify the users' work. In order to respond to those needs, the project “ Conception d'un logiciel de diagnostic multifonctionnel des exploitations agricoles (DIAM) “ has been established in partnership with the ISIMA.

To create a powerful tool, we focused on needs assessments and writing specifications. When it was completed, we started the analysis of the existing software to identify elements which must be included in the XML database and calculations. Finally, we began the implementation in the Java language, chosen for its portability, its scalability and its maintainability.

With the time constraints we had, we focused on inputs. Now, the software has a database, the tool for identifying types of grasslands and the graphical interface to enter input data. First calculations are made and then the program generates output files in text format.

The project can be pursued in order to add functionalities, such as transforming output files to pdf format. DIAM may also evolve to be a consulting tool.

Keywords

(7)

Table des matières

Introduction...1

I- Contexte du projet...2

I.1- L'INRA...2

I.2- Le projet DIAM...2

I.3- Description du sujet du projet...3

I.3.1- Le projet existant...3

I.3.2- Description de la demande...3

I.4- Choix des outils...4

I.5- Prévisions du déroulement du projet...6

II. Analyse de la version sous Excel ...9

II.1- Analyse général ...9

II.2- Analyse précise...11

III- Développement de l'outil ...14

III.1- La base de données...14

III.2- Outil de typage des prairies...16

III.3- Gestion des entrées...19

III.3.a- L'interface graphique...19

III.3.b- La gestion dynamique du profil parcellaire...20

III.4- Les sorties...22

IV- Résultats et suite du projet...24

IV.1- Résultats...24

IV.2- Suite possible du projet...25

(8)

Table des figures

Illustration 1: Digramme de Gantt prévisionnel...7

Illustration 2: Diagramme de Gantt final...7

Illustration 3: mode d'emploi des cellules...10

Illustration 4: Exemple de détaille d'une cellule de calcul...12

Illustration 5: Exemple de type en XML...15

Illustration 6: Outil de typage pour la clé "Prairie permanente"...17

Illustration 7: Exemple de liste élaguée...18

Illustration 8: Interface graphique de DIAM...20

(9)

Glossaire

AOP : Appellation d'Origine Protégée.

DIAM : Logiciel de Diagnostic Multifonctionnel des exploitations agricole. IDE : Environnement de développement intégré.

INRA : Institut National de la Recherche Agronomique. Java : Langage de programmation orienté objet.

JAXB : Java API for XML Binding , API Java de conversion entre Java et XML. Eclipse : IDE qui permet de développer en Java.

Excel : Logiciel de tableur de la suite bureautique Microsoft Office.

(10)

Introduction

L'INRA, l'Institut National de la Recherche Agronomique, intervient dans de nombreux domaines dont en particulier tout ce qui touche au suivi des sols et des milieux naturels. Sa mission l'amène naturellement à concevoir des outils en collaboration avec les acteurs de la filière agricole en passant, en particulier par les chambres d'agricultures. L'une de ces applications est un outil de diagnostic multifonctionnel des exploitations agricoles (DIAM).

DIAM est un outil qui permet à des conseillers agricoles de fournir le diagnostic d'une exploitation. Ce diagnostic génère plusieurs types de résultats dont des diagrammes, des notes ainsi que des radars. Toutefois, ce logiciel est actuellement sous format Excel, ce qui pose de nombreux problèmes de maintenabilité et de portabilité. Qui plus est, afin de pouvoir réaliser le diagnostic de l'exploitation, le conseiller doit remplir un tableau de données dans lequel figure notamment le type de la prairie. Il est donc amené à identifier le type d'une prairie en fonction d'un certains nombres de critères, via un arbre de décision qui existe uniquement sous format papier. Afin de faciliter le travail des conseillers, il fallait donc intégrer cet outil de typage à DIAM.

C'est pour répondre à ces différentes problématiques que ce projet, en collaboration avec l'ISIMA, a vu le jour.

Une courte présentation de l'INRA et du logiciel DIAM existant permet de définir les besoins et les attentes quant au logiciel qui doit être développé. Par la suite, ce document présente une étude détaillée de l'outil actuel et analyse notamment sa structure, ses différents calculs ainsi que les problèmes rencontrés au cours de l'analyse. Puis, la partie implémentation de la solution est détaillée, avec la mise en place de la base de données, de l'outil d'identification des prairies et des fichiers de sorties. Enfin, les résultats et une réflexion sur les suites à donner au projet sont présentés.

(11)

I- Contexte du projet

I.1- L'INRA

L'INRA (Institut National de la Recherche Agronomique) travail pour l'innovation et l'accumulation de connaissances dans les domaines de l'alimentation, de l'agriculture et de l'environnement aussi bien économiquement que socialement [1]. L'INRA travail notamment avec le programme Prairies AOP afin d'étudier et d'analyser ces prairies et de mieux en comprendre les enjeux.

I.2- Le projet DIAM

DIAM est un outil de diagnostic innovant et prospectif des systèmes fourragers laitiers issu d’une co-construction entre le Développement, la Recherche et les filières fromagères AOP du Massif central. Il permet de réaliser un diagnostic multicritères qui porte sur l’autonomie fourragère, la cohérence du système fourrager et sur les services rendus par les surfaces herbagères de l’exploitation : services fourragers, environnementaux et ceux liés à la qualité nutritionnelle et sensorielle des fromages. Sa mise en œuvre nécessite pour le conseiller agricole de typer préalablement chaque parcelle du système fourrager à l’aide de la typologie multifonctionnelle des prairies des territoires AOP du Massif central et de recueillir des données sur le fonctionnement de l’exploitation. [2]

(12)

I.3- Description du sujet du projet

I.3.1- Le projet existant

Pour l'instant le projet DIAM est un logiciel sous Excel qui permet aux conseillers agricoles, après avoir recueilli des informations auprès des agriculteurs, d'effectuer un diagnostic sur leurs exploitations agricoles. Pour pouvoir l'utiliser, les conseillers doivent être capable d'identifier le type de chaque prairie à l'aide des différentes fiches disponibles sous format papier. Il doivent également pouvoir sélectionner les valeurs à utiliser dans les abaques (fournis à la fin du logiciel) afin que le logiciel puisse effectuer les calculs et ressortir les diagnostics.

I.3.2- Description de la demande

Ce projet a pour objectif de développer un logiciel évolutif et portable en se basant sur le logiciel DIAM existant actuellement sous format Excel. Pour ce faire, ce projet peut se décomposer en plusieurs objectifs : créer un outil de typage des prairies, développer une interface graphique, intégrer les calculs existants dans le logiciel sous Excel au nouveau logiciel en les optimisant, développer des bibliothèques d'outils complémentaires et générer des fichiers de sorties proches de ceux existant actuellement. Puis, suivant l'avancé du projet, il y a possibilité d'en créer un version mobile.

(13)

Le projet devrait permettre une utilisation simple et rapide du logiciel DIAM par le conseiller. Il faut pour cela simplifier au maximum l'interface graphique en restant fidèle au logiciel existant pour ne pas déstabiliser l'utilisateur en changeant ses habitudes. Toujours dans une volonté de simplifier l'utilisation, il faudrait intégrer un outil d'identification des types des prairies.

Pour réaliser ce logiciel un certain nombre de contrainte nous étaient imposées. Afin de respecter la contrainte de portabilité du logiciel à créer, il fallait choisir un langage qui respecte ces conditions mais également ne pas imposer l'utilisation de logiciels tiers. La durée imposée par l'ISIMA pour réaliser ce projet était d'une centaine d'heures. Il a donc fallu prendre ce facteur en compte, notamment dans la gestion et la répartition du travail (voir I.5).

I.4- Choix des outils

Afin de respecter toutes les contraintes, nous avons eu à faire des choix, plus ou moins imposés. Ces différents choix ont pu porter sur le langage de programmation, l'environnement de développement ou encore le type de base de données à mettre en place. Nous allons maintenant présenter les différents outils utilisés.

(14)

JAVA

C'est un langage de programmation orienté objet. Développé par Sun Microsystems dans les années 1990, il permet de programmer des logiciels compatibles avec la plupart des systèmes d'exploitations (Windows, Linux et même Mac).

En effet, cela est dût à la présence de la machine virtuelle Java (qui exécute les programmes) qui est fourni d'office par ces systèmes d’exploitations. Java donne aussi la possibilité de développer des programmes pour téléphones portables (des applications mobiles en Android par exemple) et assistants personnels.

Nous avons donc choisi ce langage afin de permettre la portabilité du logiciel. De plus, dans l'optique de faire évoluer le projet vers une application mobile, le Java semblait être le choix le plus approprié.

Eclipse

Eclipse est un environnement de développement intégré (IDE) qui permet de développer un grand nombre de programmes dans différents langages (C++, Java, etc). Il offre de nombreuses fonctionnalités tel que la modélisation, la conception ou encore les tests. Eclipse offre également un outil de création d'interface graphique simple et efficace, qui permet de visualiser en temps réel l'évolution de cette dernière.

(15)

Pour toutes ces raisons et comme il s'agissait d'un IDE que l'on connaissait, nous avons choisit de l'utiliser pour le développement de cette application.

XML

Le langage XML (Extensible Markup Language) est un langage informatique de balisage générique. Il permet l'échange de contenu complexes entre différents systèmes d'informations. Un fichier XML peut facilement être lu et comprit par tout utilisateur, même si ce dernier n'est pas informaticien. En effet, sa structure ressemble à une structure native.

Comme la base de données devait pouvoir être aisément modifiée par la suite et potentiellement par des non-informaticiens, nous avons pensé que ce langage répondait à ces attentes. Une simple duplication d'un fichier permet un ajout rapide d'un nouveau type.

I.5- Prévisions du déroulement du projet

Afin de réaliser correctement ce projet, nous l'avons divisé en quatre phases : la définition des besoins, la rédaction du cahier des charges (disponible en annexe page XXVI), le développement du logiciel et la phase de tests. Le développement comporte lui-même différentes parties qui sont : la mise en place de la base de données, la création de l'interface graphique, l'implémentation des nombreux calculs et la génération des sorties.

(16)

La diagramme de Gantt ci-dessous explicite la gestion du temps que nous pensions mettre en place au cours de ce projet.

Toutefois, au fur et à mesure de l'avancée du projet, nous avons dû adapter ce diagramme en revoyant les objectifs initial à la baisse. En effet, il nous est apparu que pour réaliser l'intégralité de ce que nous devions faire, il fallait largement dépasser la durée de 100h imposée par l'ISIMA.

Le second diagramme de Gantt (ci-dessous) représente l'avancé réel qui a eu lieu.

Illustration 1: Digramme de Gantt prévisionnel

(17)

Afin de pouvoir suivre au mieux l'évolution du projet, et de pouvoir se fixer régulièrement des objectifs à court termes, nous avons planifiés, tout au long du projet, des réunions. Ces réunions avaient lieux aussi souvent que possible ou quand cela était nécessaire. Les personnes présentes pouvaient être nos référents de l'INRA ou bien toute l'équipe qui suit le projet DIAM. Pour certaines de ces réunions nous avons fait des compte rendu, ceux-ci nous ont permis de structurer notre travail et de mieux visualiser notre avancement. Ils sont disponibles en annexes de la page I à la page VI.

(18)

II. Analyse de la version sous Excel

II.1- Analyse général

La prise en main du logiciel DIAM existant nous a permis de mieux visualiser notre approche de développement. C'est pour cela qu'une description du logiciel est importante afin de comprendre notre raisonnement et nos choix tout au long du projet.

Le logiciel DIAM est sous format Excel. Il est donc composé de différentes feuilles (une vingtaine) liées les unes aux autres.

Il y a six feuilles de commentaires et de présentation : OUTIL3-page de présentation », « Auteurs », « Remerciements », « Sommaire », « mode d'emploi » et « Commentaires ». Ces six feuilles permettent à l'utilisateur de comprendre comment utiliser le logiciel mais également de lui présenter le logiciel.

La feuille « mode d'emploi » contient un code couleur pour distinguer les différents types de cellules (comme nous pouvons le voir ci-dessous) : les cellules jaunes sont à remplir avec l'éleveur, les cellules turquoises sont à remplir par le conseiller, les cellules grises sont des cellules de calcul, les cases rose sont des cellules facultatives et les cellules vertes sont des listes déroulantes.

(19)

A ces six feuilles s'ajoutent les trois feuilles qui gèrent les informations d'entrées : « (E) Général » permet de saisir les informations générales sur l'exploitation agricole tel que la surface totale ou le type d'engrais pour herbe utilisé. « (E) Profil parcell. » permet de saisir pour chaque parcelle de l'exploitation agricole l'ensemble des données nécessaires à la suite de l'étude tel que sa surface ou son type de prairie. Et « (E) Conso an. Stock » permet de saisir des informations relatives à la consommation annuelle et aux stocks récoltés.

Ce logiciel est également composé de sept feuilles de résultats : « (R) bilan fourr. » comprend l’ensemble des calculs nécessaires pour obtenir le bilan fourragers. « (R) module fourr. » se compose d'une partie qui expose les résultats liés à l'évaluation de la cohérence du système fourrager et d'une deuxième partie qui traite des services fourragers. « (R) module enviro » réunit l'ensemble des résultats liés à l'évaluation des indicateurs environnementaux du système fourrager. « (R) module fromage » donne les résultats sur le potentiel sensoriel et nutritionnel des fromages. « valorisation des ressources (R) » renvoie des notes sur différentes parties de l'analyse. « Synthèse (R) » retourne une synthèse des différents résultats obtenues dans les feuilles précédentes. Enfin, « Radars (R) » complète la synthèse avec des radars permettant de mieux visualiser les résultats obtenus. C'est dans ces feuilles que sont effectués la plupart des calculs permettant de ressortir les résultats de

10

(20)

l'analyse.

Pour finir, le logiciel est également composé de 4 feuilles de références (appelées abaques) : « (REF) fourrages » se compose de plusieurs références sur les surfaces à faucher et à pâturer en élevage laitier mixte. « (Calc) reperes Typo » qui réfère l'ensemble des informations sur la typologie des prairies. « Ref) Abaque ingestion » qui détaille les normes d'ingestion fourragère. Et « (Ref) abaque concentrés » qui est la fiche de référence des réseaux d'élevage Auvergne et Lozère. Toutes ces feuilles permettent aux conseillers agricoles de saisir des valeurs de références dans le logiciel quand cela leur est demandé. Ces abaques pourront par la suite être automatisés par DIAM.

II.2- Analyse précise

Pour pouvoir réellement créer une version du logiciel DIAM en Java, il nous a fallu comprendre plus précisément le fonctionnement du logiciel. Pour cela, nous avons tout d'abords dû comprendre l'ensemble des termes utilisés dans le logiciel de manière à pouvoir comprendre le fonctionnement de ce dernier et vérifier que les calculs (dans la mesure de nos connaissances et de notre compréhension) correspondaient aux attentes.

De plus, il nous a fallu expliciter tous les calculs présents à l'aide d'une étude approfondie afin de pouvoir les implémenter correctement dans notre solutions. Il y avait un peu plus de 250 cellules à analyser.

(21)

Pour mieux comprendre la difficulté de l'exercice, voici un exemple simple d'une des cellules de calculs étudiée : dans la feuille « valorisation des ressources (R) » le détaille de la première note (Partie 1 : autonomie fourragère) est visible ci-dessus. On peut donc voir qu'une simple cellule de calcul d'une feuille Excel renvoie à une cellule d'une autre feuille du logiciel. On peut également observer que derrière une cellule peut se trouver un algorithme (plutôt simple dans cet exemple) également présent dans l'illustration. Effectivement, en fonction de la valeur de la cellule (E) General C14, la note attribuée pour l'autonomie fourragère sera de 1, 2 ou 3. Dans cet exemple simple, la cellule de calcul ne renvoie qu'à des cellules d'une unique autre feuille mais il peut arriver d'avoir des cellules dont l'expression, plus complexe à comprendre, renvoie à plusieurs cellules de différentes feuilles. L'ensemble de l'analyse des calcul est disponible en annexe (page VI à XIII).

Cette analyse précise nous a permis d'identifier un certain nombre de problèmes dans le logiciel (cases vides, incohérence entre le calcul et ce à quoi il correspond...). Une liste de ces erreurs est disponible page XXIV des annexes.

12

(22)

Pour effectuer cette analyse, nous nous sommes appuyé sur un exemple d'utilisation du logiciel. Lors de la dernière réunion, en présentant les différents problèmes du logiciel qui ont pu ressortir de cette analyse, nous nous sommes rendu compte que nous n'avions pas travaillé sur la bonne version du logiciel. Il sera donc nécessaire de comparer les résultats obtenus par notre logiciel avec la dernière version de DIAM sous Excel afin de modifier les incohérences qui auraient pu apparaître suite à l'utilisation d'une mauvaise version du logiciel.

(23)

III- Développement de l'outil

III.1- La base de données

Le logiciel DIAM devait comporter une base de données comprenant la liste des types de prairies. Cette typologie existait uniquement en format papier et pdf, donc peu exploitable par l'utilisateur. Nous devions adapter cette typologie et la recréer sous un autre format.

Afin de permettre la maintenabilité de l'outil, et en prévision de l'augmentation du nombre de types de prairies AOP, nous voulions une base de données simple d'utilisation et à laquelle il serait facile d'ajouter des nouveaux éléments ou de modifier les anciens. C'est pour cela que nous avons décidé d'utiliser le langage XML qui est proche d'un langage natif et donc aisément compréhensible par tout utilisateur.

Ainsi, d'un point de vue physique, nous avons un dossier « Database » qui contient les différents fichiers XML. Chaque fichier correspond à un type précis (Illustration 5). Pour ajouter un nouveau type à la base de données, il suffit donc de dupliquer l'un des fichiers, de changer son nom et de modifier la valeur des attributs.

Un fichier peut se décomposer en deux parties. La première partie comporte les balises qui correspondent aux attributs du type (utilisés dans les calculs de résultats), tandis que la seconde partie contient les balises qui correspondent aux critères de décisions

(24)

(utilisés par l'outil d'identification des prairies). De plus, nous avons décidé d'intégrer un fichier XSD, qui décrit la structure des fichiers XML et permet ainsi une exportation simple des fichiers sur un autre système d'informations.

D'un point de vue gestion par le logiciel, la base de données est un singleton. C'est à

(25)

dire qu'il ne peut en exister qu'une seule à la fois. Lors de la phase de démarrage, le logiciel parcours chaque fichier XML présent dans le dossier spécifié, l'ouvre, et le transforme en une instance d'une classe Java à l'aide de la bibliothèque JAXB. Cette bibliothèque permet, à l'aide des méthodes « marshal » et « unmarshal » de transformer une instance de classe Java en un document XML et vis-versa, en transformant les attributs de la classe en balises dans le fichier. Aussi, si un nouveau type est ajouter physiquement par l'utilisateur (création d'un nouveau document XML), ce dernier n'aura aucune modification à apporter au logiciel qui chargera naturellement la nouvelle base de données au démarrage ou redémarrage.

III.2- Outil de typage des prairies

L'un des avantages que devait assurer notre logiciel était d'intégrer un outil d'identification des types de prairies. En effet, jusqu'alors, cet outil existait uniquement sous format papier et utilisait un arbre de décision. On devait ainsi parcourir l'arbre en sélectionnant, au fur et à mesure, les critères correspondant à la prairie. Aussi, si l'on ne possédait pas certaines informations sur la prairie, il était impossible d'arriver à l'identification (exemple de critères : savoir si la prairie est permanente ou semée, l'altitude de la prairie ou encore le type du sol). Nous devions donc améliorer l'outil tout en respectant certaines contraintes sur les clés de décisions de l'arbre (certaines étant incompatibles).

Au niveau graphique, l'outil se décompose en trois parties distinctes. Les deux premières parties correspondent à l'arbre de décision (la séparation en deux parties se fait en fonction du premier critère de sélection) et la troisième partie assure l'affichage des

(26)

résultats temporaires de la sélection.

Les deux premières parties correspondent au premier critère de sélection qui est le type de la prairie (permanente ou semée) qui sont incompatibles entre-eux. Aussi, lors du renseignement des différents critères, connus par l'utilisateur, le logiciel effectue un premier filtre en fonction du dernier critère remplit afin de déterminer le type de la prairie. Cette première sélection permet de s'assurer que seul les bons critères sont pris en compte dans le choix du type. Le remplissage des critères se fait soit par une saisie directe des valeurs (pour l'altitude par exemple), soit par une liste de choix proposé à l'utilisateur. La figure ci-dessous représente l'interface graphique de cet outil pour les prairies permanentes.

La sélection des types se fait par un algorithme simple d'élagage. Une liste,

(27)

comportant initialement tous les types présents dans la base de données, est mise à jour en fonction des différents critères renseignés par l'utilisateur. Il n'est ainsi plus nécessaire de remplir tous les critères afin de pouvoir obtenir une unique possibilité. Cette liste est réinitialisée lors de chaque modification d'un ou plusieurs critères.

De plus, l'outil devait tenir à jour la liste des types possibles, ce qui est le cas dans notre logiciel. En effet, la liste est mise à jour à chaque changement ou entrée d'un critère. Elle apparaît sur le côté droit de l'interface graphique. Un exemple de cette liste est visible ci-dessous, c'est celle que l'on obtient pour une prairie permanente ayant des problèmes de portance et un sol moyennement fertile.

Cette liste devait permettre à l'utilisateur de sélectionner le type voulu afin de valider ce dernier sans avoir à entrer tous les critères. Il devait également intégrer la possibilité d'afficher le type au format pdf par simple sélection. Toutefois, faute de temps, ces deux particularités ne sont pas disponibles pour le moment. La typologie au format pdf est en

18

Illustration 7: Exemple de liste élaguée

(28)

revanche présente dans la base de données.

III.3- Gestion des entrées

III.3.a- L'interface graphique

Afin de ne pas déstabiliser l'utilisateur avec le nouveau logiciel, nous avons décidé de conserver le système d'onglet pour l'interface graphique car cela restait fidèle à la version du logiciel existant sous Excel.

La contrainte de temps imposé de 100h ne nous permettant pas de réaliser la totalité du projet, nous avons décidé de nous concentrer sur la gestion des entrées. C'est pourquoi, à l'heure actuelle, le logiciel comporte uniquement les trois premières feuilles du document Excel, qui sont les éléments à remplir avec l'éleveur. Ces trois pages sont : les caractéristiques de l'exploitation, le profil parcellaire et la consommation annuelle en stocks.

Sous sa version Excel, DIAM permet à l'utilisateur de voir tous les calculs générés ainsi que de nombreuses cellules qui devraient lui être cachées. Aussi, lors de l'implémentation de notre solution, nous avons épuré les feuilles Excel correspondantes en ne conservant uniquement que les éléments à remplir.

(29)

Dans la nouvelle version, visible ci-dessus, nous pouvons voir l'interface de saisie des données générales de l'exploitation correspondant à la feuille Excel « (E) General » et également les onglets permettant d’accéder au profil parcellaire et à la consommation annuelle en stocks, ce qui reste proche de la version Excel.

III.3.b- La gestion dynamique du profil parcellaire

L'un des avantages de notre outil par rapport à son homonyme Excel est la gestion dynamique des lignes dans le tableau de profil parcellaire. En effet, pour le moment, un nombre de lignes maximum est imposé dans la version Excel, ce qui peut poser des problèmes pour une exploitation agricole dépassant le nombre limite de parcelles. Dans la

20

(30)

version Java, les lignes s’ajoutent et se suppriment en fonction des besoins ce qui permet d'avoir un tableau comportant autant de lignes qu'il y a de parcelles. De plus, un tableau statique est nettement moins lisible et plus volumineux, ce qui le rend donc moins intuitif, pratique et exploitable.

C'est pourquoi, nous avons implémenté une solution dynamique. Les différents boutons de l'interface graphique visible ci-dessous permettent l'ajout (« Ajouter Ligne ») ou la suppression (« Supprimer Ligne ») de lignes ainsi que le lancement de l'outil de type (« Identification ») et des fonctions de calculs (« Valider »).

(31)

Nous avions également pensé à intégrer une option permettant la duplication d'une ligne du profil mais cette dernière n'est pas implémentée pour l'heure. De plus, le remplissage des lignes peut être amélioré en ajoutant des listes de choix pour certaines valeurs. Par exemple, pour le type d'utilisation des parcelles. Pour cette cellule, l'utilisateur doit choisir entre différents types, identifiés par un code de lettres, renseignés en dessous du tableau dans la version Excel : déprimage+fauche (DF), ensilage herbe (EH), enrubannage (ENR), foin (F), regain (R), pâture VL (PVL), pâture génisses (PGN), pâture génisse (PGN) et pâture VA (PVA). Or si il y a erreur de saisie, l'ensemble des calculs est faussé car ils se basent sur ce code de lettres. D'où l’intérêt d'ajouter des listes de choix de valeurs qui évite les erreurs de saisie et rend le logiciel plus fiable.

Le bouton « valider » présent sur la feuille du profil parcellaire permet de lancer les fonctions de calculs et de générer les fichiers de sorties.

III.4- Les sorties

Après avoir rempli toutes les entrées dans les trois premières feuilles, il est possible de lancer les différents calculs intermédiaires via le bouton « valider ». Ces calculs sont ainsi cachés à l'utilisateur. Différents fichiers texte sont générés en sortie. Ils reprennent les valeurs des entrées ainsi que les résultats des calculs effectués. Un exemple des fichiers de sorties est disponible en pages XXVII et XXVIII des annexes.

(32)

L'intégralité des calculs présent sous la version Excel n'est pas implémentée. Seul les calculs intermédiaires présents sur les feuilles d'entrées sont réalisés. L'ensemble des calculs à implémenter est néanmoins disponible dans l'analyse du logiciel.

(33)

IV- Résultats et suite du projet

IV.1- Résultats

Le logiciel que nous avons développé comporte donc une base de données, simple d'utilisation et facile à maintenir, une interface graphique pour les trois feuilles d'entrées (caractéristiques de l'exploitation, profil parcellaire et consommation annuelle en stock), un outil opérationnel de typage des prairies, ainsi que l'implémentation de certains calculs intermédiaires. Il permet également de générer des fichiers texte contenant le récapitulatif des entrées et des calculs.

De plus, une analyse détaillé de DIAM a été effectuée. Cette étude était nécessaire pour la maintenabilité du logiciel. En effet, elle a notamment permis de comprendre les divers flux de données et les différents processus à mettre en œuvre pour la réalisation des sorties. Cette analyse permettra de simplifier la reprise du projet, notamment l'implémentation de tous les calculs et la générations des résultats.

Toutefois, l'étude préalable du logiciel n'ayant pas été effectuée sur la dernière version de DIAM, une phase de tests et de mise à jour des calculs sera sans doute nécessaire. Pour ce faire, un comparatif d'une même étude avec les deux versions (Excel et Java) devra être réalisé afin de mettre en relief les différences et de pouvoir corriger la version Java.

(34)

Nous avons vérifié, sur l'exemple utilisé pour l'analyse, que les résultats obtenus pour l'instant correspondent bien à ceux fourni par le logiciel sous Excel. En effet on obtient des résultats identique pour les deux logiciels. Il reste néanmoins à vérifier que ceux-ci correspondent à ceux de la dernière version de DIAM.

IV.2- Suite possible du projet

Le projet initial avait pour objectif de permettre la génération des sorties au format pdf, ce qui n'a pu être effectué faute de temps. C'est pourquoi, dans un premier temps, le projet devra être repris afin de terminer l'implémentation des calculs et transformer les fichiers texte générés en fichier pdf et csv. La réunion avec les acteurs majeurs du projet DIAM a révélé qu'il fallait mettre en place un système de choix multiple dans les sorties à générer. Ainsi les radars et autres sorties ne seraient pas nécessairement créés, le choix serait donné à l'utilisateur en fonction de ces besoins.

Cette réunion a également fait ressortir le besoin d'informatiser et d'automatiser les abaques. En effet pour le moment, le conseiller doit se référer à des abaques (les quatre feuilles de référence dans le logiciel sous Excel) afin de pouvoir remplir certains champs. Il faudrait alors que ces abaques soient renseignés dans la base de données afin que le logiciel automatise cette saisie en fonction des données déjà saisies par le conseiller agricole. Toutes ces phases peuvent faire l'objet d'un nouveau projet de deuxième ou troisième année à l'ISIMA.

(35)

Quelques améliorations peuvent également être apportées à l'outil de typage, en intégrant par exemple la possibilité d'afficher le type au format pdf via la liste des types proposés. Cela permettrait à l'utilisateur de vérifier si la sélection du type lui convient ou même de faire un choix entre différents types proposés.

Avec le développement croissant du nombre de tablettes tactiles et de smartphones, il serait intéressant de permettre une utilisation de DIAM sur ces outils. Le choix du Java a été fait afin d'assurer une exportation simple et rapide sur ces technologies mobiles. En effet, les applications Android sont codées en Java.

Une autre suite à donner à DIAM serait de le faire évoluer vers un outil décisionnel. Pour ce faire, il faudrait par exemple permettre aux conseillers d'enregistrer les différents diagnostics réalisés pour une exploitation et pouvoir les comparer. Ainsi, il pourrait lancer plusieurs analyses avec des entrées différentes et sélectionner la plus approprié pour l'exploitant.

(36)

Conclusion

Ce projet, en collaboration avec l'INRA, avait pour objectif d'implémenter, dans un nouveau langage, l'application DIAM qui existe sous Excel. En effet, cette dernière pose des problèmes de maintenabilité et de portabilité qui aurait amené DIAM à disparaître. Il fallait donc réagir.

Dans un premier temps, il a fallu définir les besoins auxquels devait répondre le futur logiciel et donc rédiger un cahier des charges. De plus, afin de clarifier les processus de fonctionnement de DIAM, une étude précise des données et des calculs devait être effectuée. Il était également recommandé d'intégrer un outil de typage des prairies afin de faciliter le travail des conseillers qui devront l'utiliser.

La durée du projet étant d'une centaine d'heures, il allait être impossible de réaliser l'intégralité du logiciel. C'est pourquoi nous avons décidé de nous concentrer sur l'analyse des besoins, l'étude du logiciel et la gestion des entrées. Ainsi, le logiciel possède actuellement une base de données XML, une interface graphique permettant l'entrée des données, l'outil de typage ainsi que les premiers calculs.

Cependant, ce projet n'est pas terminé et devra donc être repris par la suite. Une fois implémenté, DIAM pourrait même évoluer vers un outil de conseil.

(37)

Références bibliographiques

• [1] : http://institut.inra.fr/

• [2] : FARRUGGIA A. (1), LACOUR C. (2), ZAPATA J. (3), PIQUET M. (4), BAUMONT B. (3), CARRERE P. (4) et HULIN S. (5), « DIAM, un diagnostic innovant déclinant les compromis production, environnement et qualité des fromages au sein des systèmes fourragers des zones AOP du Massif central »

Figure

Illustration 1: Digramme de Gantt prévisionnel
Illustration 3: mode d'emploi des cellules
Illustration  7:   Exemple   de   liste  élaguée
Illustration 9: Gestion des parcelles

Références

Documents relatifs

Nous allons voir comment réaliser différentes mesures sur le courant dans la résistance par exemple Après avoir lancer la simulation, prendre toujours un nombre de périodes

Même si les deux premières options permettent d’exporter les tableaux de données associés au graphique, l’expérience montre que l’exportation d’une image simplifiée

3) En cliquant sur ce menu, vous êtes automatiquement dirigé et connecté à votre espace personnel sur le site de COMPILATIO. Si vous voulez classer vos documents, vous pouvez

Pour définir l'état des entrées, il suffit de sélectionner une portion du chronogramme (un ou plusieurs signaux à la fois) puis de cliquer sur pour mettre à '0' ou sur pour

Nous allons utiliser Maestro pour configurer l’afficheur LCD (Liquid Crystal Display) de la carte PICDEM 2 PLUS, ce type d’afficheur demandant une phase

Reprendre la simulation précédente (sans modifier les effectifs d'éléphants obtenus à la fin de la phase précédente) en modifiant les paramètres nécessaires (nombre de chasseurs

Utiliser ensuite le bouton "Pondérations" et définissez la colonne contenant les effectifs comme variable de pondération (voir le paragraphe "définir une pondération

Cliquer sur modèle prédéfini puis sur l’icône où il y a une droite. La régression est alors effectuée avec l’équation écrite dans la fenêtre en haut à gauche : on peut