API_USE_CASE_1.md 2.83 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Cas d'utilisation 1

## Version Simple

Corpus Voix du Nord -> Néoveille -> SDMC

## Version optimisée

Corpus Voix du Nord -> TreeTagger -> Néoveille -> Filtrage sur les phrases contenant les néologismes -> SDMC

## Détails des appels API

### Version simple

#### POST /corpus

Paramètres : Le corpus sera envoyé en paramètre ainsi que les autres paramètres.
``` javascript
{
    corpus_content:
    [
        'Article1 de la voix du Nord',
        'Article2 de la voix du Nord',
        'Article3 de la voix du Nord'
    ],
    corpus_parameters: {
        lang: 'fr',
        author: 'La voix du Nord',
        date: null
    }
}
```

On envoie le corpus à la BDD
La BDD nous renvoie un id correspondant qui sera utilisé pour faire le lien entre le traitement et le corpus.
À titre d'exemple, on imagine que l'id retourné est: __1DT4G__

#### POST /chaine

Paramètres :
``` javascript
{
    corpus_id: '1DT4G',
    treatment_chain: [
        {
            module_name: 'Néoveille',
            parameters:
            [
                ...
            ]
        },
        {
            module_name: 'SDMC',
            parameters:
            [
                {
                    parameter_name: 'motif_type',
                    value: 'Forme du mot seul'
                },
                {
                    parameter_name: 'motif_representation',
                    value: 'Fermés (sans sous-motifs de même fréquence)'
                },
                {
                    parameter_name: 'gap',
                    value: ["0","0"]
                },
                ...
            ]
        }
    ]
}
```

Ainsi, le dispatcher saura quel corpus traiter et possèdera aussi la liste des modules concernés dans le traitement ainsi que leur ordre et leurs paramètres.

#### POST /Neoveille/treatment

``` javascript
{
    corpus_id: '1DT4G',
    parameters: {
        // Parameters for Neoveille
    }

}
```

Cela va activer le module Néoveille afin qu'il effectue le traitement.
Tout d'abord, il doit récupérer le fichier corpus.

#### GET /corpus/1DT4G

Retourne le corpus

#### PUT /corpus/1DT4G

``` javascript

// Envoi de l'output de Néoveille à la BDD, ainsi que maj du corpus

```


* Retourne ensuite au dispatcher

#### POST /SDMC/treatment

``` javascript
{
    corpus_id: '1DT4G',
    parameters: {
        // Parameters for SDMC
    }
}
```

#### GET /corpus/1DT4G

Retourn le corpus



#### PUT /corpus/1DT4G

``` javascript

// Envoi de l'output de Néoveille à la BDD, ainsi que maj du corpus

```

* Retourne ensuite au dispatcher qui s'aperçoit que le traitement est alors terminé

GET /chaine/status/1DT4G renvoie alors 'finished'


Dans son profil, il y aura comme appel

### GET /corpus/user/MY_USER

(besoin d'un résumé juste ?)

Puis il pourra cliquer dessus pour accéder à l'outil de visualisation

### GET /corpus/1DT4G