Vivadour - Le Groupe Coopératif
Intitulé du projet

Vivadacs Mobile

Saisie terrain & export CSV

Intitulé du projet

Messon Joëlle (projet individuel)

Vivadacs Mobile : Saisie terrain & export CSV

1 Contexte

1.1 Parties prenantes

1.2 Historique

Vivadacs est un essai qui vise à comparer 3 systèmes des cultures (labour, travail simplifié, semis direct) sur une même parcelle. Le suivi d’indicateurs sur 5 ans est nécessaire (annexe 8 indicateurs Vivadacs).

En expérimentation agronomique, la saisie terrain est souvent réalisée sur papier, puis ressaisie manuellement. Cela peut entraîner :

Dans le cadre du diplôme, un projet individuel de conception numérique est demandé, avec programmation et utilisation de GitHub.

1.3 Finalité

Développer un dispositif numérique permettant de

SaisirSaisir sur mobile/tablette un relevé correspondant à un passage terrain dans l’essai Vivadacs
ExporterGénérer automatiquement un fichier .csv, avec un onglet Données (1 ligne = 1 relevé)

2 Cahier des charges

2.1 Livrable

2.1.1 Composants

2.1.2 Fonctions

Côté interface web

Côté VSCode

Le code Python, via le framework Flask, crée et gère le serveur web. VS Code prête sa console (le terminal) pour exécuter le script Python.

Lorsque ce script est exécuté, Flask ouvre un connecteur sur l’ordinateur (port 5000) et se met à "écouter" les requêtes HTTP (comme l'affichage de la page ou la soumission du formulaire) envoyées par le navigateur internet.

2.1.3 Attributs

Attributs de données

Attributs de qualité de saisie

Indicateurs ciblés

IndicateurDescription
vitesse_infiltration_beerkan_mm_hVitesse d’infiltration de l’eau (Beerkan) en unité mm/h
classement_structure_indiceClassement structure (test bêche) indice noté de 1 à 5
vers_terre_abondance_nb_m2Abondance totale des vers de terre (OPVT) en unité nb/m²
vers_terre_biomasse_g_m2Biomasse totale des vers de terre (OPVT) en unité g/m²
biomasse_couvert_kg_ms_haBiomasse du couvert en unité kg MS/ha
etat_surface_note et etat_surface_commentaireÉtat de surface noté de 1 à 5 + commentaire

Architecture de l’application mobile VIVADACS-Mobile

Architecture de l’application mobile VIVADACS-Mobile

Capture d’écran de l’application Vivadacs Mobile.

Capture d’écran de l’application Vivadacs Mobile

Explication des briques et rôles respectifs :

Analyse comparative

Le projet apporte une solution spécifique à Vivadacs, avec un schéma fixe, traçabilité et export standardisé.

3 Organisation

3.1 Tâches

Tâche 1 – Analyse des besoins et rédaction du cahier des charges

Production : Fiche projet complétée (sections 1 et 2). Niveau de réalisation mesurable : document rédigé et validé par l'encadrant.

Tâche 2 – Mise en place de l'environnement de développement

Production : Environnement VS Code opérationnel, dépôt GitHub créé et initialisé, Flask et Pandas installés. Niveau de réalisation : app.py lancé sans erreur, dépôt visible sur GitHub.

Tâche 3 – Développement de la structure de données (fichiers CSV)

Production : Fichiers data/releves.csv et data/indicateurs.csv créés avec le bon schéma de colonnes. Niveau de réalisation : fichiers générés et conformes aux attributs définis en 2.1.3.

Tâche 4 – Développement de l'interface web (formulaire de saisie)

Production : Templates HTML (templates/index.html, templates/edit.html) permettant la saisie, l'affichage, la modification et la suppression d'un relevé. Niveau de réalisation : fonctionnalités CRUD (CREATE, READ, UPDATE et DELETE) testées manuellement sur mobile et ordinateur.

Tâche 5 – Développement du backend Flask (routes et logique)

Production : Fichier app.py avec toutes les routes (/, /new, /edit/<id>, /delete/<id>, /export). Niveau de réalisation : chaque route retourne le bon résultat HTTP, sans erreur console.

Tâche 6 – Développement de la fonction d'export CSV

Production : Route /export générant un fichier .csv téléchargeable, conforme au schéma (1 ligne = 1 relevé, colonnes = indicateurs). Niveau de réalisation : fichier exporté validé sur 3 relevés de test.

Tâche 7 – Tests, validation et corrections

Production : Rapport de test (liste des cas testés, bugs identifiés et corrigés). Niveau de réalisation : tous les cas d'usage définis en 2.1.2 validés sans erreur bloquante.

Tâche 8 – Documentation et finalisation du dépôt GitHub

Production : README.md rédigé (description, installation, utilisation), code commenté, dépôt GitHub à jour. Niveau de réalisation : dépôt privé consultable si partagé via un lien.

3.2 Organigramme de tâches

Organigramme de tâches

T3 et T4 peuvent être menées en parallèle après T2.

3.3 Planification

Tâche Responsable Participants Temps prévu (h) Échéance Temps réel (h) Avancement
T1 – Analyse des besoins J. Messon J. Messon 2 30/03/2026 2 100 %
T2 – Environnement de developpement J. Messon J. Messon 3 30/04/2026 2 100 %
T3 – Structure de donnees CSV J. Messon J. Messon 2 30/04/2026 1 100 %
T4 – Interface web HTML J. Messon J. Messon 4 30/05/2026 6 100 %
T5 – Backend Flask (routes) J. Messon J. Messon 4 30/05/2026 6 100 %
T6 – Export CSV J. Messon J. Messon 2 30/05/2026 4 100 %
T7 – Tests et validation J. Messon J. Messon 3 12/06/2026 2 100 %
T8 – Documentation et GitHub J. Messon J. Messon 2 12/06/2026 2 100 %

4 Matériel, méthodes et ressources

Matériel

Méthodes et outils de développement

Ressources externes

5 Risques

Problème potentiel Probabilité (1-3) Actions pour limiter la probabilité Impact (1-3) Actions pour limiter l'impact Risque (P×I)
Incompatibilite de l'interface web sur mobile (affichage non responsive) 2 Utiliser des balises HTML adaptatives (meta viewport), tester regulierement sur mobile en cours de developpement 3 Prevoir une version minimaliste du formulaire, utiliser un framework CSS leger (Bootstrap) 6
Perte ou corruption des donnees CSV lors de l'export 2 Versionner les fichiers de donnees, effectuer des sauvegardes regulieres sur GitHub 3 Maintenir un fichier de donnees de test separe, valider le schema CSV a chaque export 6
Blocage technique sur Flask (erreurs de routes, conflits de dependances Python) 2 Utiliser un environnement virtuel Python (venv), consulter la documentation officielle et les ressources IA 2 Maintenir une version stable du code sur GitHub, isoler les nouvelles fonctionnalites dans des branches 4
Depassement de delai (charge de travail parallele) 2 Planification hebdomadaire, priorisation des taches critiques (T5 et T6) 2 Reduire le perimetre fonctionnel si necessaire (ex. : supprimer le developpement du Frontend) en accord avec l'encadrant 4
Indicateurs Vivadacs mal definis ou modifies en cours de projet 1 Valider la liste des indicateurs avec Vivadour avant le developpement (fichier indicateurs.csv fige) 3 Rendre la structure du formulaire parametrable via le fichier CSV d'indicateurs (pas en dur dans le code) 3
Application inaccessible sur le terrain (pas de connexion reseau) 1 Documenter clairement que l'application necessite un reseau local ou une connexion 2 Hors perimetre du projet actuel ; noter comme piste d'amelioration future (mode offline) 2