21 Octobre 2014 Geedoc (Gestion des Elevages Expérimentaux Ovins/Caprins) Marie-Christine Batut
SI GEEDOC 21 octobre 2014 SOMMAIRE Historique Organisation Les Unités Expérimentales (UE) / Les Unités de Recherche (UR) SI complet : Saisies portables + Interface Homme Machine (IHM) IHM : Saisies IHM : Liste et inventaire IHM : Import de données à partir d’un fichier IHM : Export des données vers différents SI Point technique Quelques chiffres Avantages/Inconvénients Perspectives
SI GEEDOC 21 octobre 2014 GEEDOC Pour gérer les données liées aux élevages ovins/caprins Reproduction (Génétique Animale) Généalogie depuis de nombreuses années Mesures pesées, état corporel, abattage Lait Sanitaire Alimentation (demande dès le début du projet) Aide à la gestion du troupeau, aide à la décision … Pour qui ? Pourquoi ? Pour les fermes expérimentales ou Unités Expérimentales (UE) Pour les scientifiques des Unités de Recherche (UR)
SI GEEDOC 21 octobre 2014 GEEDOC Historique Avant 2000 Bases Locales en Dbase, logiciel Nantucket Données remontaient par campagne de reproduction au CTIG Organisés en systèmes de fichiers plats sous DGA1 (système IBM) Extraction par SaS ou par logiciel développé en Cobol /PL1 Geedoc Base Oracle au CTIG (machine AIX unix IBM) Modélisation des données avec AMC Designer Déploiement 2003 : Application IHM développée sous Borland C++ Geedoc aujourd’hui (suite au départ à la retraite d’Alain Gaillard juillet 2011) Application IHM développée sous Visual Studio C# Installation sur PC 32bits et 64bits Nouvelle identification obligatoire depuis 2011 : IPG Identification Pérenne Généralisé Multi-fenêtrage Actions sur UN ou plusieurs animaux/enregistrements Import de données à partir de fichier Nombreuses possibilités de modification pour les utilisateurs
SI GEEDOC 21 octobre 2014 Organisation Comité de pilotage (Copil) Comité des utilisateurs Chef de projet métier : Jean-Paul Poivey / Michèle Jacquin / Stéphane Dion Chef de projet informatique : Alain Gaillard Unités Recherche (UR) Unités Expérimentales (UE) Beaucoup de réunions : MCD MPD Temps ETP développement + maintenance 1 stagiaire qui a commencé le MCD pendant 2 mois 1 CDD 1 an et 2 mois 1 ETP (Alain Gaillard pendant 10 ans) 0,5 pendant 5 ans + 1 ETP depuis 3 ans 1 stagiaire IUT 2 mois (Saisie des IA et des luttes) Non compté le temps de François et de Edmond UE + personnes interface Maintenant, on est plutôt en comité utilisateurs 3 réunions visio : trop de monde, trop de sites 1 réunion pleiniaire en juin 2014 à Lusignan UE LesVerrines
SI GEEDOC 21 octobre 2014 St Affrique Tlse 2 UE Guadeloupe Bourges Lusignan Rennes Paris Tours Arles Clermont Les Unités Expérimentales (UE) 2 espèces : ovins/caprins 2 productions : lait-viande Bleu=GA Noir=PHASE
SI GEEDOC 21 octobre 2014 Les Unités de Recherche (UR) Organisation GA 1 scientifique responsable de chaque UE 1 personne « interface » entre les UR et les UE Valorise les données Fait le plan d’accouplement Suit les données Fait des bilans (campagne de reproduction.etc.) Crée des lignées (divergentes) Organisation PHASE Pas du tout la même organisation que GA Responsables de Protocoles ou d’Expérimentations
SI GEEDOC 21 octobre 2014 GEEDOC Domaines de recherche Caractérisation de certains caractères liés à la reproduction ou pas Du phénotype au gène : détection de QTL, localisation des gènes Création de lignées extrêmes lignée + lignée - Amélioration génétique Qualité des produits : viande - lait Résistance aux maladies Efficacité alimentaire Comportement bien être animal
SI GEEDOC 21 octobre 2014 JOUY EN JOSAS CTIG Unité de Recherche Saisies portables sur le terrain Sauvegardes Oracle 10g Extraction des données Valorisation des données SaS (Personnes pivots) Unité Expérimentale Enregistrement des données Suivi d’élevage GEEDOC : Système d’Information complet
SI GEEDOC 21 octobre 2014 ElevageMise Bas Repro Abattus Réformés Vente GEEDOC : suivi des animaux Pesée, Nec, Réforme, Suivi Sanitaire, Mesures diverses, Alimentation Repro IALutte Eponge DG Mise Bas Lot Lutte Campagne/saison
SI GEEDOC 21 octobre 2014 GEEDOC : identification Elevage de naissance : 8 caractères 5 caprins Identité de naissance : 6 chiffres 5 caprins Identification IPG (11caractères) : obligatoire depuis juillet 2011 N° élevage naisseur sur 6 N° boucle visuelle sur 5 EspèceElv_neId_animalIPGRFID ovin caprin IPG (Identification Pérenne Généralisée) RFID (Boucle électronique) RFID (15caractères) : pays (250) + espèce (0) + IPG 12=Millésime Millésime
SI GEEDOC 21 octobre 2014 GEEDOC : IHM + saisies terrain Saisies terrain Saisies des données Les corrections, les mises à jours Le suivi des effectifs : réforme des animaux.etc.. La gestion du troupeau Extraction diverses L’application IHM Automate de pesée Baléa/Téo : IHM charger/décharger Pesées + allottement des animaux + saisies données supplémentaires Carnet d’agnelage : IHM charger/décharger Mesures diverses Sidex/Idlogger : Nec, Lutte, Endoscopie, DG, IA (Import) IA et Luttes Naturelles : Geedoc_Saillie (chargement d’un plan d’accouplement) Automate de contrôle laitier (beaucoup de données) Spectre MIR : analyseur de lait (beaucoup de données) Pointage des mamelles : logiciel de l’inter-profession Sieol
SI GEEDOC 21 octobre 2014 Application IHM : Se connecter Il faut un login/mot de passe pour accéder à la BD Geedoc sur Oracle Avoir le droit de se connecter sur l’espèce/production/élevage D’après le rôle Oracle, l’utilisateur ne pourra pas tout faire Dba Geedoc, Chef élevage, Consulter
SI GEEDOC 21 octobre 2014 IHM : menus
SI GEEDOC 21 octobre 2014 IHM : menus CaSaME
SI GEEDOC 21 octobre 2014 Exemple : Pose d’éponge sur toutes les femelles d’un lot de lutte IHM : principe sur les saisies Exemple lié à la reproduction Double clic sur la campagne Sélectionne la saison Sélectionne le lot de lutte
SI GEEDOC 21 octobre 2014 IHM : possibilité de modifier / supprimer Modifier sur UN ou plusieurs enregistrements Supprimer sur UN ou plusieurs enregistrements Les données sont liées donc l’utilisateur ne peut pas tout faire : Il ne peut pas supprimer une mise bas si il y a déjà une traite saisie Il ne peut pas supprimer une saillie fécondante.etc..
SI GEEDOC 21 octobre 2014 IHM : principe sur les listes et inventaires Sélection des animaux Champ numérique Champ alpha-numérique
SI GEEDOC 21 octobre 2014 Affichage des animaux Total en haut à droite Couleur sur les identifiants Aller directement à un animal par IPG ou par identité naissance (numéro) Tri sur la colonne (ascendant ou descendant) : que sur UNE colonne IHM : Afficher les données
SI GEEDOC 21 octobre 2014 Choix des colonnes à afficher Cocher sur les champs à afficher Possibilité de sauvegarder le format (par utilisateur connecté sur élevage/espèce/production)
SI GEEDOC 21 octobre 2014 Inventaire simple Inventaire avec statistiques élémentaires (champ numérique) Exemple sur le poids des animaux IHM : Inventaire
SI GEEDOC 21 octobre 2014 Action sur UN ou plusieurs animaux Sélectionne un ou plusieurs animaux Clic droit avec la souris -> choisir une opération Vrai dans toutes les listes Que si on a les droits et que sur UN animal IHM : principe sur les grilles UN seul animal
SI GEEDOC 21 octobre 2014 Exemple de Fin d’activité des reproducteurs Les animaux sélectionnés sont réformés à la même date, pour la même cause et pour le même code Contraintes à respecter Actions automatiques : fin de mise à la traite, sort de l’élevage,..etc..
SI GEEDOC 21 octobre 2014 Saisie terrain : PDA Saisie des IA Saisie Sidex-Idlogger Avec plan d’accouplement Lecture de la boucle de la femelle Proposition du mâle titulaire -> si Non remplaçant(s) Saisie de variables liées à Geedoc
SI GEEDOC 21 octobre 2014 Journal Toutes les opérations terrain sont consignées dans le journal Visualisation plus détaillée des opérations
SI GEEDOC 21 octobre 2014 Import de données à partir d’un fichier Lecture de fichier csv, *.txt (séparateur virgule point-virgule ou tabulation)
SI GEEDOC 21 octobre 2014 Export vers d’autres SI Bases Nationales Permettent de faire les évaluations des reproducteurs Obligatoire pour certains élevages pour avoir les primes SI GA SIDEx : Système d’Information des Données Expérimentales SI divers CBI : Carnet de Bergerie Informatisé (Inter-profession dans le rayon du Roquefort Aveyron) LEET (Laboratoire d’Economie de l ’Elevage de Theix) SI Bases Nationales SIECL : SI Elevage Caprin Lait SIEOL : SI Elevage Ovin Lait OVALL : SI Ovin Allaitant (viande)
SI GEEDOC 21 octobre 2014 Point technique Utilisation des classes de la DLL créée par Thierry Heirman Classe générique Classe pour Oracle pour l’IHM Classe pour les applications de saisie terrain DLL utilisée par SIVOL et GEEDOC : DLL (Helper) Classe contenant des procédures générales Classe spécifique pour les DataGridView Classe pour les types de données Classe pour la gestion des couleurs Classes propres à Geedoc Classe variables globales Geedoc : la base, l’espèce, répertoires Classe dimension des champs des tables Geedoc Classe constantes Geedoc Classe gestion spécifique Geedoc : Ajouter, afficher, construire des combobox, chercher, vérifier..etc
SI GEEDOC 21 octobre 2014 Mon Programme Classe clsDatabase Classe clsOracle Oracle Classe SQLServer SQL Server Classe SQLServerCE SQL Server CE Classe MySQL MySQL namespace INRA_DB clsDataBase : une surcouche générique Pour accéder aux données
SI GEEDOC 21 octobre 2014 Quelques chiffres – Ovins (Nb /an) Généa logie Repro depuis Nb Repro Femelles Nb Naissance Pesées depuis Pesées Lafage-Lait Viande Lafage Langlade LaSapinière Gardel Duclos LeMerle (2013) UEPAO - Tours Brouessy (2010) Vilvert (2010)Ns200740
SI GEEDOC 21 octobre 2014 Quelques chiffres – Caprins (Nb /an) Généa logie Repro début Nb Repro Femelles Nb Naissance Pesées depuis Pesées Lait Galle LesVerrines Grignon 6000 Mejusseaume Brouessy Viande Gardel Duclos
SI GEEDOC 21 octobre 2014 Volumétrie au 08/10/2014 TABLEOVINCAPRIN ANIMAL REPRO SAILLIE GESTATION MISEBAS NEC PESEE TRAITE DEBIT SANITAIRE
SI GEEDOC 21 octobre 2014 Gestion projet - communication Gestion des projets : Forge logicielle GA - Redmine ( - Suivi des demandes - Suivi des bugs - Wiki : MCD, versions, compte-rendus, présentations - Forums - Versioning : non utilisé Doc sur Notice utilisateur : Procédures : - Comment installer le module Oracle ? - Comment installer Geedoc ? - Modules terrain sur PDA : Saisie des saillies, Pointage des mamelles MAJ automatique par le module UpdaterSaga.exe (fait par stagiaire François)
SI GEEDOC 21 octobre 2014 Avantages Inconvénients Identifiant elv_ne+id_animal IPG PHASE ont des fichiers Excel puis mettent dans la base Geedoc Reproduction trop stricte pour certains : trop de contraintes, problème des campagne/saison Pas d’expérimentation : Les Verrines : 3 lots expérimental --> famille PHASE : travaillent beaucoup avec des expérimentions (Lait,.etc.) Pas d’alimentation -> SI multi-espèce CATI SICPA Carnet sanitaire existe mais pas de saisie terrain CaSaME IHM : installation sur PC (module Oracle SQL*Net à installer) Login à la BD non sécurisé passer au LDAP Saisie terrain : équipement non acquis pour certains : PDA, Linutop, Wifi Avantages/inconvénients du SI Geedoc Données centralisées, sécurisées IHM avec beaucoup de possibilités Saisie terrain : beaucoup de possibilités Utilisateurs autonomes ou presque Mouvements des animaux : les données suivent (Voir carrière des animaux)
SI GEEDOC 21 octobre 2014 Perspectives Au niveau de Geedoc Au niveau des autres demandes Charger/Décharger automate TEO Fichier pour logiciel de mouvements d’animaux TracInd à envoyer aux EDE Résultats de reproduction Editions style MARGAU (Crystal Report) Saisies spécifiques Geedoc sur TDS : avec Base Locale sur le TDS Mettre la doc utilisateur soit dans la forge soit site du CATI Remonté de données très anciennes (fichiers plats) Saisie du carnet sanitaire terrain CaSaME CATI SICPA Web Services : fait avec Alexandre Alimentation -> SI multi-espèce CATI SICPA Suivi des animaux sur les parcelles : se fait par les lots physiques pour certains Gestions des parcelles CATI SICPA Pouvoir lire les infos des autres SI multi-espèces
SI GEEDOC 21 octobre 2014 Merci de votre attention …
SI GEEDOC 21 octobre 2014 Opération Insert, Update, Delete string sql = " UPDATE geedoc.traite_anim SET.. " ; sql += " WHERE …"; sql += " AND d_traite=" +clsSAGAMCBHelper.to_good_format(strDateTraite, clsSAGAMCBTypesDataGen.TYP_DATA_DATE); if (ora_gen.ExecuteNonQuery(sql)) return true; A l’appel de la forme private void InitialiseDataSet() { ds_gen = new DataSet(); ora_gen = frmMenuPrincipal.InitDescripteurBD(); if (ora_gen == null) MessageBox.Show("Problème à la connexion au SGBD !"); } Opération count string sql = "select count(*) from.. " ; long nb_enreg = ora_gen.SQLCount(sql);
SI GEEDOC 21 octobre 2014 /// /// Description résumée de frmTraiteAnimal. /// Fiche créée le 25/09/2012 version 4.04 /// Version 4.05 : /// 18/10/2012 : A partir d'un fichier : Import Traite et Import Taux : à tester en grand /// Version 4.06 : /// 14/12/2012 : Liste et Inventaire : ajout du champ NO_LACT venant de la table MISEBAS /// Ajout de l'onglet CLO par femelle : afficher tous les CLO d'une femelle sur la même ligne Gestion projet – mon versioning Je zippe chaque version que je stocke sur mon PC Je modifie la version static public string myVersion_Number = "4.23";
SI GEEDOC 21 octobre 2014 Charger Décharger Fichier txt Automate/Logiciel Saisie terrain Fichier txt Saisie terrain : Charger/Décharger Restructure FTP CTIG CTIG Cron PL/SQL BD Pesée Baléa (Edmond) Carnet d’Agnelage MySQL (Wifi) Edmond Sidex/Idlogger MySQL (Wifi) François Geedoc_Saillie SQL Server Marie-Christine Contrôle Laitier SQL Server Jean-François Pointage des Mamelles SQL Server (Sieol) Pesées Téo (MySQL/SQL Server) Edmond BDL Import dans IHM
SI GEEDOC 21 octobre 2014 string nomTable= "LISTE"; string sql= "Select.. "; if (ora_gen.SQLResult_In_Dataset(ds_gen, sql, nomTable)) { dgrvListe.DataSource = ds_gen.Tables[nomTable]; dgrvListe.ReadOnly = true; Liste_Afficher_TitreColonnes(dgrvListe); // Afficher Total txtListe_TotalNb.Text = dgrvListe.RowCount.ToString(); txtListe_TotalNb.BackColor = clsSAGAMCBCouleur.coulTotal; // Afficher le contextmenu ou pas if (dgrvListe.RowCount == 0) cmOpListe.Enabled = false; else { cmOpListe.Enabled = true; menuListe_CompterSelection.Enabled = true menuListe_Enregistrer.Enabled = true; menuListe_Imprimer.Enabled = true; menuListe_VoirAnimal.Enabled = true; menuListe_Supprimer.Enabled = myDroitDelete; // Avoir le droit delete Opération : Sélection à afficher dans un DataGridView
SI GEEDOC 21 octobre 2014 Sidex/Idlogger Protocoles spéciaux créés dans Sidex pour Geedoc Pas de chargement de liste d’animaux L’utilisateur charge un protocole à partir de Sidex Principe de la saisie : Lecture de la boucle RFID (puce électronique) L’utilisateur saisit une ou plusieurs variables soit codés (prédéfinis) soit numériques Renvoie un fichier texte Geedoc relit ce fichier : reformate le fichier et l’envoie au CTIG Photo écran (voir Flap)
SI GEEDOC 21 octobre 2014 static public void ConstruireComboBox_Saison(clsDataBase ora_gen, ComboBox cbSaison_Gen, string campagne) { string sql = "SELECT saison FROM geedoc.campagne"; sql += " WHERE elv_prod='" + clsVariablesGlobalesGeedoc.myDomaine + "'"; sql += " AND espece='" + clsVariablesGlobalesGeedoc.myEspece + "'"; sql += " AND prod='" + clsVariablesGlobalesGeedoc.myProd + "'"; sql += " AND campagne='" + campagne + "'"; sql += " ORDER BY saison"; Object[,] tab; tab = ora_gen.SQLResult_in_Array(sql); cbSaison_Gen.Items.Clear(); if (tab.Length > 0) { for (int i = 0; i < tab.Length; i++) { cbSaison_Gen.Items.Add(tab[i, 0].ToString()); } cbSaison_Gen.SelectedIndex = 0; // Se positionner sur la 1ère saison } Exemple : remplir le comboBox cbSaison_Gen
SI GEEDOC 21 octobre 2014 Les Unités Expérimentales (UE) UE GA Toulouse : Langlade : ovin-viande Aveyron : Lafage : ovin-lait/ovin-viande Bourges : Lasapinières : ovin-viande / Galle : caprin-lait Guadeloupe : Gardel : ovin-viande/caprin-viande Duclos : ovin-viande/caprin-viande 2 espèces : ovins/caprins - 2 productions (Lait-Viande) UE PHASE Arles : LeMerle ovin-viande : protocoles GA autre logiciel Lusignan : LesVerrines : caprin-lait : ingénieur venant de GA Rennes : Mejusseaume : caprin-lait : (TDS – Linutop - Wifi depuis 09/2014) Paris : Grignon : caprin-lait : (automate Baléa) Jouy-En-Josas : Brouessy-Vilvert : ovin-viande ( autre logiciel) Tours : UEPAO Nouzilly : ovin-viande (Baléa) / PFIE ovin-viande Clermont : UEMA : UltraBois : ovin-viande : tests