doc/admin_api_fr.md
2019-01-03 16:09:41 +00:00

42 lines
1.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Administration depuis lAPI ou une application externe
Toutes les actions exécutables en ligne de commande le sont également via une API.
LAPI utilise ladresse https://VOTRESERVEUR/yunohost/api et toutes les actions sont détaillées sur cette page.
Il faut dabord récupérer un cookie de connexion pour ensuite réaliser les actions. Voici un exemple via curl :
```bash
Login (avec mot de passe admin): curl -k -H “X-Requested-With: customscript” -d “password=XXX” dump-header headers https://VOTRESERVEUR/yunohost/api/login
GET: curl -k -i -H “Accept: application/json” -H “Content-Type: application/json” -L -b headers -X GET https://VOTRESERVEUR/yunohost/api/ROUTE | grep }| python -mjson.tool
```
Pour simplifier ladministration à distance dune instance YunoHost dans le cadre dun projet CHATONS, des classes API ont été développées par des utilisateurs.
Par exemple, cette classe PHP vous permettra dadministrer votre instance YunoHost depuis une application PHP (site web, outil de gestion de capacité…).
Voici un exemple de code PHP permettant dajouter un utilisateur dans votre instance YunoHost :
```bash
require("ynh_api.class.php");
$ynh = new YNH_API("adresse IP du serveur YunoHost ou nom dhôte", "mot de passe administrateur");
if ($ynh->login()) {
$domains = $ynh->get("/domains");
$first_domain = $domains['domains'][0];
$arguments = array(
'username' => 'test',
'password' => 'yunohost',
'firstname' => 'Prénom',
'lastname' => 'Nom',
'mail' => 'test@'.$first_domain,
'mailbox_quota' => '500M'
);
$user_add = $ynh->post("/users", $arguments);
print_r($user_add);
} else {
print("Login to YunoHost failed.\n");
exit;
}
```