From 21577552d930fbcf65d586bacf49c1f3d260fb0e Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Sat, 4 Jun 2016 13:52:48 +0200 Subject: [PATCH] module/apiBlueprint retourne le fichier complet --- automate.php | 3 ++ manager/module/module.php | 82 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/automate.php b/automate.php index dcc2209..d71e179 100755 --- a/automate.php +++ b/automate.php @@ -1,6 +1,9 @@ ManagerError::ParsingFailed ); + /* [1] Début du fichier custom + =========================================================*/ + $content = "FORMAT: 1A\n"; + $content .= "HOST: https://socioview.xdrm.io/api/\n\n"; + + $content .= "# NxTIC API\n"; + $content .= "API de la plateforme d'étude **NxTIC**, cette documentation présentera toutes les méthodes accessibles depuis la plateforme elle-même et depuis un logiciel tiers.\n"; + $content .= "La plateforme **NxTIC** est une plateforme d'étude sociale développé par Adrien Marquès _(xdrm-brackets)_ pour un laboratoire de sociologie du _CNRS_.\n"; + $content .= "Elle a pour objectif l'acquisition, la visualisation et l'extraction de données relationnelles.\n"; + $content .= "> Cette plateforme est temporairement hébergée sur https://socioview.xdrm.io/.\n"; + + + $content .= "## Structure et fonctionnement\n"; + $content .= "Le fonctionnement est basé sur une délégation à 2 niveaux : des __modules__ contenant des __méthodes__.\n\n"; + + $content .= "***\n"; + + + $content .= "### Paramètres\n"; + $content .= "Tous les paramètres doivent être envoyés en `multipart/form-data`.\n\n"; + + $content .= "1. Chacun formatté en `json` \n"; + $content .= "2. Portant le `nom` défini dans la documentation \n"; + $content .= "3. L'ordre n'a pas d'importance \n"; + $content .= "4. Respectant le `type` défini dans la documentation (cf. [Types](#introduction/types-de-donnees)) \n\n"; + + $content .= "> **Note:** Les `paramètres URI` ne correspondent pas aux paramètres URI. \n"; + $content .= "Ils servent à expliciter les paramètres et leurs types, et correspondent aux variables notées `{nomVar}` dans le corps de la requête.\n"; + + + $content .= "### Réponses\n\n"; + + $content .= "#### A. Les réponses seront formattées en json et contiendront:\n\n"; + + $content .= "1. `ModuleError` - Le code de l'erreur \n"; + $content .= "2. `ErrorDescription` - La description de l'erreur\n\n"; + + $content .= "****\n\n"; + + $content .= "#### B. Codes `HTTP` et leur signification.\n\n"; + + $content .= "|Status|Code HTTP|\n"; + $content .= "|---|---|\n"; + $content .= "|OK|`200` - Success|\n"; + $content .= "|Erreur|`417` - Erreur quelconque|\n"; + + + + $content .= "## Types de données\n\n"; + + $content .= "### Types Simples \n"; + $content .= "|Type|Exemple|Description|\n"; + $content .= "|---|---|---|\n"; + $content .= "|`mixed`|`[9,\"a\"]`, `\"a\"`|Type quelconque (peut être simple ou composé)|\n"; + $content .= "|`id`|`10`, `\"23\"`|Nombre entier positif compris entre `0` et `2147483647`|\n"; + $content .= "|`text`|`\"Hello!\"`|Chaine de caractères de longueur quelconque (peut être vide)|\n"; + $content .= "|`mail`|`\"a.b@c.def\"`|Adresse mail avec une syntaxe valide|\n"; + $content .= "|`number`|`0102030405`|Numéro de téléphone valide suivant les formats : `06`, `+336`, `+33 6`|\n"; + $content .= "|`array`|`[1, 3]`|Tableau quelconque non vide|\n"; + $content .= "|`boolean`|`true`, `false`|Booléen|\n"; + $content .= "|`varchar(a,b)`|`\"Hello!\"`|Chaine de caractères de taille comprise entre `a` et `b` (inclus)|\n"; + + + $content .= "### Type composé : array\n\n"; + + $content .= "|Type|Sous-Type|Description|\n"; + $content .= "|---|---|---|\n"; + $content .= "|`array`|`mixed`|Tableau contenant uniquement des données de type `mixed`|\n"; + $content .= "|`array`|`id`|Tableau contenant uniquement des données de type `id`|\n"; + $content .= "|`array`|`text`|Tableau contenant uniquement des données de type `text`|\n"; + $content .= "|`array`|`mail`|Tableau contenant uniquement des données de type `mail`|\n"; + $content .= "|`array`|`number`|Tableau contenant uniquement des données de type `number`|\n"; + $content .= "|`array`|`array`|Tableau contenant uniquement des données de type `array`|\n"; + $content .= "|`array`|`boolean`|Tableau contenant uniquement des données de type `boolean`|\n"; + $content .= "|`array`|`varchar(a,b)`|Tableau contenant uniquement des données de type `varchar(a,b)`|\n\n"; + + $content .= "> **Note:** Il est possible de chainer le type `array` autant de fois que nécessaire. \n"; + $content .= "**Ex.:** `array>` - Soit un tableau contenant des tableaux contenant exclusivement des données de type `id`.\n"; + /* [2] Pour chaque module =========================================================*/ - $content = ''; foreach($modules as $module=>$methods){ $content .= "## $module [/$module] \n\n";