Retour : Page Principale > sommaire applications botanique > Appli Référentiel

Référentiel - Cahier des charges v1


Général

Ă€ faire avant toute chose
  1. VĂ©rifier que le port ODBC est ouvert sur le nouveau serveur
  2. Migrer bdnff.tela-botanica.org sur le nouveau serveur
  3. Changer le nom du sous-domaine pour : referentiels.tela-botanica.org
  4. Prévenir Benoît des modifications
  5. Vérifier avec lui que le système ODBC fonctionne toujours
  6. Mettre en place  PhpEdit sur la table correspondant au manuel technique

Les tables
  • Les tables de l'application de gestion des rĂ©fĂ©rentiels :
    • ref_triplets
  • Les tables de chaque projet :
    • bdnff_meta : contient les mĂ©ta-donnĂ©es de chaque version livrĂ©e
    • bdnff_travail : contient les donnĂ©es en cours de travail
    • bdnff_historique : contient les donnĂ©es de bdnff_travail mais versionnĂ©es (clĂ© primaire : num_nom + version ; chp supplĂ©mentaire : date)
    • bdnff_v# : une table pour chaque version, qui est une copie de la table de travail

Interfaces

Développer les interfaces suivantes dans l'ordre indiqué.
Notes :
  • Utiliser des services web (JRest) pour l'accès Ă  la bdd

1. RĂ©alisation de tests
Problème : tester plusieurs centaines de millier d'enregistrements dépasse le temps limite de 30s d'exécution d'une page web.
Solution : Solution portable pour exécuter un script php CLI depuis une page web
Tests :
Les valeurs, noms... de références seront stockées dans des fichiers ini pour simplifier la gestion des tests.
Les règles listées dans le manuel doivent être vérifiées.
Tests :
  • VĂ©rifier que le nombre de champs est > ou Ă©gal au nombre de champs attendu
  • VĂ©rifier que les noms des champs sont conformes
  • VĂ©rifier que les champs sont du bon type
  • VĂ©rifier qu'aucune donnĂ©e n'a atteint la limite du champ. Pour un champ de 100 caractères vĂ©rifier qu'aucune ligne possède 100 caractères pour ce champ. Cela pourrait signifier que le champ a Ă©tĂ© tronquĂ©.
  • num_nom :
    • doit contenir une valeur numĂ©rique > Ă  0
  • num_nom_retenu :
    • doit contenir une valeur numĂ©rique > Ă  0 ou NULL
    • pour une groupe de noms ayant le mĂŞme num_nom_retenu, un seul doit avoir num_nom_retenu = num_nom -> impossible Ă  repĂ©rer par test
  • num_tax_sup :
    • pour chaque enregistrement, on doit pouvoir remonter la classification jusqu'Ă  un mĂŞme nom unique possĂ©dant une valeur de rang de 0.
    • pour chaque enregistrement, chaque nom supĂ©rieur doit avoir un rang infĂ©rieur au nom de l'enregistrement courant
  • rang :
    • doit contenir une valeur numĂ©rique > Ă  0
  • nom_complet :
    • doit pouvoir ĂŞtre reconstruit depuis les champs comportant des morceaux du nom (voir les règles du manuel p13)
  • epithete_infra_generique :
    • si possède une Ă©pithete infra-gĂ©nĂ©rique le champ rang doit respecter cette formule : 220 < rang < 290
  • cultivar :
    • vĂ©rifier que le champ type_epithete ne contienne pas cv. ou convar.

2. Accueil
  • Faire une page d'accueil !
    • les liens vers diffĂ©rents rĂ©fĂ©rentiels Ă  partir des tables meta de chaque projet
    • avec la description du programme  Texte page d'accueil

3. Versionnage
  • Deux interfaces :
    • une pour crĂ©er des versions
      • L'interface doit permettre de saisir les nouvelles mĂ©ta-donnĂ©es de la version
      • Une copie de la table de travail sera faite avec le nouveau numĂ©ro de version
    • une pour consulter les mĂ©ta-donnĂ©es des versions livrĂ©es et obtenir les fichiers zip :
      • Elle doit permettre de crĂ©er les fichiers zip partiel et complet pour chaque version

4. Consultation
  • Prendre exemple sur l'interface de http://gni.globalnames.org/name_strings?expand=A
  • Pour les fiches de chaque enregistrement, voir les impressions Ă©cran des outils de BenoĂ®t
  • Si l'historique est activĂ©, consultĂ© les fiches historisĂ©es

5. Script d'historique
  • un cron sur le serveur va historiser les diffĂ©rences chaque jour