{"id":998,"date":"2021-02-12T10:37:14","date_gmt":"2021-02-12T09:37:14","guid":{"rendered":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/?page_id=998"},"modified":"2021-08-02T11:23:20","modified_gmt":"2021-08-02T09:23:20","slug":"utilisation-de-dvuploader","status":"publish","type":"page","link":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/utilisation-de-dvuploader\/","title":{"rendered":"Utilisation de DVUploader"},"content":{"rendered":"<p>L&rsquo;interface de d\u00e9p\u00f4t de Data INRAE peut parfois \u00eatre limitante, comme dans le cas de d\u00e9p\u00f4t de nombreux fichiers. Si les APIs permettent de r\u00e9pondre \u00e0 ces probl\u00e9matiques, il existe \u00e9galement un outil moins technique permettant de d\u00e9poser directement le contenu de dossiers locaux : DVUploader. Cet article vous guidera \u00e0 travers l&rsquo;utilisation de cet outil.<\/p>\n<p><a href=\"https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\" target=\"_self\" rel=\"noopener noreferrer\">DVUploader <\/a>est un outil de d\u00e9p\u00f4t local vers Dataverse (donc vers Data INRAE) d\u00e9velopp\u00e9 par la communaut\u00e9 Dataverse. Comme il est ex\u00e9cut\u00e9 sur le poste du d\u00e9posant il permet d&rsquo;envoyer facilement l&rsquo;int\u00e9gralit\u00e9 du contenu d&rsquo;un dossier avec ses sous r\u00e9pertoires, de contourner la limite de d\u00e9p\u00f4t de 1000 fichiers par t\u00e9l\u00e9versement, et de mettre \u00e0 jour un dataset en d\u00e9posant seulement les nouveaux fichiers dans un r\u00e9pertoire.<\/p>\n<p>Cet outil requiert une installation ainsi que l&rsquo;usage de la console de commande, mais son utilisation reste tr\u00e8s simple !<\/p>\n<p>Les commandes \u00e0 saisir dans la console seront indiqu\u00e9es avec la mise en forme suivante :<\/p>\n<p><code>Exemple de commande<\/code><\/p>\n<h2>Installation :<\/h2>\n<h3>Pr\u00e9requis<\/h3>\n<p>Cet outil n\u00e9cessite l&rsquo;installation de Java (8 ou plus) : <a href=\"https:\/\/java.com\/fr\/download\/\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/java.com\/fr\/download\/<\/a>.<\/p>\n<h3>T\u00e9l\u00e9charger l&rsquo;outil<\/h3>\n<p>Vous pouvez trouver la derni\u00e8re version sur la page <a href=\"https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/releases\/\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/releases\/<\/a> et t\u00e9l\u00e9charger le fichier <strong>.jar<\/strong> dans la section \u00ab\u00a0<strong>Assets<\/strong>\u00a0\u00bb de celle-ci :<\/p>\n<p>Lien de t\u00e9l\u00e9chargement direct pour la version 1.1.0 : <a href=\"https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/releases\/download\/v1.1.0\/DVUploader-v1.1.0.jar\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/releases\/download\/v1.1.0\/DVUploader-v1.1.0.jar<\/a>.<\/p>\n<p>Vous pouvez ensuite placer ce fichier o\u00f9 vous souhaitez conserver l&rsquo;outil.<\/p>\n<p><strong>N.B :<\/strong> Veillez \u00e0 avoir acc\u00e8s \u00e0 ce dossier ensuite pour pouvoir l&rsquo;ex\u00e9cuter ! Si vous utilisez par exemple \u00ab\u00a0C:\\Program Files\u00a0\u00bb, vous devrez lancer la console en tant qu&rsquo;administrateur pour pouvoir lancer DVUploader.<\/p>\n<h2>Utilisation :<\/h2>\n<h3>Remarques pr\u00e9alables :<\/h3>\n<p>Pour cet exemple nous utilisons la pr\u00e9production de Data INRAE (<a href=\"https:\/\/data-preproduction.inrae.fr\/\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/data-preproduction.inrae.fr\/<\/a>).<br \/>\nNous vous recommandons de faire de m\u00eame pour votre premier essai.<br \/>\n<strong>N.B :<\/strong> comme pour l&rsquo;interface en ligne, pour interagir avec la pr\u00e9production vous devez \u00eatre connect\u00e9 au r\u00e9seau INRAE ou avoir activ\u00e9 votre VPN.<br \/>\nSi vous n&rsquo;avez pas cette possibilit\u00e9, vous pouvez utiliser l&rsquo;adresse <a href=\"https:\/\/demo.dataverse.org\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/demo.dataverse.org<\/a> pour les tests.<\/p>\n<h3>A &#8211; Sous Windows<\/h3>\n<h4>1. Ouvrir le terminal<\/h4>\n<p>Ouvrez l&rsquo;application \u00ab\u00a0Invite de commandes\u00a0\u00bb (C:\\WINDOWS\\system32\\cmd.exe).<\/p>\n<p>Remarque : Ceci peut \u00eatre fait via le raccourci : \u00ab\u00a0Win + R\u00a0\u00bb puis tapez \u00ab\u00a0cmd\u00a0\u00bb et \u00ab\u00a0Entr\u00e9e\u00a0\u00bb<\/p>\n<h4>2. Se placer dans le r\u00e9pertoire du .jar<\/h4>\n<p>Pour une ex\u00e9cution plus simple par la suite, placez vous dans le r\u00e9pertoire o\u00f9 vous avez enregistr\u00e9 DVUploader avec la commande suivante en rempla\u00e7ant <code>{Dossier de DVUploader}<\/code> par le chemin vers lequel vous avez enregistr\u00e9 le fichier .jar (voir Installation).<\/p>\n<p><code>cd {Dossier de DVUploader}<\/code><\/p>\n<p>Vous pouvez copier directement le chemin avec un clic droit puis \u00ab\u00a0Propri\u00e9t\u00e9s\u00a0\u00bb dans le dossier concern\u00e9, il est indiqu\u00e9 apr\u00e8s \u00ab\u00a0Emplacement :\u00a0\u00bb.<\/p>\n<p><strong>N.B :<\/strong> Si des noms de dossiers comportent des espaces, le chemin d&rsquo;acc\u00e8s doit \u00eatre entre guillemets<\/p>\n<h4>3. D\u00e9finir les param\u00e8tres en variables<\/h4>\n<p>Instanciez les variables suivantes comme indiqu\u00e9 en rempla\u00e7ant les <code>{valeurs}<\/code> par les valeurs qui correspondent \u00e0 votre cas, sans accolades.<\/p>\n<h5>Jeton API<\/h5>\n<p>La cl\u00e9 ou jeton API associ\u00e9e \u00e0 votre compte est trouvable sur le portail en vous connectant, dans \u00ab\u00a0Jeton API\u00a0\u00bb \/ \u00ab\u00a0API Token\u00a0\u00bb en cliquant sur votre nom :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1269\" src=\"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-content\/uploads\/sites\/39\/2021\/05\/jetonAPI_reference-1024x179.png\" alt=\"Jeton API\" width=\"1024\" height=\"179\" srcset=\"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-content\/uploads\/sites\/39\/2021\/05\/jetonAPI_reference-1024x179.png 1024w, https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-content\/uploads\/sites\/39\/2021\/05\/jetonAPI_reference-300x52.png 300w, https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-content\/uploads\/sites\/39\/2021\/05\/jetonAPI_reference-768x134.png 768w, https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-content\/uploads\/sites\/39\/2021\/05\/jetonAPI_reference.png 1167w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>(<a href=\"https:\/\/data-preproduction.inrae.fr\/dataverseuser.xhtml?selectTab=apiTokenTab\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/data-preproduction.inrae.fr\/dataverseuser.xhtml?selectTab=apiTokenTab<\/a> pour la pr\u00e9production.)<\/p>\n<p>Remarque : ce jeton dispose d&rsquo;une dur\u00e9e de vie d&rsquo;un an, vous pouvez en reg\u00e9n\u00e9rer un depuis cette m\u00eame page.<\/p>\n<p><code>set API_KEY={cl\u00e9 API}<\/code><\/p>\n<p>Exemple :<\/p>\n<p><code>set API_KEY=\"1212-1212-1212-1212-1212-1212-1212\"<\/code><\/p>\n<h5>Adresse du portail<\/h5>\n<p>Pour la pr\u00e9production :<\/p>\n<p><code>set SERVER=\"https:\/\/data-preproduction.inrae.fr\"<\/code><\/p>\n<p>Utiliser l&rsquo;adresse <code>https:\/\/data.inrae.fr<\/code> pour la production.<\/p>\n<h5>DOI du dataset<\/h5>\n<p>Vous devez avant d&rsquo;y d\u00e9poser des donn\u00e9es avoir cr\u00e9\u00e9 un dataset, copiez ensuite le DOI (ex. 10.70112\/RDGTI6).<br \/>\n<strong>N.B :<\/strong> Dans la commande, indiquer le <code>{DOI}<\/code> sous la forme <code>10.xxx\/xxxx<\/code><\/p>\n<p><code>set DOI=doi:{DOI}<\/code><\/p>\n<p>Remarque : vous pouvez utiliser d&rsquo;autres noms de variables selon votre pr\u00e9f\u00e9rence mais veillez \u00e0 ce que ces noms soient aussi ceux utilis\u00e9s dans la commande de d\u00e9p\u00f4t.<\/p>\n<h4>4. D\u00e9poser un fichier<\/h4>\n<h5>Chemin vers le fichier<\/h5>\n<p>Il reste une derni\u00e8re variable \u00e0 configurer car diff\u00e9rentes dans les cas 3 et 3bis :<\/p>\n<p><code>set PATH_TO_DATA={chemin vers les donn\u00e9es}<\/code><\/p>\n<p>avec un <code>{chemin vers les donn\u00e9es}<\/code> indiquant les fichier \u00e0 d\u00e9poser. Par exemple :<\/p>\n<p><code>set PATH_TO_DATA=Documents\\monFichier.csv<\/code><\/p>\n<p>Ce chemin peut \u00eatre absolu ou relatif.<\/p>\n<p><strong>N.B :<\/strong> Si vos noms de dossiers comportent des espaces, ils doivent \u00eatre entre guillemets :<\/p>\n<p><code>set PATH_TO_DATA=\"Documents\\Depot Fichier\\monFichier.csv\"<\/code><\/p>\n<h5>D\u00e9p\u00f4t<\/h5>\n<p><code>java -jar DVUploader-v1.1.0.jar -key=%API_KEY% -did=%DOI% -server=%SERVER% %PATH_TO_DATA%<\/code><\/p>\n<p>On retrouve les <code>%VARIABLES%<\/code> cr\u00e9es pr\u00e9c\u00e9demment.<br \/>\n<strong>N.B :<\/strong> Notez que le fichier .jar est ici \u00ab\u00a0DVUploader-<strong>v1.1.0<\/strong>.jar\u00a0\u00bb, si vous utilisez une autre version, il faudra bien-s\u00fbr utiliser le bon nom de fichier.<\/p>\n<p>Remarque : vous pouvez \u00e9galement utiliser directement les valeurs indiqu\u00e9es pour les variables dans la commande. Ceci est d\u00e9conseill\u00e9 dans le cas de la cl\u00e9 d&rsquo;API pour laquelle il est recommand\u00e9 de toujours passer par une variable.<\/p>\n<h4>4 bis. D\u00e9poser des fichiers en arborescence<\/h4>\n<h5>Chemin vers le dossier<\/h5>\n<p>Il est \u00e9galement possible de t\u00e9l\u00e9verser le contenu d&rsquo;un dossier ou d&rsquo;une arborescence.<br \/>\nDans ce cas :<\/p>\n<p><code>set PATH_TO_DATA={chemin vers les donn\u00e9es}<\/code><\/p>\n<p>Pointera vers un dossier. Les m\u00eames remarques que pour le fichier s&rsquo;appliquent.<\/p>\n<p><strong>N.B :<\/strong> Attention, si vous utilisez des guillements \u00e0 ne pas finir la cha\u00eene de caract\u00e8re avec : <code>\\\"<\/code><\/p>\n<h5>D\u00e9p\u00f4t<\/h5>\n<p>La commande \u00e0 ex\u00e9cuter est la m\u00eame que pour le fichier, mais si vous voulez \u00e9galement inclure les sous dossier, il faut ajouter le param\u00e8tre \u00ab\u00a0<strong>recurse<\/strong>\u00ab\u00a0.<\/p>\n<p><code>java -jar DVUploader-v1.1.0.jar -key=%API_KEY% -did=%DOI% -server=%SERVER% %PATH_TO_DATA% <b>-recurse<\/b><\/code><\/p>\n<h4>5. Exemple :<\/h4>\n<p><code>set API_KEY=\"1212-1212-1212-1212-1212-1212-1212\"<br \/>\nset SERVER=\"https:\/\/data-preproduction.inrae.fr\"<br \/>\nset DOI=doi:10.70112\/RDGTI6<br \/>\nset PATH_TO_DATA=\"C:\\Users\\Nom\\Documents\\Data\"<br \/>\njava -jar DVUploader-v1.1.0.jar -key=%API_KEY% -did=%DOI% -server=%SERVER% %PATH_TO_DATA%<\/code><\/p>\n<h4>6. <a id=\"DVUploaderParams\"><\/a>Param\u00e8tres additionnels<\/h4>\n<p>D&rsquo;autres param\u00e8tres facultatifs peuvent \u00eatre utilis\u00e9s comme \u00ab\u00a0recurse\u00a0\u00bb dans la section 3bis.<br \/>\nLa liste compl\u00e8te est disponible dans la <a href=\"https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/wiki\/DVUploader,-a-Command-line-Bulk-Uploader-for-Dataverse\" target=\"_self\" rel=\"noopener noreferrer\">documentation de l&rsquo;outil<\/a>, nous ne pr\u00e9sentons ici que les param\u00e8tres jug\u00e9s les plus susceptibles d&rsquo;\u00eatre utiles.<\/p>\n<h5>-limit<\/h5>\n<p>Permet de limiter le nombre de fichiers par envoi.<br \/>\nCeci peut-\u00eatre utile pour faire un test sans envoyer l&rsquo;int\u00e9gralit\u00e9 d&rsquo;un dossier, ou si vous automatisez l&rsquo;envoi d&rsquo;un grand nombre de fichiers afin de les envoyer progressivement.<br \/>\nExemple d&rsquo;utilisation :<\/p>\n<p><code>java -jar DVUploader-v1.1.0.jar -key=%API_KEY% -did=%DOI% -server=%SERVER% %PATH_TO_DATA% <b>-limit=1<\/b><\/code><\/p>\n<h5>-ex<\/h5>\n<p>Permet d&rsquo;exclure de l&rsquo;envoi des fichiers.<\/p>\n<p>Ce param\u00e8tre exclut les fichiers correspondant \u00e0 une expression r\u00e9guli\u00e8re donn\u00e9e.<br \/>\nVous pouvez ainsi exclure les fichiers avec une certaine extension ou nom.<br \/>\nPar exemple pour exclure les fichiers .txt :<\/p>\n<p><code>java -jar DVUploader-v1.1.0.jar -key=%API_KEY% -did=%DOI% -server=%SERVER% %PATH_TO_DATA% <b>-ex=*.txt$<\/b><\/code><\/p>\n<p>Il est possible d&rsquo;utiliser plusieurs fois ce param\u00e8tre pour utiliser plusieurs filtres.<br \/>\nExemple de caract\u00e8res\u00a0 :<\/p>\n<p>* : n&rsquo;importe qu&rsquo;elle cha\u00eene de caract\u00e8res (Ex. *.txt reconna\u00eet \u00ab\u00a0fichier.txt\u00a0\u00bb) .<\/p>\n<p>? : un seul caract\u00e8re (Ex. fast? reconnait \u00ab\u00a0fasta\u00a0\u00bb et \u00ab\u00a0fastq\u00a0\u00bb).<\/p>\n<p>^: d\u00e9but de la cha\u00eene de caract\u00e8res (Ex. ^bck* reconnait \u00ab\u00a0bck20200617\u00a0\u00bb).<\/p>\n<p>$ : fin de la cha\u00eene de caract\u00e8res (Ex. *txt$ reconna\u00eet \u00ab\u00a0fichier.txt\u00a0\u00bb et pas \u00ab\u00a0datafromtxt.csv\u00a0\u00bb).<\/p>\n<h3>B &#8211; Sous Linux<\/h3>\n<p>La proc\u00e9dure est la m\u00eame que sous Windows, cette section pr\u00e9sente seulement directement les commandes en bash.<\/p>\n<p><strong>N.B. <\/strong>le num\u00e9ro de version de DVUploader est indiqu\u00e9 dans les commandes, il est n\u00e9cessaire de le modifier si vous utilisez une autre version que la 1.1.0<\/p>\n<h4>1.\u00a0 (Recommand\u00e9) D\u00e9finir les param\u00e8tres en variables<\/h4>\n<p>Les diff\u00e9rents param\u00e8tres de la commande sont bien s\u00fbr passable directement dans cette derni\u00e8re mais utiliser des variables permet une lecture plus simple et plus de flexibilit\u00e9 si plusieurs \u00e9xecutions sont n\u00e9cessaires<\/p>\n<ul>\n<li><code>export API_KEY={cl\u00e9 API}<\/code><br \/>\n(trouvable sur <a href=\"https:\/\/data-preproduction.inrae.fr\/dataverseuser.xhtml?selectTab=apiTokenTab\" target=\"_self\" rel=\"noopener noreferrer\">https:\/\/data-preproduction.inrae.fr\/dataverseuser.xhtml?selectTab=apiTokenTab<\/a> pour la pr\u00e9production)<\/li>\n<li><code>export SERVER=\"https:\/\/data-preproduction.inrae.fr\"<\/code><br \/>\n(ou <code>https:\/\/data.inrae.fr<\/code> en production)<\/li>\n<li><code>export DOI={DOI du dataset o\u00f9 d\u00e9poser les fichiers}<\/code><br \/>\n(dans la forme <code>{doi:10.70112\/XXXX}<\/code>)<\/li>\n<li><code>export PATH_TO_DATA={chemin vers les donn\u00e9es}<\/code><\/li>\n<\/ul>\n<h4>2. D\u00e9poser un fichier<\/h4>\n<p>Si le chemin indiqu\u00e9 pointe vers un fichier.<\/p>\n<p><code>java -jar DVUploader-v1.1.0.jar -key=$API_KEY -did=$DOI -server=$SERVER $PATH_TO_DATA<\/code><\/p>\n<h4>2 bis. D\u00e9poser des fichiers en arborescence<\/h4>\n<p>Si le chemin indiqu\u00e9 pointe vers un dossier, les fichiers pr\u00e9sents dans ce dossier seront t\u00e9l\u00e9vers\u00e9s, mais il est \u00e9galement possible de t\u00e9l\u00e9verser le contenu d&rsquo;une arborescence avec l&rsquo;option -recurse.<\/p>\n<p><code>java -jar DVUploader-v1.1.0.jar -key=$API_KEY -did=$DOI -server=$SERVER $PATH_TO_DATA <b>-recurse<\/b><\/code><\/p>\n<h4>3. Exemple :<\/h4>\n<p><code>mkdir ~\/DVUploader<br \/>\ncd ~\/DVUploader<br \/>\nwget https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/releases\/download\/v1.1.0\/DVUploader-v1.1.0.jar<br \/>\nexport API_KEY=\"1212-1212-1212-1212-1212-1212-1212\"<br \/>\nexport SERVER=\"https:\/\/data-preproduction.inrae.fr\"<br \/>\nexport DOI=doi:10.70112\/RDGTI6<br \/>\nexport PATH_TO_DATA=\"..\/data\/\"<br \/>\njava -jar DVUploader-v1.1.0.jar -key=$API_KEY -did=$DOI -server=$SERVER $PATH_TO_DATA<\/code><\/p>\n<h4>4. Param\u00e8tres additionnels<\/h4>\n<p>voir la section \u00ab\u00a0<em>6. Param\u00e8tres additionnels<\/em>\u00a0\u00bb de la partie Windows, ou la liste compl\u00e8te dans la <a href=\"https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-uploader\/wiki\/DVUploader,-a-Command-line-Bulk-Uploader-for-Dataverse\" target=\"_self\" rel=\"noopener noreferrer\">documentation de l&rsquo;outil<\/a>,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;interface de d\u00e9p\u00f4t de Data INRAE peut parfois \u00eatre limitante, comme dans le cas de d\u00e9p\u00f4t de nombreux fichiers. Si les APIs permettent de r\u00e9pondre \u00e0 ces probl\u00e9matiques, il existe \u00e9galement un outil moins technique permettant de d\u00e9poser directement le contenu de dossiers locaux : DVUploader. Cet article vous guidera \u00e0 travers l&rsquo;utilisation de cet &#8230; <a title=\"Utilisation de DVUploader\" class=\"read-more\" href=\"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/utilisation-de-dvuploader\/\" aria-label=\"En savoir plus sur Utilisation de DVUploader\">Lire la suite<\/a><\/p>\n","protected":false},"author":108,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-998","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/pages\/998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/users\/108"}],"replies":[{"embeddable":true,"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/comments?post=998"}],"version-history":[{"count":0,"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/pages\/998\/revisions"}],"wp:attachment":[{"href":"https:\/\/ist.blogs.inrae.fr\/datainrae-guide\/wp-json\/wp\/v2\/media?parent=998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}