101 lines
3.4 KiB
Markdown
101 lines
3.4 KiB
Markdown
# API made with Strapi
|
|
|
|
<p align="center">
|
|
<a href="https://liberapay.com/OKI/donate/">
|
|
<img src="https://img.shields.io/liberapay/receives/OKI.svg?logo=liberapay">
|
|
<img src="https://img.shields.io/liberapay/patrons/OKI.svg?logo=liberapay">
|
|
<img src="https://img.shields.io/liberapay/goal/OKI.svg?logo=liberapay">
|
|
</a>
|
|
</p>
|
|
|
|
## Prérequis
|
|
- Node >= 16
|
|
- Npm ou Yarn
|
|
|
|
## Variables d'environnement
|
|
- Copier le contenu du fichier `.env.sample` dans un nouveau fichier `.env`
|
|
```
|
|
cp .env.sample .env
|
|
```
|
|
|
|
`STRAPI_URL` sera utile en production uniquement. Cette variable fait référence à l'url du site de production *(exemple : `https://api.mon-site.fr`)*.
|
|
|
|
`STRAPI_ADMIN_URL` fait référence à la route pour accéder à l'espace d'administration *(par défaut : `/admin`)* .
|
|
|
|
## Générer les clés nécessaires :
|
|
|
|
Ces variables d'environnement sont obligatoires :
|
|
|
|
- **APP_KEYS**
|
|
- **API_TOKEN_SALT**
|
|
- **ADMIN_JWT_SECRET**
|
|
- **JWT_SECRET** *(générée automatique si non renseignée)*
|
|
|
|
Afin de les renseigner, vous pouvez générer des clés en passant par node :
|
|
|
|
```bash
|
|
node
|
|
```
|
|
|
|
Une fois dans la console node, tapez :
|
|
|
|
```bash
|
|
crypto.randomBytes(16).toString('base64')
|
|
```
|
|
*retourne par exemple : 'BwUANVKSfenqAs1eFBHDIA=='*
|
|
|
|
Générez une clé pour chaque variable et ajoutez les au fichier .env.
|
|
La varialbe APP_KEYS peut en contenir plusieurs séparées, par une virgule :
|
|
*APP_KEYS=BwUANVKSfenqAs1eFBHDIA==,GiznuBga8kH0ZcOM5YO85w==*
|
|
|
|
Si la variable JWT_SECRET n'est pas renseignée, elle est générée automatiquement par Strapi.
|
|
|
|
## Installation des dépendances & lancement du serveur
|
|
|
|
```
|
|
yarn && yarn build && yarn dev
|
|
```
|
|
|
|
## Point d'accès
|
|
|
|
### `/awtis`
|
|
- `GET` : Lister tous les artistes
|
|
|
|
### `/awtis/{id}`
|
|
- `GET` : Récupérer les informations d'un artiste
|
|
|
|
### `/awtis/count`
|
|
- `GET` : Récupère le nombre d'artiste
|
|
___
|
|
|
|
### `/paroles`
|
|
- `GET` : Lister tous les textes
|
|
|
|
### `/paroles/{id}`
|
|
- `GET` : Récupérer les informations d'un texte
|
|
|
|
### `/paroles/count`
|
|
- `GET` : Récupère le nombre de texte
|
|
|
|
## License
|
|
|
|
Copyright (C) 2024 Cédric Famibelle-Pronzola & ORGANISATION KA INTERNATIONALE (OKI)
|
|
|
|
|
|
### FR
|
|
|
|
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU Affero publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.
|
|
|
|
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou d'ADAPTATION À UN USAGE PARTICULIER. Voir la licence publique générale GNU Affero pour plus de détails.
|
|
|
|
Vous devriez avoir reçu une copie de la licence publique générale GNU Affero avec ce programme. Si ce n'est pas le cas, consultez https://www.gnu.org/licenses/.
|
|
|
|
|
|
### EN
|
|
|
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
|