Skip to content
Snippets Groups Projects
README.fr.md 3.37 KiB
Newer Older
BEAUVAIS ANTOINE's avatar
BEAUVAIS ANTOINE committed
# BACK
## Solution ERP SIL 2021-2022

Ce dépôt contient le composant BACK pour la version SIL du projet ERP
de M2 2021-2022.

Ce projet est soumis au [contrat de licence CeCILL-B](https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html).  

### Qu'est-ce que c'est ?

BACK est le composant gérant la documentation comptable et étant également
responsable de la gestion des stocks pour les articles à vendre.
L'application fournit également aux autres services les informations 
sur les produits disponibles tels que les prix de chaque article.

[Accueil documentation](https://erp-sil.pages.unistra.fr/back/)

L'API REST est documentée à travers un document OpenAPI qui peut être consulté 
[ici](https://erp-sil.pages.unistra.fr/back/openapi/index.html).

La documentation Java (Javadoc) du projet est généré automatiquement par 
le système d'intégration continue (CI) pour chaque révision de la branche `master` 
et peut être consultée [ici](https://erp-sil.pages.unistra.fr/back/javadoc/index.html) (en anglais).
BEAUVAIS ANTOINE's avatar
BEAUVAIS ANTOINE committed
### Exécution

BACK est une application Web [Java Spring](https://spring.io/) utilisant 
le [système Gradle](https://gradle.org/).

Gradle permet d'essayer rapidement l'application en lançant un serveur 
Web de test [Apache TomCat](https://tomcat.apache.org/) hébergeant 
le programme. Il permet également de la déployer rapidement sous la forme
d'une archive WAR pouvant être installée sur un serveur de production 
Apache TomCat ou [Eclipse Glassfish](https://glassfish.org/).
BEAUVAIS ANTOINE's avatar
BEAUVAIS ANTOINE committed

Il est conseillé d'utiliser un IDE Java pour exécuter et déployer l'application.

* [JetBrains IntelliJ IDEA](https://www.jetbrains.com/idea/) (propriétaire, nécessite une licence)
* [Apache NetBeans](https://netbeans.apache.org/) (gratuit et *open-source*)
* [Eclipse IDE for Java Developers](https://www.eclipse.org/downloads/packages/) (grauit et *open-source*)

#### Préparation

Assurez-vous que votre machine possède un kit de développement Java (JDK) version
**8 ou ultérieur**. Le JDK complet est requis pour compiler l'application. Le fichier WAR 
peut être déployé sur une machine ne possédant que la JRE.

Afin que l'application fonctionne, vous devez configurer une clé d'authentification 
pour l'API de l'application.

Dans `src/main/resources`, créez un nouveau fichier `apikey.properties` contenant :

```
api.key=MyApiKey
```

#### Compilation et exécution

Vous pouvez compiler et lancer le projet en utilisant la commande suivante sur 
un système UNIX ou UNIX-like :

```
./gradlew bootRun
```

Sur Microsoft Windows, utilisez :

```
.\gradlew bootRun
```

Quand l'application tourne, vous pouvez y accéder à travers l'adresse URL 
[http://127.0.0.1:8080/](http://127.0.0.1:8080/).

Pour l'arrêter, vous devriez pouvoir utiliser le raccourci clavier CTRL+C. Sinon, lancez un autre 
terminal dans le dossier du projet et exécutez :

```
./gradlew stop
```
ou, sur Microsoft Windows,
```
.\gradlew stop
### Appel de l'API

Vous pouvez trouver la documentation [ici](https://erp-sil.pages.unistra.fr/back/openapi/index.html).

Utilisez [Postman](https://www.postman.com/) ou [Advanced REST Client](https://install.advancedrestclient.com/install) pour l'appeler l'API REST.

Tous les appels vers l'API doivent posséder la clé d'authentification configurée
dans le fichier `apikey.properties` de l'application. Elle doit être spécifiée 
dans l'en-tête HTTP `apikey`.