diff --git a/public_html/js/action-script.js b/public_html/js/action-script.js
new file mode 100644
index 0000000..8b4136f
--- /dev/null
+++ b/public_html/js/action-script.js
@@ -0,0 +1,26 @@
+
+/* (1) Création de l'instance d'API */
+var api = new API("http://ndli1718/api/v/1.0/");
+
+
+
+
+/* (2) Premier appel (tout dans url) */
+// method uriuriuriuriuriuriuri fo handlerhandlerhandl
+api.call('GET RESTexample/article/4', {}, function(response){
+
+ console.log(response);
+
+});
+
+
+
+
+/* (3) Premier appel (url+formdata) */
+
+// method uriuriuriuriuriuriuri formdataformdataformdataformda handlerhandlerhandl
+api.call('PUT RESTexample/article/1', { content: 'nouveau contenu' }, function(response){
+
+ console.log(response);
+
+});
\ No newline at end of file
diff --git a/public_html/js/lib/api.js b/public_html/js/lib/api.js
new file mode 100755
index 0000000..69f1f43
--- /dev/null
+++ b/public_html/js/lib/api.js
@@ -0,0 +1,144 @@
+/* classe API */
+function API(target){ this.target = target; }
+
+API.prototype = {
+ xhr: [], // tableau d'objets pour les requêtes ajax
+ buffer: null, // Contiendra le buffer pour debugger si erreur de parsage
+ error: { // error constants
+ '-1': 'Invalid target format: "METHOD module/method"',
+ '-2': 'XHR error',
+ '-3': 'Invalid JSON response',
+ },
+
+ /* transaction avec le serveur (http://{host}/api/)
+ *
+ * @param pTarget URI cible, format "HTTP_METHOD uri/uri/uri"
+ * @param pArgs