nettoyage et ajout d'une procédure pour la partie informatique de labo 1.5
note: c'est pas terminé mais je publie en urgence pour que valérie puisse regarder ça. travail lié à [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3959]
This commit is contained in:
parent
2244e11e3c
commit
f971ae9c0b
113
README.md
113
README.md
|
@ -6,23 +6,24 @@ Projet créé pour remplir la partie matériel informatique de [labo 1.5](https:
|
|||
- 2019
|
||||
- cnrs
|
||||
- from_ngiquiaux
|
||||
- `commandes-2019-cnrs-t001.xls` : Ce fichier contient l'ensemble des achats de 2019, avec le libellé et le fournisseur. ngiquiaux a obtenu ce fichier par un des types d'extraction (todo: trouver son nom) de `gestlab`. Ca ressemble davantage à un rapport qu'une base de données, vu que l'unique feuille de calcul contient en fait une série de tableaux du même type, à raison d'un tableau par `Entité dépensière`. Un seul tableau avec une colonne entité `Entité dépensière` aurait été plus facile à exploiter.
|
||||
- [commandes-2019-cnrs-t001.xls](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t001.xls) : Ce fichier contient l'ensemble des achats de 2019, avec le libellé et le fournisseur. ngiquiaux a obtenu ce fichier par un des types d'extraction (todo: trouver son nom) de `gestlab`. Ca ressemble davantage à un rapport qu'une base de données, vu que l'unique feuille de calcul contient en fait une série de tableaux du même type, à raison d'un tableau par `Entité dépensière`. Un seul tableau avec une colonne entité `Entité dépensière` aurait été plus facile à exploiter.
|
||||
- fichier envoyé par ngiquiaux à graffy le `Wed, 18 Jan 2023 14:55:29 +0100`.
|
||||
- `commandes-2019-cnrs-t001.tsv` : `commandes-2019-cnrs-t001.xls` après conversion au format `tsv` avec `libreoffice`
|
||||
- `commandes-2019-cnrs-t002.xls` : Suite à une demande de graffy signalant à ngiquiaux qu'il manquait le code nacres dans `commandes-2019-cnrs-t001.xls`, ngiquiaux a obtenu ce fichier par un des types d'extraction (todo: trouver son nom, mais dedans je me souviens qu'il y avait le mot *détail*) de `gestlab`, après en avoir essayés pluieurs autres.
|
||||
- [commandes-2019-cnrs-t001.tsv](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t001.tsv) : [commandes-2019-cnrs-t001.xls](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t001.xls) après conversion au format `tsv` avec `libreoffice`
|
||||
- [commandes-2019-cnrs-t002.xls](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.xls) : Suite à une demande de graffy signalant à ngiquiaux qu'il manquait le code nacres dans [commandes-2019-cnrs-t001.xls](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t001.xls), ngiquiaux a obtenu ce fichier par un des types d'extraction (todo: trouver son nom, mais dedans je me souviens qu'il y avait le mot *détail*) de `gestlab`, après en avoir essayés pluieurs autres.
|
||||
- fichier envoyé par ngiquiaux à graffy le `Thu, 26 Jan 2023 17:39:10 +0100`
|
||||
- `cnrs-matieres-001.csv` : ce fichier est censé décrire les codes des matières utilisés dans `commandes-2019-cnrs-t002.xls`
|
||||
- [cnrs-matieres-001.csv](achats-ipr/2019/cnrs/from_ngicquiaux/cnrs-matieres-001.csv) : ce fichier est censé décrire les codes des matières utilisés dans [commandes-2019-cnrs-t002.xls](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.xls)
|
||||
- fichier envoyé par ngiquiaux à graffy le `Thu, 26 Jan 2023 17:39:10 +0100`
|
||||
- `commandes-it-2019-cnrs-002.tsv` : copie de `<ddrs-root>/tmp/commandes-it-2019-cnrs-002.tsv` manuellement annotée par graffy le 03/02/2023 pendant la création de `it-cnrs-l1p5.tsv`
|
||||
- `it-cnrs-l1p5.tsv` : achats it cnrs 2019 au format attendu par `labo1.5`
|
||||
- manuellement créé par graffy le 03/02/2023 à partir de `commandes-it-2019-cnrs-002.tsv`
|
||||
- [commandes-it-2019-cnrs-002.tsv](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.tsv) : copie de [tmp/commandes-it-2019-cnrs-002.tsv](tmp/commandes-it-2019-cnrs.tsv) manuellement annotée par graffy le 03/02/2023 pendant la création de [it-cnrs-l1p5.tsv](achats-ipr/2019/cnrs/it-l1p5.tsv)
|
||||
- [it-cnrs-l1p5.tsv](achats-ipr/2019/cnrs/it-l1p5.tsv) : achats it cnrs 2019 au format attendu par `labo1.5`
|
||||
- manuellement créé par graffy le 03/02/2023 à partir de [commandes-it-2019-cnrs-002.tsv](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.tsv)
|
||||
- ur1
|
||||
- from_ddemorel
|
||||
- `2019.<dept-id>.xls` :
|
||||
- fichiers envoyés par ddemorel à graffy le `07/02/2023`
|
||||
- [commandes-it-2019-ur1-002-annotated.tsv](achats-ipr/2019/ur1/commandes-it-2019-ur1-002-annotated.tsv)
|
||||
- tmp
|
||||
- `commandes-it-2019-cnrs-002.tsv` : itorder for cnrs in 2019
|
||||
- built from `<ddrs-root>/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t001.tsv` using `src/geslabt002_to_itorders.py`
|
||||
- [commandes-it-2019-cnrs-002.tsv](tmp/commandes-it-2019-cnrs-t002.tsv) : itorder for cnrs in 2019
|
||||
- built from [commandes-2019-cnrs-t002.tsv](achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.tsv) using [geslabt002_to_itorders.py](src/geslabt002_to_itorders.py)
|
||||
|
||||
|
||||
# journal
|
||||
|
@ -57,29 +58,29 @@ total 2288
|
|||
### généré it-cnrs-l1p5.tsv
|
||||
|
||||
critique:
|
||||
- colonnes utiles
|
||||
- quantité
|
||||
- libelles tronqués à 35 caracteres qui empêchent de voir le modèle exact (exemple CAT2_Configuration n°6 Latitude 559 au lieu de CAT2_Configuration n°6 Latitude 5590)
|
||||
- duplication
|
||||
- id659 == id828 ? (3 my passport)
|
||||
- id623 == id1030 ? (station d'accueil dmorineau)
|
||||
- id1919 == id2007 ? (5 disques durs, id1919 n'a pas de prix..?)
|
||||
- libellé vague id926 : "petits matériels informatiques"
|
||||
- pourquoi souris, et pas:
|
||||
- dock (station d'accueil)
|
||||
- adaptateur vga
|
||||
- cartouche d'encre ?
|
||||
- alimentation magsafe
|
||||
- barre de son externe
|
||||
- pourquoi imprimante id1170 et pas scanner id1171 ?
|
||||
- id1268 disque dur à 521.98 € ?
|
||||
- carte raid perc id1776
|
||||
- il manque les prix parfois, et ça n'aide pas à savoir ce que c'est : id1919
|
||||
- id2303: ACER D1301 impossible de savoir ce que c'est
|
||||
- id3204 gopro ?
|
||||
- barrettes de ram id2468
|
||||
- quantité pas fiable ? id2600 plusieurs barrettes mémoire (sans doute car prix élevé 874€) alors que quantité = 1
|
||||
- id2767 samsung 860 evo le libellé ne précise pas la capacité (cette même réf est utilisée pour des disques dur de différent capacité)
|
||||
- colonnes utiles
|
||||
- quantité
|
||||
- libelles tronqués à 35 caracteres qui empêchent de voir le modèle exact (exemple CAT2_Configuration n°6 Latitude 559 au lieu de CAT2_Configuration n°6 Latitude 5590)
|
||||
- duplication
|
||||
- id659 == id828 ? (3 my passport)
|
||||
- id623 == id1030 ? (station d'accueil dmorineau)
|
||||
- id1919 == id2007 ? (5 disques durs, id1919 n'a pas de prix..?)
|
||||
- libellé vague id926 : "petits matériels informatiques"
|
||||
- pourquoi souris, et pas:
|
||||
- dock (station d'accueil)
|
||||
- adaptateur vga
|
||||
- cartouche d'encre ?
|
||||
- alimentation magsafe
|
||||
- barre de son externe
|
||||
- pourquoi imprimante id1170 et pas scanner id1171 ?
|
||||
- id1268 disque dur à 521.98 € ?
|
||||
- carte raid perc id1776
|
||||
- il manque les prix parfois, et ça n'aide pas à savoir ce que c'est : id1919
|
||||
- id2303: ACER D1301 impossible de savoir ce que c'est
|
||||
- id3204 gopro ?
|
||||
- barrettes de ram id2468
|
||||
- quantité pas fiable ? id2600 plusieurs barrettes mémoire (sans doute car prix élevé 874€) alors que quantité = 1
|
||||
- id2767 samsung 860 evo le libellé ne précise pas la capacité (cette même réf est utilisée pour des disques dur de différent capacité)
|
||||
|
||||
|
||||
## 2023/03/06
|
||||
|
@ -128,3 +129,51 @@ critique:
|
|||
- Disque dur
|
||||
- Clavier
|
||||
- Souris
|
||||
|
||||
|
||||
## 2024/10/10
|
||||
|
||||
### rédaction d'une procédure pour le matériel info du labo 1.5
|
||||
|
||||
Il s'agit d'abord de retrouver ce qui a été fait
|
||||
|
||||
```sh
|
||||
20241010-22:29:45 graffy@graffy-ws2:~/work/ddrs$ ls -l ./achats-ipr/2019/cnrs/
|
||||
total 48
|
||||
-rw-r--r-- 1 graffy spm 25212 mars 6 2023 commandes-it-2019-cnrs-002-annotated.tsv
|
||||
-rw-r--r-- 1 graffy spm 6153 mars 6 2023 commandes-it-2019-ur1-002-annotated.tsv
|
||||
drwxr-xr-x 2 graffy spm 4096 mars 6 2023 from_ngicquiaux
|
||||
-rw-r--r-- 1 graffy spm 4140 mars 6 2023 it-l1p5.tsv
|
||||
last command status : [0]
|
||||
```
|
||||
|
||||
J'ai créé https://git.ipr.univ-rennes.fr/graffy/ddrs.git pour faciliter la consultation de l'historique
|
||||
|
||||
```sh
|
||||
git remote add origin https://git.ipr.univ-rennes.fr/graffy/ddrs.git
|
||||
20241010-22:41:21 graffy@graffy-ws2:~/work/ddrs$ git push -u origin main
|
||||
error: src refspec main does not match any
|
||||
error: failed to push some refs to 'https://git.ipr.univ-rennes.fr/graffy/ddrs.git'
|
||||
last command status : [1]
|
||||
20241010-22:41:43 graffy@graffy-ws2:~/work/ddrs$ git branch
|
||||
* master
|
||||
last command status : [0]
|
||||
20241010-22:42:12 graffy@graffy-ws2:~/work/ddrs$ git branch -m master main
|
||||
last command status : [0]
|
||||
20241010-22:42:53 graffy@graffy-ws2:~/work/ddrs$ git push -u origin main
|
||||
Enumerating objects: 54, done.
|
||||
Counting objects: 100% (54/54), done.
|
||||
Delta compression using up to 8 threads
|
||||
Compressing objects: 100% (42/42), done.
|
||||
Writing objects: 100% (54/54), 171.79 KiB | 3.82 MiB/s, done.
|
||||
Total 54 (delta 18), reused 0 (delta 0)
|
||||
remote: . Processing 1 references
|
||||
remote: Processed 1 references in total
|
||||
To https://git.ipr.univ-rennes.fr/graffy/ddrs.git
|
||||
* [new branch] main -> main
|
||||
Branch 'main' set up to track remote branch 'main' from 'origin'.
|
||||
last command status : [0]
|
||||
```
|
||||
|
||||
# 11/10/2024
|
||||
|
||||
|
|
Can't render this file because it has a wrong number of fields in line 2.
|
|
@ -0,0 +1,54 @@
|
|||
digraph {
|
||||
|
||||
# data
|
||||
node [shape="rectangle", style="filled,rounded", penwidth=0, fillcolor="cyan"]
|
||||
geslab [label="geslab\n(cnrs)"];
|
||||
cnrs_all_xls [label="cnrs_all_xls\n(commandes-2019-cnrs-t002.xls)"];
|
||||
cnrs_all_tsv [label="cnrs_all_tsv\n(commandes-2019-cnrs-t002.tsv)"];
|
||||
cnrs_it_orders [label="cnrs_it_orders\n(commandes-it-2019-cnrs-002.tsv)"];
|
||||
cnrs_it_orders_labo1p5 [label="cnrs_it_orders_labo1p5\n(it-cnrs-l1p5.tsv)"];
|
||||
|
||||
sifac [label="sifac\n(ur1)"];
|
||||
ur1_all_orders [label="ur1_all_orders\n(2019.<dept-id>.xls)"];
|
||||
ur1_it_orders [label="ur1_it_orders\n(commandes-it-2019-ur1-002.tsv)"];
|
||||
|
||||
ur1_it_orders_labo1p5 [label="ur1_it_orders_labo1p5\n(it-ur1-l1p5.tsv)"];
|
||||
|
||||
it_orders_labo1p5 [label="it_orders_labo1p5\n(it-l1p5.tsv)"];
|
||||
|
||||
# actions
|
||||
node [shape="rectangle", style="filled,rounded", penwidth=0, fillcolor="pink"]
|
||||
|
||||
extraction_cnrs [label="extraction ngiquiaux"];
|
||||
cnrs_xls_to_tsv [label="export au format tsv\navec libreoffice"];
|
||||
it_orders_filter [label="geslabt002_to_itorders.py"];
|
||||
concat [label="concaténation"];
|
||||
cnrs_manual [label="formatage manuel"];
|
||||
|
||||
extraction_ur [label="extraction ddemorel"];
|
||||
sifac_to_itorders [label="sifact002_to_itorders.py"];
|
||||
|
||||
# relations
|
||||
|
||||
geslab -> extraction_cnrs;
|
||||
extraction_cnrs -> cnrs_all_xls;
|
||||
|
||||
cnrs_all_xls -> cnrs_xls_to_tsv;
|
||||
cnrs_xls_to_tsv -> cnrs_all_tsv;
|
||||
|
||||
cnrs_all_tsv -> it_orders_filter;
|
||||
it_orders_filter -> cnrs_it_orders;
|
||||
|
||||
cnrs_it_orders -> cnrs_manual;
|
||||
cnrs_manual -> cnrs_it_orders_labo1p5;
|
||||
|
||||
sifac -> extraction_ur;
|
||||
extraction_ur -> ur1_all_orders;
|
||||
|
||||
ur1_all_orders -> sifac_to_itorders;
|
||||
sifac_to_itorders -> ur1_it_orders;
|
||||
|
||||
cnrs_it_orders_labo1p5 -> concat;
|
||||
ur1_it_orders_labo1p5 -> concat;
|
||||
concat -> it_orders_labo1p5;
|
||||
}
|
|
@ -0,0 +1,216 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: %3 Pages: 1 -->
|
||||
<svg width="536pt" height="778pt"
|
||||
viewBox="0.00 0.00 536.00 778.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 774)">
|
||||
<title>%3</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-774 532,-774 532,4 -4,4"/>
|
||||
<!-- geslab -->
|
||||
<g id="node1" class="node">
|
||||
<title>geslab</title>
|
||||
<polygon fill="cyan" stroke="black" points="161.5,-770 98.5,-770 98.5,-732 161.5,-732 161.5,-770"/>
|
||||
<text text-anchor="middle" x="130" y="-754.8" font-family="Times,serif" font-size="14.00">geslab</text>
|
||||
<text text-anchor="middle" x="130" y="-739.8" font-family="Times,serif" font-size="14.00">(cnrs)</text>
|
||||
</g>
|
||||
<!-- extraction_cnrs -->
|
||||
<g id="node11" class="node">
|
||||
<title>extraction_cnrs</title>
|
||||
<polygon fill="pink" stroke="black" points="212,-696 48,-696 48,-660 212,-660 212,-696"/>
|
||||
<text text-anchor="middle" x="130" y="-674.3" font-family="Times,serif" font-size="14.00">extraction ngiquiaux</text>
|
||||
</g>
|
||||
<!-- geslab->extraction_cnrs -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>geslab->extraction_cnrs</title>
|
||||
<path fill="none" stroke="black" d="M130,-731.72C130,-723.97 130,-714.79 130,-706.27"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-706 130,-696 126.5,-706 133.5,-706"/>
|
||||
</g>
|
||||
<!-- cnrs_all_xls -->
|
||||
<g id="node2" class="node">
|
||||
<title>cnrs_all_xls</title>
|
||||
<polygon fill="cyan" stroke="black" points="255,-624 5,-624 5,-586 255,-586 255,-624"/>
|
||||
<text text-anchor="middle" x="130" y="-608.8" font-family="Times,serif" font-size="14.00">cnrs_all_xls</text>
|
||||
<text text-anchor="middle" x="130" y="-593.8" font-family="Times,serif" font-size="14.00">(commandes-2019-cnrs-t002.xls)</text>
|
||||
</g>
|
||||
<!-- cnrs_xls_to_tsv -->
|
||||
<g id="node12" class="node">
|
||||
<title>cnrs_xls_to_tsv</title>
|
||||
<polygon fill="pink" stroke="black" points="212,-550 48,-550 48,-512 212,-512 212,-550"/>
|
||||
<text text-anchor="middle" x="130" y="-534.8" font-family="Times,serif" font-size="14.00">export au format tsv</text>
|
||||
<text text-anchor="middle" x="130" y="-519.8" font-family="Times,serif" font-size="14.00">avec libreoffice</text>
|
||||
</g>
|
||||
<!-- cnrs_all_xls->cnrs_xls_to_tsv -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>cnrs_all_xls->cnrs_xls_to_tsv</title>
|
||||
<path fill="none" stroke="black" d="M130,-585.83C130,-578.13 130,-568.97 130,-560.42"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-560.41 130,-550.41 126.5,-560.41 133.5,-560.41"/>
|
||||
</g>
|
||||
<!-- cnrs_all_tsv -->
|
||||
<g id="node3" class="node">
|
||||
<title>cnrs_all_tsv</title>
|
||||
<polygon fill="cyan" stroke="black" points="255.5,-476 4.5,-476 4.5,-438 255.5,-438 255.5,-476"/>
|
||||
<text text-anchor="middle" x="130" y="-460.8" font-family="Times,serif" font-size="14.00">cnrs_all_tsv</text>
|
||||
<text text-anchor="middle" x="130" y="-445.8" font-family="Times,serif" font-size="14.00">(commandes-2019-cnrs-t002.tsv)</text>
|
||||
</g>
|
||||
<!-- it_orders_filter -->
|
||||
<g id="node13" class="node">
|
||||
<title>it_orders_filter</title>
|
||||
<polygon fill="pink" stroke="black" points="231.5,-402 28.5,-402 28.5,-366 231.5,-366 231.5,-402"/>
|
||||
<text text-anchor="middle" x="130" y="-380.3" font-family="Times,serif" font-size="14.00">geslabt002_to_itorders.py</text>
|
||||
</g>
|
||||
<!-- cnrs_all_tsv->it_orders_filter -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>cnrs_all_tsv->it_orders_filter</title>
|
||||
<path fill="none" stroke="black" d="M130,-437.72C130,-429.97 130,-420.79 130,-412.27"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-412 130,-402 126.5,-412 133.5,-412"/>
|
||||
</g>
|
||||
<!-- cnrs_it_orders -->
|
||||
<g id="node4" class="node">
|
||||
<title>cnrs_it_orders</title>
|
||||
<polygon fill="cyan" stroke="black" points="260,-330 0,-330 0,-292 260,-292 260,-330"/>
|
||||
<text text-anchor="middle" x="130" y="-314.8" font-family="Times,serif" font-size="14.00">cnrs_it_orders</text>
|
||||
<text text-anchor="middle" x="130" y="-299.8" font-family="Times,serif" font-size="14.00">(commandes-it-2019-cnrs-002.tsv)</text>
|
||||
</g>
|
||||
<!-- cnrs_manual -->
|
||||
<g id="node15" class="node">
|
||||
<title>cnrs_manual</title>
|
||||
<polygon fill="pink" stroke="black" points="203.5,-256 56.5,-256 56.5,-220 203.5,-220 203.5,-256"/>
|
||||
<text text-anchor="middle" x="130" y="-234.3" font-family="Times,serif" font-size="14.00">formatage manuel</text>
|
||||
</g>
|
||||
<!-- cnrs_it_orders->cnrs_manual -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>cnrs_it_orders->cnrs_manual</title>
|
||||
<path fill="none" stroke="black" d="M130,-291.72C130,-283.97 130,-274.79 130,-266.27"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-266 130,-256 126.5,-266 133.5,-266"/>
|
||||
</g>
|
||||
<!-- cnrs_it_orders_labo1p5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>cnrs_it_orders_labo1p5</title>
|
||||
<polygon fill="cyan" stroke="black" points="221,-184 39,-184 39,-146 221,-146 221,-184"/>
|
||||
<text text-anchor="middle" x="130" y="-168.8" font-family="Times,serif" font-size="14.00">cnrs_it_orders_labo1p5</text>
|
||||
<text text-anchor="middle" x="130" y="-153.8" font-family="Times,serif" font-size="14.00">(it-cnrs-l1p5.tsv)</text>
|
||||
</g>
|
||||
<!-- concat -->
|
||||
<g id="node14" class="node">
|
||||
<title>concat</title>
|
||||
<polygon fill="pink" stroke="black" points="286,-110 170,-110 170,-74 286,-74 286,-110"/>
|
||||
<text text-anchor="middle" x="228" y="-88.3" font-family="Times,serif" font-size="14.00">concaténation</text>
|
||||
</g>
|
||||
<!-- cnrs_it_orders_labo1p5->concat -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>cnrs_it_orders_labo1p5->concat</title>
|
||||
<path fill="none" stroke="black" d="M154.98,-145.9C167.45,-136.87 182.67,-125.84 195.99,-116.19"/>
|
||||
<polygon fill="black" stroke="black" points="198.37,-118.79 204.41,-110.09 194.26,-113.12 198.37,-118.79"/>
|
||||
</g>
|
||||
<!-- sifac -->
|
||||
<g id="node6" class="node">
|
||||
<title>sifac</title>
|
||||
<polygon fill="cyan" stroke="black" points="428,-770 374,-770 374,-732 428,-732 428,-770"/>
|
||||
<text text-anchor="middle" x="401" y="-754.8" font-family="Times,serif" font-size="14.00">sifac</text>
|
||||
<text text-anchor="middle" x="401" y="-739.8" font-family="Times,serif" font-size="14.00">(ur1)</text>
|
||||
</g>
|
||||
<!-- extraction_ur -->
|
||||
<g id="node16" class="node">
|
||||
<title>extraction_ur</title>
|
||||
<polygon fill="pink" stroke="black" points="481.5,-696 320.5,-696 320.5,-660 481.5,-660 481.5,-696"/>
|
||||
<text text-anchor="middle" x="401" y="-674.3" font-family="Times,serif" font-size="14.00">extraction ddemorel</text>
|
||||
</g>
|
||||
<!-- sifac->extraction_ur -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>sifac->extraction_ur</title>
|
||||
<path fill="none" stroke="black" d="M401,-731.72C401,-723.97 401,-714.79 401,-706.27"/>
|
||||
<polygon fill="black" stroke="black" points="404.5,-706 401,-696 397.5,-706 404.5,-706"/>
|
||||
</g>
|
||||
<!-- ur1_all_orders -->
|
||||
<g id="node7" class="node">
|
||||
<title>ur1_all_orders</title>
|
||||
<polygon fill="cyan" stroke="black" points="484.5,-624 317.5,-624 317.5,-586 484.5,-586 484.5,-624"/>
|
||||
<text text-anchor="middle" x="401" y="-608.8" font-family="Times,serif" font-size="14.00">ur1_all_orders</text>
|
||||
<text text-anchor="middle" x="401" y="-593.8" font-family="Times,serif" font-size="14.00">(2019.<dept-id>.xls)</text>
|
||||
</g>
|
||||
<!-- sifac_to_itorders -->
|
||||
<g id="node17" class="node">
|
||||
<title>sifac_to_itorders</title>
|
||||
<polygon fill="pink" stroke="black" points="495.5,-549 306.5,-549 306.5,-513 495.5,-513 495.5,-549"/>
|
||||
<text text-anchor="middle" x="401" y="-527.3" font-family="Times,serif" font-size="14.00">sifact002_to_itorders.py</text>
|
||||
</g>
|
||||
<!-- ur1_all_orders->sifac_to_itorders -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>ur1_all_orders->sifac_to_itorders</title>
|
||||
<path fill="none" stroke="black" d="M401,-585.83C401,-577.89 401,-568.41 401,-559.63"/>
|
||||
<polygon fill="black" stroke="black" points="404.5,-559.42 401,-549.42 397.5,-559.42 404.5,-559.42"/>
|
||||
</g>
|
||||
<!-- ur1_it_orders -->
|
||||
<g id="node8" class="node">
|
||||
<title>ur1_it_orders</title>
|
||||
<polygon fill="cyan" stroke="black" points="528,-476 274,-476 274,-438 528,-438 528,-476"/>
|
||||
<text text-anchor="middle" x="401" y="-460.8" font-family="Times,serif" font-size="14.00">ur1_it_orders</text>
|
||||
<text text-anchor="middle" x="401" y="-445.8" font-family="Times,serif" font-size="14.00">(commandes-it-2019-ur1-002.tsv)</text>
|
||||
</g>
|
||||
<!-- ur1_it_orders_labo1p5 -->
|
||||
<g id="node9" class="node">
|
||||
<title>ur1_it_orders_labo1p5</title>
|
||||
<polygon fill="cyan" stroke="black" points="415,-184 239,-184 239,-146 415,-146 415,-184"/>
|
||||
<text text-anchor="middle" x="327" y="-168.8" font-family="Times,serif" font-size="14.00">ur1_it_orders_labo1p5</text>
|
||||
<text text-anchor="middle" x="327" y="-153.8" font-family="Times,serif" font-size="14.00">(it-ur1-l1p5.tsv)</text>
|
||||
</g>
|
||||
<!-- ur1_it_orders_labo1p5->concat -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>ur1_it_orders_labo1p5->concat</title>
|
||||
<path fill="none" stroke="black" d="M301.76,-145.9C289.05,-136.78 273.5,-125.63 259.96,-115.92"/>
|
||||
<polygon fill="black" stroke="black" points="262,-113.07 251.83,-110.09 257.92,-118.76 262,-113.07"/>
|
||||
</g>
|
||||
<!-- it_orders_labo1p5 -->
|
||||
<g id="node10" class="node">
|
||||
<title>it_orders_labo1p5</title>
|
||||
<polygon fill="cyan" stroke="black" points="300,-38 156,-38 156,0 300,0 300,-38"/>
|
||||
<text text-anchor="middle" x="228" y="-22.8" font-family="Times,serif" font-size="14.00">it_orders_labo1p5</text>
|
||||
<text text-anchor="middle" x="228" y="-7.8" font-family="Times,serif" font-size="14.00">(it-l1p5.tsv)</text>
|
||||
</g>
|
||||
<!-- extraction_cnrs->cnrs_all_xls -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>extraction_cnrs->cnrs_all_xls</title>
|
||||
<path fill="none" stroke="black" d="M130,-659.81C130,-652.11 130,-642.82 130,-634.15"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-634.02 130,-624.02 126.5,-634.02 133.5,-634.02"/>
|
||||
</g>
|
||||
<!-- cnrs_xls_to_tsv->cnrs_all_tsv -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>cnrs_xls_to_tsv->cnrs_all_tsv</title>
|
||||
<path fill="none" stroke="black" d="M130,-511.83C130,-504.13 130,-494.97 130,-486.42"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-486.41 130,-476.41 126.5,-486.41 133.5,-486.41"/>
|
||||
</g>
|
||||
<!-- it_orders_filter->cnrs_it_orders -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>it_orders_filter->cnrs_it_orders</title>
|
||||
<path fill="none" stroke="black" d="M130,-365.81C130,-358.11 130,-348.82 130,-340.15"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-340.02 130,-330.02 126.5,-340.02 133.5,-340.02"/>
|
||||
</g>
|
||||
<!-- concat->it_orders_labo1p5 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>concat->it_orders_labo1p5</title>
|
||||
<path fill="none" stroke="black" d="M228,-73.81C228,-66.11 228,-56.82 228,-48.15"/>
|
||||
<polygon fill="black" stroke="black" points="231.5,-48.02 228,-38.02 224.5,-48.02 231.5,-48.02"/>
|
||||
</g>
|
||||
<!-- cnrs_manual->cnrs_it_orders_labo1p5 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>cnrs_manual->cnrs_it_orders_labo1p5</title>
|
||||
<path fill="none" stroke="black" d="M130,-219.81C130,-212.11 130,-202.82 130,-194.15"/>
|
||||
<polygon fill="black" stroke="black" points="133.5,-194.02 130,-184.02 126.5,-194.02 133.5,-194.02"/>
|
||||
</g>
|
||||
<!-- extraction_ur->ur1_all_orders -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>extraction_ur->ur1_all_orders</title>
|
||||
<path fill="none" stroke="black" d="M401,-659.81C401,-652.11 401,-642.82 401,-634.15"/>
|
||||
<polygon fill="black" stroke="black" points="404.5,-634.02 401,-624.02 397.5,-634.02 404.5,-634.02"/>
|
||||
</g>
|
||||
<!-- sifac_to_itorders->ur1_it_orders -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>sifac_to_itorders->ur1_it_orders</title>
|
||||
<path fill="none" stroke="black" d="M401,-512.94C401,-504.99 401,-495.31 401,-486.31"/>
|
||||
<polygon fill="black" stroke="black" points="404.5,-486.2 401,-476.2 397.5,-486.2 404.5,-486.2"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,206 @@
|
|||
# Comment créer la base de données partie matériel informatique pour labo 1.5
|
||||
|
||||
## description du fichier attendu par labo1.5
|
||||
|
||||
- un tableau type excel
|
||||
- formats de fichier acceptés par labo 1.5:
|
||||
- tsv (tabular separated value)
|
||||
- description des colonnes:
|
||||
1. **id**: par exemple `ur1_237`
|
||||
2. **Modele**: par exemple `latitude 3400`
|
||||
3. **Fabricant**: par exemple `dell`
|
||||
4. **Type**: par exemple `pc portable`
|
||||
|
||||
### types supportés par labo 1.5
|
||||
|
||||
La documentation de labo1.5 mentionne ces 14 types:
|
||||
- PC fixe (Desktop, PC, fixe, tour, unité centrale, station de travail, workstation)
|
||||
- PC portable (laptop, portable, notebook)
|
||||
- Serveur
|
||||
- Écran (monitor, display, screen)
|
||||
- Vidéo projecteur
|
||||
- Tablette (pad)
|
||||
- Smartphone (mobile)
|
||||
- Imprimante
|
||||
- Borne wifi (Wifi hub)
|
||||
- Téléphone IP
|
||||
- GPU
|
||||
- Disque dur
|
||||
- Clavier
|
||||
- Souris
|
||||
|
||||
En fait, après importation, j'ai pu constater qu'il il y a 15 types de matériel dans labo1.5 (station d'accueil a du être oublié dans la doc):
|
||||
- pc fixe sans écran
|
||||
- pc fixe tout-en-un
|
||||
- pc portable
|
||||
- écran
|
||||
- videoprojecteur
|
||||
- tablette
|
||||
- smartphone
|
||||
- imprimante
|
||||
- téléphone ip
|
||||
- station d'accueil
|
||||
- clavier souris
|
||||
- borne wifi
|
||||
- serveur
|
||||
- disque dur
|
||||
- gpu puissant
|
||||
|
||||
## vue d'ensemble de la procédure
|
||||
|
||||
![procédure](materiel-info-graph.svg)
|
||||
|
||||
note: commande utilisée pour créer [materiel-info-graph.svg](materiel-info-graph.svg) à partir de [materiel-info-graph.dot](materiel-info-graph.dot):
|
||||
|
||||
```sh
|
||||
20241011-15:49:16 graffy@graffy-ws2:~/work/ddrs/procedures/labo1.5$ dot ./materiel-info-graph.dot -Tsvg > ./materiel-info-graph.svg
|
||||
last command status : [0]
|
||||
```
|
||||
|
||||
## description des fichiers
|
||||
|
||||
### cnrs
|
||||
|
||||
#### cnrs_all_xls
|
||||
|
||||
Ce fichier contient l'extraction geslab de tous les achats (pas seulement informatique) de l'année considérée.
|
||||
|
||||
- exemple : [commandes-2019-cnrs-t002.xls](../../achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.xls)
|
||||
- colonnes:
|
||||
1. **N° com. GESLAB**: par exemple `18360`
|
||||
2. **Date commande**: par exemple `24/01/19`
|
||||
3. **N° ligne**: identifiant unique de l'achat, par exemple `43543`
|
||||
4. **Libellé ligne**: par exemple `CAT2_Configuration n°3 XPS 9365`
|
||||
9. **Raison sociale fournisseur**: par exemple `DELL SAS`
|
||||
11. **S**: par exemple `S`
|
||||
12. **Qté com.**: par exemple `1`
|
||||
13. **Reste à const.**: par exemple `0`
|
||||
14. **Qté fac.**: par exemple `1`
|
||||
15. **Cons. ligne antérieur**: par exemple `0.00`
|
||||
16. **Consommé ligne**: par exemple `1,755.00`
|
||||
17. **Réservé ligne**: par exemple `0.00`
|
||||
18. **Facturé ligne**: par exemple `1,755.00`
|
||||
19. **Code origine**: par exemple `SE9ADO0985`
|
||||
20. **Elément analytique**: par exemple `9ADO0985`
|
||||
22. **Code EDP**: par exemple `NANOSC`
|
||||
27. **Matière**: le code matière, dont la liste se trouve dans [cnrs-matieres-001.csv](../../achats-ipr/2019/cnrs/from_ngicquiaux/cnrs-matieres-001.csv) par exemple `2100`
|
||||
29. **Nat. dép.**: par exemple `IM`
|
||||
|
||||
#### cnrs_all_tsv
|
||||
|
||||
- exemple : [commandes-2019-cnrs-t002.tsv](../../achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.tsv), qui contient 1991 lignes de données
|
||||
- colonnes: les mêmes que [cnrs_all_xls](####-cnrs_all_xls)
|
||||
|
||||
[commandes-2019-cnrs-t002.tsv](../../achats-ipr/2019/cnrs/from_ngicquiaux/commandes-2019-cnrs-t002.tsv)
|
||||
```tsv
|
||||
LABORATOIRE : LABO1 IPR - UNIVERSITE DE RENNES Le : 27/01/2023
|
||||
DETAIL DES LIGNES DE COMMANDE Exercice : 2019
|
||||
Page : 1 / 100
|
||||
Etablissement : DR17 Délégation Bretagne et Pays de la Loire
|
||||
|
||||
|
||||
N° com. GESLAB Date commande N° ligne Libellé ligne Raison sociale fournisseur S Qté com. Reste à const. Qté fac. Cons. ligne antérieur Consommé ligne Réservé ligne Facturé ligne Code origine Elément analytique Code EDP Matière Nat. dép.
|
||||
18,310.00 03/01/19 43,424.00 CULOTTE SIMPLE PVC FEMELLE AMAZON EU SARL SUCCURSALE FRANCAISE S 1 1 0.00 12.63 0.00 12.63 584081 584081 ANRSON 1900 FO
|
||||
1950-2-17 12:00:00 AM 03/01/19 2018-11-21 12:00:00 AM REGISTRATION P. PANIZZA AERC 2019 SLOVENIAN SOCIETY FOR EXPERIMENTAL MECHANICS - SSEM SLOVENSKO DRUSTVO ZA EKSPERIMENTALNO MEHANIKO S 1 0 1 0.00 530.00 0.00 530.00 9CTD0985 9CTD0985 CIFAF2 5400 FO
|
||||
18,313.00 04/01/19 43,427.00 POUSSE SERINGUE PHD ULTRA 4400 I/W HARVARD APPARATUS S 1 0 1 0.00 6,616.00 0.00 6,616.00 59190 591901 ANRASJ 2500 IM
|
||||
...
|
||||
1950-4-7 12:00:00 AM 24/01/19 2019-3-19 12:00:00 AM CAT2_Configuration n°3 XPS 9365 DELL SAS S 1 0 1 0.00 1,755.00 0.00 1,755.00 SE9ADO0985 9ADO0985 NANOSC 2100 IM
|
||||
...
|
||||
```
|
||||
|
||||
Attention: le 11/10/2024, graffy s'est rendu compte que certaines données de ce fichier ont été mal converties par l'exporteur tsv. L'achat 43543 aurait du apparaître comme ceci:
|
||||
|
||||
```
|
||||
18360 24/01/19 43543 CAT2_Configuration n°3 XPS 9365 DELL SAS S 1 0 1 0.00 1,755.00 0.00 1,755.00 SE9ADO0985 9ADO0985 NANOSC 2100 IM
|
||||
```
|
||||
|
||||
Au lieu de ça, il apparaît ainsi (les colonnes **N° com. GESLAB** et **N° ligne** ont été converties en date, pour une raison inconnue):
|
||||
```
|
||||
1950-4-7 12:00:00 AM 24/01/19 2019-3-19 12:00:00 AM CAT2_Configuration n°3 XPS 9365 DELL SAS S 1 0 1 0.00 1,755.00 0.00 1,755.00 SE9ADO0985 9ADO0985 NANOSC 2100 IM
|
||||
```
|
||||
|
||||
|
||||
### ur1
|
||||
|
||||
#### ur1_it_orders
|
||||
|
||||
- exemple : [commandes-it-2019-ur1-002\.tsv](../../tmp/commandes-it-2019-ur1-002.tsv), qui contient 33 lignes de données
|
||||
- colonnes:
|
||||
1. **<anonyme>**: identifieur d'achat, par exemple `21`
|
||||
2. **Centre financier**: par exemple `991R423`
|
||||
3. **Elément d'OTP**: par exemple `17CQ423-S0`
|
||||
4. **Document d'achat**: par exemple `4500458349.0`
|
||||
5. **Fournisseur/Division fourn.**: par exemple `7976 DELL`
|
||||
6. **Date du document**: par exemple `2019-02-14`
|
||||
7. **Code TVA**: par exemple `DK`
|
||||
8. **Désignation**: par exemple `LATITUDE 5590 - Portable conf.n°2`
|
||||
9. **Date livraison**: par exemple `2019-02-25`
|
||||
10. **Valeur totale en cours**: par exemple `1616.8`
|
||||
11. **Reste à livrer (quantité)**: par exemple `0`
|
||||
12. **Livraison finale**: par exemple `X`
|
||||
13. **Reste à facturer (quantité)**: par exemple `0`
|
||||
14. **Facture finale**: par exemple `126639.0`
|
||||
15. **Immobilisation**: par exemple ``
|
||||
16. **Groupe marchandises**: par exemple `IA.11`
|
||||
17. **Texte Correspondance**: par exemple `Danièle, Le numéro d'ordre n'est pas cor`
|
||||
18. **Créateur commande**: par exemple, `DE MOREL DANIELE`
|
||||
|
||||
```tsv
|
||||
20241011-10:57:24 graffy@graffy-ws2:~/work/ddrs/procedures/labo1.5$ head -3 /home/graffy/work/ddrs/tmp/commandes-it-2019-ur1-002.tsv
|
||||
Centre financier Elément d'OTP Document d'achat Fournisseur/Division fourn. Date du document Code TVA Désignation Date livraison Valeur totale en cours Reste à livrer (quantité) Livraison finale Reste à facturer (quantité) Facture finale Immobilisation Groupe marchandises Texte Correspondance Créateur commande
|
||||
21 991R423 17CQ423-S0 4500458349.0 7976 DELL 2019-02-14 DK LATITUDE 5590 - Portable conf.n°2 2019-02-25 1616.8 0 X 0 126639.0 IA.11 Danièle, Le numéro d'ordre n'est pas cor DE MOREL DANIELE
|
||||
38 991R423 17CQ423-S0 4500463111.0 7976 DELL 2019-03-28 DJ Acessoires pour LATITUDE 5 DELL 2019-04-15 81.74 0 X 0 X IA.24 BC soldé mail Danièle 14/06/19 Danièle, DE MOREL DANIELE
|
||||
last command status : [0]
|
||||
```
|
||||
|
||||
#### ur1_it_orders_ann
|
||||
|
||||
Version manuellement annotée de [ur1_it_orders].
|
||||
- colonnes: les mêmes 18 colonnes que pour [ur1_it_orders](####ur1_it_orders), plus:
|
||||
19. **comment**: colonne utilisée pour les annotations, par exemple, `latitude 7490 + écran u2719d`
|
||||
|
||||
- exemple : [commandes-it-2019-ur1-002-annotated.tsv](../../achats-ipr/2019/ur1/commandes-it-2019-ur1-002-annotated.tsv), qui contient 33 lignes de données
|
||||
|
||||
Voici les differences entre [commandes-it-2019-ur1-002.tsv](../../tmp/commandes-it-2019-ur1-002.tsv) et [commandes-it-2019-ur1-002-annotated.tsv](../../achats-ipr/2019/ur1/commandes-it-2019-ur1-002-annotated.tsv):
|
||||
|
||||
```diff
|
||||
20241011-10:07:17 graffy@graffy-ws2:~/work/ddrs/procedures/labo1.5$ diff /home/graffy/work/ddrs/tmp/commandes-it-2019-ur1-002.tsv /home/graffy/work/ddrs/achats-ipr/2019/ur1/commandes-it-2019-ur1-002-annotated.tsv
|
||||
1c1
|
||||
< Centre financier Elément d'OTP Document d'achat Fournisseur/Division fourn. Date du document Code TVA Désignation Date livraison Valeur totale en cours Reste à livrer (quantité) Livraison finale Reste à facturer (quantité) Facture finale Immobilisation Groupe marchandises Texte Correspondance Créateur commande
|
||||
---
|
||||
> Centre financier Elément d'OTP Document d'achat Fournisseur/Division fourn. Date du document Code TVA Désignation Date livraison Valeur totale en cours Reste à livrer (quantité) Livraison finale Reste à facturer (quantité) Facture finale Immobilisation Groupe marchandises Texte Correspondance Créateur commande comment
|
||||
6c6
|
||||
< 233 991R423 17CQ423-G0 4500479590.0 7976 DELL 2019-10-01 DK PC portable DELL pour MARIETTE Céline 2019-10-28 1474.61 0 X 0 127281.0 IA.11 num IMMO = 127281 num etiquette 052108 LECLAIRE FRANCIS
|
||||
---
|
||||
> 233 991R423 17CQ423-G0 4500479590.0 7976 DELL 2019-10-01 DK PC portable DELL pour MARIETTE Céline 2019-10-28 1474.61 0 X 0 127281.0 IA.11 num IMMO = 127281 num etiquette 052108 LECLAIRE FRANCIS modèle ?
|
||||
20,22c20,22
|
||||
< 509 991R423 17CQ423-A0 4500466536.0 7976 DELL 2019-05-02 DK ORDINATEUR PORTABLE LUCILE RUTKOWSKI 2019-05-15 2205.84 0 X 0 126799.0 IA.11 immo: 126799 code barre: 051358 MARCAULT MAGALI
|
||||
< 527 991R423 17CQ423-A0 4500469692.0 7976 DELL 2019-05-28 DK Ordinateur portable Guillaume Raffy 2019-06-17 1981.57 0 X 0 X 126871.0 IA.11 numéro immo 126871 étiquette 051357 MARCAULT MAGALI
|
||||
< 530 991R423 17CQ423-A0 4500472335.0 7976 DELL 2019-06-25 DK PORTABLE LATITUDE DEV. 100000519892 2019-07-01 1680.16 0 X 0 X 126927.0 IA.11 immo: 126927 Etiquette: 051641 DE MOREL DANIELE
|
||||
---
|
||||
> 509 991R423 17CQ423-A0 4500466536.0 7976 DELL 2019-05-02 DK ORDINATEUR PORTABLE LUCILE RUTKOWSKI 2019-05-15 2205.84 0 X 0 126799.0 IA.11 immo: 126799 code barre: 051358 MARCAULT MAGALI modèle ? + écran ?
|
||||
> 527 991R423 17CQ423-A0 4500469692.0 7976 DELL 2019-05-28 DK Ordinateur portable Guillaume Raffy 2019-06-17 1981.57 0 X 0 X 126871.0 IA.11 numéro immo 126871 étiquette 051357 MARCAULT MAGALI latitude 7490 + écran u2719d
|
||||
> 530 991R423 17CQ423-A0 4500472335.0 7976 DELL 2019-06-25 DK PORTABLE LATITUDE DEV. 100000519892 2019-07-01 1680.16 0 X 0 X 126927.0 IA.11 immo: 126927 Etiquette: 051641 DE MOREL DANIELE modèle ?
|
||||
last command status : [1]
|
||||
```
|
||||
|
||||
[commandes-it-2019-ur1-002-annotated.tsv](../../achats-ipr/2019/ur1/commandes-it-2019-ur1-002-annotated.tsv)
|
||||
```tsv
|
||||
...
|
||||
233 991R423 17CQ423-G0 4500479590.0 7976 DELL 2019-10-01 DK PC portable DELL pour MARIETTE Céline 2019-10-28 1474.61 0 X 0 127281.0 IA.11 num IMMO = 127281 num etiquette 052108 LECLAIRE FRANCIS modèle ?
|
||||
237 991R423 17CQ423-G0 4500481443.0 7976 DELL 2019-10-14 DJ CAT1_Configuration n°1 - Latitude 3400 2019-10-28 900.04 0 X 0 IA.11 LECLAIRE FRANCIS
|
||||
...
|
||||
```
|
||||
|
||||
#### ur1_it_orders_labo1p5
|
||||
|
||||
- au format [attendu par labo 1.5](##description-du-fichier-attendu-par-labo1.5)
|
||||
- par exemple[it-l1p5.tsv](../../achats-ipr/2019/it-ur1-l1p5.tsv):
|
||||
```tsv
|
||||
id Modele Fabricant Type
|
||||
...
|
||||
ur1_233 dell pc portable
|
||||
ur1_237 latitude 3400 dell pc portable
|
||||
...
|
||||
```
|
||||
|
Loading…
Reference in New Issue