X-Git-Url: https://dev.renevier.net/gitweb.cgi?p=syp.git;a=blobdiff_plain;f=devdoc%2Fapi.txt;fp=devdoc%2Fapi.txt;h=cc1413e78b94de01a3009dff96e418787cc40302;hp=0000000000000000000000000000000000000000;hb=57511b4efd7402ef58de66ac1fe2c01ed1b1d7b5;hpb=cbcf49abc26fb050cadf77d8acedfd844ff94dbe
diff --git a/devdoc/api.txt b/devdoc/api.txt
new file mode 100644
index 0000000..cc1413e
--- /dev/null
+++ b/devdoc/api.txt
@@ -0,0 +1,109 @@
+# feature definition
+
+A feature represents a location. It has index _fid_. It has two dimensions:
+_lagitude_ and _longitude_. It may have an image represented by it's url.
+This field is called _imgurl_; it may also have a _title_ and/or a _description_.
+
+# client to server communication:
+
+Client submits a classic html form to server.
+
+**note**: In this documentation, php notation is used (`_POST` and `_FILES`),
+but server may be written in any language.
+
+`_POST["request"]` is either:
+
+## auth
+ asks for authentication
+
+ * ` _POST["password"]` must contains user password
+
+## add
+ adds a new feature
+
+ * `_POST["lon"]` must contain feature longitude
+ * `_POST["lat"]` must contain feature latitude
+ * `_POST["title"]` may contain feature title
+ * `_POST["description"]` may contain feature description
+ * `_FILES["image_file"]` may contain an uploaded image
+
+## del
+ to delete an existing feature
+
+ * `_POST["fid"]` must contain feature id
+
+## update
+ to modify an existing feature
+
+ * `_POST["fid"]` must contain feature id
+ * `_POST["lon"]` must contain feature longitude
+ * `_POST["lat"]` must contain feature latitude
+ * `_POST["title"]` may contain feature title
+ * `_POST["description"]` may contain feature description
+
+ if `_POST["keep_img"]` is "yes", feature image will not be modified.
+ Otherwise, `_FILES["photo_file"]` is checked for an uploaded file. If
+ `_FILES["photo_file"]` is empty, existing feature image will be deleted.
+ Otherwise, uploaded file will replace current feature image.
+
+# server reply to client:
+Server replies with xml content. In an ideal world, reply would be just xml
+content. But due to technical issues, syp must wrap xml content in the body of a
+html document. So for example, instead of sending
+
+`