doc/pages/02.administer/60.extend/30.api/admin_api.fr.md
OniriCorpe 7a01793062
Improve markdown formatting of pages, a lot of them are improperly formatted (#2429)
* Revert "Revert "markdown format""

* fix formating

* fix readme

* add .markdownlint.json

* add markdownlint-rules-grav-pages

* add markdownlint-rules-grav-pages files

* add license for Markdown Lint Rules for Grav Pages

* fix [figure] mess

* fix [figure] mess 2

* fix [figure] mess 3

* maj .gitignore

* various fixes

* fix markdownlint-rules-grav-pages

* second formater pass

* various manual fixes

* add .markdownlintignore

* markdownlintignore: auto-generated pages

* disable proper-names for html_elements

* another bunch of various markdown fixes

* Update pages/02.administer/10.install/20.dns_config/dns_config.es.md

Co-authored-by: tituspijean <titus+yunohost@pijean.ovh>

---------

Co-authored-by: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com>
Co-authored-by: tituspijean <titus+yunohost@pijean.ovh>
2024-03-23 08:59:52 +01:00

2.2 KiB
Raw Blame History

title template taxonomy routes
Administration depuis l'API ou une application externe docs
category
docs
default
/admin_api

Toutes les actions exécutables en ligne de commande le sont également via une API. LAPI est accessible à ladresse https://votre.serveur/yunohost/api. Pour le moment, il n'existe pas de documentation des différentes routes... mais vous pouvez trouver l'actionmap ici (en particulier les clefs api)

Avec cURL

Il faut dabord récupérer un cookie de connexion pour ensuite réaliser les actions. Voici un exemple avec cURL :

# Login (avec mot de passe admin)
curl -k -H "X-Requested-With: customscript" \
        -d "password=supersecretpassword" \
        -dump-header headers \
        https://your.server/yunohost/api/login

# Exemple de GET
curl -k -i -H "Accept: application/json" \
           -H "Content-Type: application/json" \
           -L -b headers -X GET https://your.server/yunohost/api/ROUTE \
        | grep } | python -mjson.tool

Avec une classe PHP

Pour simplifier ladministration à distance dune instance YunoHost dans le cadre dun projet CHATONS/Librehosters, 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 :

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;
}