Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
sygal-import-ws
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
open-source
sygal-import-ws
Commits
a1b2a8b6
Commit
a1b2a8b6
authored
Feb 15, 2018
by
Bertrand Gauthier
Browse files
Options
Downloads
Patches
Plain Diff
Amélioration de la doc dans le README.
parent
eabefdc7
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+69
-50
69 additions, 50 deletions
README.md
with
69 additions
and
50 deletions
README.md
+
69
−
50
View file @
a1b2a8b6
#
S
ygal
I
mport
WS
#
s
ygal
-i
mport
-ws
## Que fait
S
ygal
I
mport
WS
## Que fait
*s
ygal
-i
mport
-ws* ?
SygalImportWS est un Web Service qui interroge les données présentent dans un SI et les mets à disposition pour leur lecture via des requêtes GET.
*sygal-import-ws*
est un web service (ws) qui interroge les données présentes dans un SI (via des vues en base de données)
et les met à disposition pour leur lecture via des requêtes GET.
## Technologies employées
S
ygal
I
mport
WS
repose sur l'utilisation de :
*
Apigility (https://apigility.org/) pour la
mise en place du web service
;
*
Doctrine (http://www.doctrine-project.org/) pour la gestion de la partie BDD (notamment des schémas des tables).
*s
ygal
-i
mport
-ws*
repose sur l'utilisation de :
-
Apigility (https://apigility.org/) pour la
fourniture du ws
;
-
Doctrine (http://www.doctrine-project.org/) pour la gestion de la partie BDD (notamment des schémas des tables).
## Installation
du Web Service
## Installation
###
Récupér
ation d
u
dép
ôt
###
Install
ation d
es
dép
endances
La récupération se fait directement via le clone du dépôt git.
Une fois les sources obtenues, il faut installer les packages requis par le ws.
```
bash
$
git clone git@git.unicaen.fr:dsi/sygal-import-ws.git
```
### Installation des vendors
Cette installation passe directement via l'utilisation de
*composer*
.
Cette installation se fait via
*composer*
(https://getcomposer.org/) :
```
bash
$
composer
install
...
...
@@ -33,47 +28,70 @@ $ composer install
### Création du fichier "users.htpasswd"
Ce fichier contient les utilisateurs/mot de passe autorisés à appeler le w
eb service
.
Ce fichier contient les utilisateurs/mot de passe autorisés à appeler le w
s
.
Se placer dans le répertoire
"
config
" du projet
et lancer la commande suivante
en remplaçant
`gauthierb`
par l'utilisateur voulu
:
Se placer dans le répertoire
**
config
**
des sources
et lancer la commande suivante
pour créer le fichier "users.htpasswd"
contenant un utilisateur
`sygal-app`
dont le mot de passe va vous être demandé
:
```
bash
$
htpasswd
-c
b
users.htpasswd
gauthierb
$
htpasswd
-c
users.htpasswd
sygal-app
```
### Complétion des fichiers locaux
### Complétion des fichiers de config
Deux fichiers situés dans le répertoire
**config**
ont besoin d'être complétés puis renommés :
-
**local.php.dist**
: qui est notamment utilisé pour l'authentification.
-
clé
`htpasswd`
qui désigne le chemin du fichier "users.htpasswd" évoqué plus haut
-
**database.local.php.dist**
: qui est utilisé pour la connection à la BDD.
-
clés
`host`
,
`dbname`
,
`port`
,
`user`
,
`password`
: les infos d'accès à la BDD.
Une fois ces fichiers complétés, changer leur extension
`.php.dist`
en
`.php`
.
Deux fichi
er
s
l
ocaux ont besoins d'être complétés :
### Activer/désactiv
er l
e mode développement
*
local.php : qui est notamment utilisé pour l'authentification.
*
`htpasswd`
qui désigne le chemin du fichier "users.htpasswd" contenant le mot de passe htaccess
*
database.local.php : qui est utilisé pour la connection au BDD
</tt>
.
*
`host`
,
`dbname`
et
`port`
: les infos d'accés à la BDD.
*
`user`
et
`password`
: les infos de l'utilisateur accédant à la BDD.
Passer en mode développement ouvre l'accès à l'interface de modification du ws.
Cette fonctionnalité est réservée aux développeurs du ws.
NB: ces deux fichiers sont présents sur le dépôt avec l'extension
<tt>
*.dist*
</tt>
.
Attention: Le mode développement est
**INTERDIT EN PRODUCTION**
.
### A
ctiver le mode développement
(Facultatif)
Pour activer/désa
ctiver le mode développement
:
L'interface admin permettant de modifier les services n'est accéssible seulement en mode développement.
```
bash
$
composer development-enable
$
composer development-disable
```
## Lancement du
W
eb
S
ervice
## Lancement du
w
eb
s
ervice
### Soit avec le built-in serveur PHP
La façon la plus simple consiste en l'utilisation du serveur interne de php grâce à la commande suivante :
En phase de développement, la façon la plus simple consiste en l'utilisation
du serveur interne de php :
```
bash
php
-S
0.0.0.0:8080
-ddisplay_errors
=
0
-t
public public/index.php
$
php
-S
0.0.0.0:8080
-ddisplay_errors
=
0
-t
public public/index.php
```
### Soit avec Docker
<span
style=
'color:red;'
>
**TODO**
</span>
après la création de la bonne image
Se placer à la racine des sources du ws pour lancer la commande suivante :
```
bash
$
docker-compose up
-d
--build
```
Vérifier que le container
`sygal-import-ws-container`
figure bien dans la liste des containers
lancés listés par la commande suivante (cf. colonne
`NAMES`
) :
```
bash
$
docker ps
```
Le port sur lequel écoute le ws est indiqué dans la colonne
`PORTS`
.
Par exemple,
`0.0.0.0:8080->8080/tcp`
indique que le ws est accessible sur la machine hôte
à l'adresse
`localhost:8080`
.
## Les services fournis
...
...
@@ -88,22 +106,23 @@ Ainsi, on retrouve les adresses suivantes :
*
These : localhost:8080/these
*
Variable : localhost:8080/variable
Exemple :
```
bash
$
curl
--header
"Accept: application/json"
--header
"Authorization: Basic Xxxxxxxxxxxx"
localhost:8080/variable
```
L'interrogation directe de ces adresses va retourner l'intégralité des données du BDD.
Afin d'obtenir
de
les informations spécifiques à une donnée, il est nécessaire d'ajouter le
*
source_code
*
de celle-ci.
Afin d'obtenir les informations spécifiques à une donnée, il est nécessaire d'ajouter le
`
source_code
`
de celle-ci.
Par exemple, dans le cas de la thèse identifiée 12047 :
```
bash
localhost:8080/these/12047
$
curl
--header
"Accept: application/json"
--header
"Authorization: Basic Xxxxxxxxxxxx"
localhost:8080/variable/ETB_LIB_NOM_RESP
```
## Remarques complémentaires
*
Le web service ne répond qu'aux requêtes de type GET.
*
Le web service retourne du json seulement, le header de la requête doit en tenir compte
```
bash
Accept: application/json
```
*
Le Web service nécessite un authentification (basique).
*
Le web service retourne du json seulement.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment