Importer des images de terrain#
Dans le but d'importer dans la médiathèque des images de terrain en utilisant la nomenclature des récoltes de SONNERAT, c'est à dire le nom du premier récolteur et le numéro de terrain, nous allons mettre en place un nouveau pattern ou modèle de noms d'images.
Ce pattern permettra d'associer une image à toutes les parts d'herbier associées à un enregistrement de la table RECOLTES correspondant au nom du premier récolteur et à un numéro de terrain.
Modalité#
La médiathèque devra récupérer le "nom du premier récolteur" et le "numéro de terrain" directement du nom du fichier. À l'aide de ces données, la médiathèque cherchera l'enregistrement correspondant.
Une fois l'enregistrement trouvé, la médiathèque cherchera toutes les parts d'herbier associées à cet enregistrement. Zéro ou plusieurs parts d'herbier peuvent être associées à cet enregistrement.
Pattern#
Ce pattern sera construit de la façon suivante :
(Nom du premier récolteur)_(numéro de terrain).jpg
Le "nom du premier récolteur" correspond à la colonne NOM_P_REC et le "numéro de terrain" à la colonne NUM_RECOL de la table RECOLTES du schéma SONNERAT. C'est donc un modèle qui sera exclusivement utilisé pour les images de parts d'herbier de SONNERAT.
Nom de fichier et caractères interdits#
Cette limitation des noms de fichiers impliquent que le "nom du premier récolteur" et le "numéro de terrain" ne doivent pas contenir un des caractères interdits et que toutes le récoltes dont le "nom du premier récolteur" contenant un de ces caractères ne seront pas accessibles par ce modèle (pattern).
A l'heure de l'écriture de ces lignes (NDLR: 21/03/2018), il faut noter qu'un certain nombre de "nom de premier récolteur" contiennent un de ces caractères:
/ => 33 noms (ex: Exposition / Muséum, Joguet / SMF, CNRE / TAN) : => 22 noms (ex: 1 : Wright ; [illisible: L.B.?]) * => 2 noms (ex: Blu* ?, Lou*) ? => 637 noms (ex: Ramsay ?, Lesson (?), Zollinger [?]) " => 20 noms (ex: Franc "32", "Rees", Geoffroid "le jeune") > => 5 noms (ex: A> Rattter, S> Irwin, D> Stevens) ---------------- 739 noms / 27894 (2%)
Le caractère _ (underscore ou tiret bas) étant le séparateur entre le "nom du premier récolteur" et le "numéro de terrain", il devient par conséquent un caractère interdit dans "nom du premier récolteur" ou le "numéro de terrain". Or un certain nombre de "nom de premier récolteur" contiennent ce caractère.
_ => 21 noms (ex: Gaus_, Man_in, Sch__o_rtt par M Dellers)
Doublons dans la table RECOLTES#
Il faut noter que les doublons dans la table RECOLTES seront un problème pour la médiathèque si on utilise ce pattern de nom de fichier et engendrera l'envoi d'une erreur lors de l'importation. Il serait donc un bonne chose de supprimer ces doublons.
Exemple de doublons: Si on cherche tous les enregistrements de la table RECOLTES correspondant au numéro de terrain 1754 (Mission du programme IPEV 1167 BIODIV_AMS en Terres australes et antarctiques françaises, le 2016-11-23), on peut remarquer très rapidement qu'il existe des doublons.
NOM_P_REC Bourgeau => 2 enregistrements Glaziou => 2 enregistrements Jordan de Puyfol => 2 enregistrements Nusbaumer => 2 enregistrements Saint-Hilaire => 4 enregistrements
La casse, les espaces, les accents et les caractères spéciaux#
Les "noms de premier récolteur" contiennent couramment des majuscules, des espaces, des accents ou des caractères spéciaux issus de l'alphabet du pays d'origine de la personne et des caractères spéciaux tels que des crochets, des points, des apostrophes, des & ou des parenthèses.
Exemples: Drège, Leschenault de la Tour, Rochet d'Héricourt, Herbier Malgache, Miss. Et. Biol. Acridiens, Pichi-Sermolli, Voyage de l'Astrolabe, Macowan & Bolus, Pocs T.&T., Sharma R.&S. Rösse, [Savatier], Ångström, Holböll, Görts-van Rijn, Sørensen, etc..
Les noms de fichiers seront donc de la forme suivante, en tenant compte de la casse (majuscule/minuscule), des accents et des caractères spéciaux:
* Exemple de noms de fichier pour un récolte effectuée par Görts-van Rijn Görts-van Rijn_416.jpg görts-van rijn_416.jpg (incorrect) gorts-van rijn_416.jpg (incorrect) Gorts-van Rijn_416.jpg (incorrect) * Exemple de noms de fichier pour un récolte effectuée par [Savatier] [Savatier]_111.jpg [savatier]_111.jpg (incorrect) * Exemple de noms de fichier pour un récolte effectuée par Sørensen Sørensen_5857.jpg sørensen_5857.jpg (incorrect) sorensen_5857.jpg (incorrect) * Exemple de noms de fichier pour un récolte effectuée par Voyage de l'Astrolabe Voyage de l'Astrolabe_29.jpg voyage de l'astrolabe_29.jpg (incorrect)
La solution que l'on devrait retenir est de tenir compte de la casse, des accents et autres caractères spéciaux pour être le plus proche possible de la base de données mais cela peut devenir très fastidieux car l'utilisateur peut se demander comment écrire certains caractères.
C'est donc une question fondamentale à laquelle il faut répondre avant toute chose (c'est à dire avant tout développement bien sûr).