From 1f0249447290de70cd5e64c4d7976333b853df16 Mon Sep 17 00:00:00 2001 From: Genma Date: Fri, 21 Oct 2016 16:09:21 +0200 Subject: [PATCH] Creation de la page admin_api_fr Reprise de la page https://wiki.chatons.org/doku.php?id=yunohost --- admin_api_fr | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 admin_api_fr diff --git a/admin_api_fr b/admin_api_fr new file mode 100644 index 00000000..2e21e87c --- /dev/null +++ b/admin_api_fr @@ -0,0 +1,42 @@ +# Administration depuis l'API ou une application externe + +Toutes les actions executables en ligne de commande le sont également via une API. + +L'API utilise l'adresse https://VOTRESERVEUR/yunohost/api et toutes les actions sont détaillées sur cette page. + +Il faut d'abord récupérer un cookie de login pour ensuite réaliser les actions. Voici un exemple via curl : +```bash + Login (avec mot de passe admin): curl -k -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 l'administration à distance d'une instance YunoHost dans le cadre d'un projet CHATON, des classes API ont été développées par des utilisateurs. + +Par exemple, cette classe PHP vous permettra d'administrer votre instance YunoHost depuis une application PHP (site web, outil de provisioning, …). + +Voici un exemple de code PHP permettant d'ajouter un utilisateur dans votre instance YunoHost : + +```bash +require("ynh_api.class.php"); +$ynh = new YNH_API("YunoHost server IP or hostname", "admin password"); + +if ($ynh->login()) { + $domains = $ynh->get("/domains"); + $first_domain = $domains['domains'][0]; + + $arguments = array( + 'username' => 'test', + 'password' => 'yunohost', + 'firstname' => 'Firstname', + 'lastname' => 'Lastname', + '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; +} +```