diff options
17 files changed, 488 insertions, 4 deletions
diff --git a/composer.json b/composer.json index 1abf6f20..aa120970 100644 --- a/composer.json +++ b/composer.json | |||
@@ -80,7 +80,8 @@ | |||
80 | "paragonie/random_compat": "~1.0", | 80 | "paragonie/random_compat": "~1.0", |
81 | "craue/config-bundle": "~1.4", | 81 | "craue/config-bundle": "~1.4", |
82 | "mnapoli/piwik-twig-extension": "^1.0", | 82 | "mnapoli/piwik-twig-extension": "^1.0", |
83 | "lexik/maintenance-bundle": "~2.1" | 83 | "lexik/maintenance-bundle": "~2.1", |
84 | "ocramius/proxy-manager": "1.*" | ||
84 | }, | 85 | }, |
85 | "require-dev": { | 86 | "require-dev": { |
86 | "doctrine/doctrine-fixtures-bundle": "~2.2", | 87 | "doctrine/doctrine-fixtures-bundle": "~2.2", |
diff --git a/docs/en/developer/api.rst b/docs/en/developer/api.rst new file mode 100644 index 00000000..ac00d3a4 --- /dev/null +++ b/docs/en/developer/api.rst | |||
@@ -0,0 +1,235 @@ | |||
1 | API documentation | ||
2 | ================= | ||
3 | |||
4 | Thanks to this documentation, we'll see how to interact with the wallabag API. | ||
5 | |||
6 | Requirements | ||
7 | ------------ | ||
8 | |||
9 | * wallabag freshly (or not) installed on http://localhost:8000 | ||
10 | * ``httpie`` installed on your computer (`see project website <https://github.com/jkbrzt/httpie>`__). Note that you can also adapt the commands using curl or wget. | ||
11 | * all the API methods are documented here http://localhost:8000/api/doc | ||
12 | |||
13 | Creating a new API client | ||
14 | ------------------------- | ||
15 | |||
16 | In your wallabag account, you can create a new API client at this URL http://localhost:8000/developer/client/create. | ||
17 | |||
18 | Just give the redirect URL of your application and create your client. If your application is a desktop one, put whatever URL suits you the most. | ||
19 | |||
20 | You get information like this: | ||
21 | |||
22 | :: | ||
23 | |||
24 | Client ID: | ||
25 | |||
26 | 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc | ||
27 | |||
28 | Client secret: | ||
29 | |||
30 | 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 | ||
31 | |||
32 | |||
33 | Obtaining a refresh token | ||
34 | ------------------------- | ||
35 | |||
36 | For each API call, you'll need a token. Let's create it with this command (replace ``client_id``, ``client_secret``, ``username`` and ``password`` with their values): | ||
37 | |||
38 | :: | ||
39 | |||
40 | http POST http://localhost:8000/oauth/v2/token \ | ||
41 | grant_type=password \ | ||
42 | client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \ | ||
43 | client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \ | ||
44 | username=wallabag \ | ||
45 | password=wallabag | ||
46 | |||
47 | You'll have this in return: | ||
48 | |||
49 | :: | ||
50 | |||
51 | HTTP/1.1 200 OK | ||
52 | Cache-Control: no-store, private | ||
53 | Connection: close | ||
54 | Content-Type: application/json | ||
55 | Date: Tue, 05 Apr 2016 08:44:33 GMT | ||
56 | Host: localhost:8000 | ||
57 | Pragma: no-cache | ||
58 | X-Debug-Token: 19c8e0 | ||
59 | X-Debug-Token-Link: /_profiler/19c8e0 | ||
60 | X-Powered-By: PHP/7.0.4 | ||
61 | |||
62 | { | ||
63 | "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA", | ||
64 | "expires_in": 3600, | ||
65 | "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ", | ||
66 | "scope": null, | ||
67 | "token_type": "bearer" | ||
68 | } | ||
69 | |||
70 | We'll work with the ``access_token`` value in our next calls. | ||
71 | |||
72 | Getting existing entries | ||
73 | ------------------------ | ||
74 | |||
75 | Documentation for this method: http://localhost:8000/api/doc#get--api-entries.{_format} | ||
76 | |||
77 | As we work on a fresh wallabag installation, we'll have no result with this command: | ||
78 | |||
79 | :: | ||
80 | |||
81 | http GET http://localhost:8000/api/entries.json \ | ||
82 | "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" | ||
83 | |||
84 | returns: | ||
85 | |||
86 | :: | ||
87 | |||
88 | HTTP/1.1 200 OK | ||
89 | 0: application/json | ||
90 | Cache-Control: no-cache | ||
91 | Connection: close | ||
92 | Content-Type: application/json | ||
93 | Date: Tue, 05 Apr 2016 08:51:32 GMT | ||
94 | Host: localhost:8000 | ||
95 | Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly | ||
96 | X-Debug-Token: 4fbbc4 | ||
97 | X-Debug-Token-Link: /_profiler/4fbbc4 | ||
98 | X-Powered-By: PHP/7.0.4 | ||
99 | |||
100 | { | ||
101 | "_embedded": { | ||
102 | "items": [] | ||
103 | }, | ||
104 | "_links": { | ||
105 | "first": { | ||
106 | "href": "http://localhost:8000/api/entries?page=1&perPage=30" | ||
107 | }, | ||
108 | "last": { | ||
109 | "href": "http://localhost:8000/api/entries?page=1&perPage=30" | ||
110 | }, | ||
111 | "self": { | ||
112 | "href": "http://localhost:8000/api/entries?page=1&perPage=30" | ||
113 | } | ||
114 | }, | ||
115 | "limit": 30, | ||
116 | "page": 1, | ||
117 | "pages": 1, | ||
118 | "total": 0 | ||
119 | } | ||
120 | |||
121 | The ``items`` array is empty. | ||
122 | |||
123 | Adding your first entry | ||
124 | ----------------------- | ||
125 | |||
126 | Documentation for this method: http://localhost:8000/api/doc#post--api-entries.{_format} | ||
127 | |||
128 | :: | ||
129 | |||
130 | http POST http://localhost:8000/api/entries.json \ | ||
131 | "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \ | ||
132 | url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html" | ||
133 | |||
134 | returns | ||
135 | |||
136 | :: | ||
137 | |||
138 | HTTP/1.1 200 OK | ||
139 | 0: application/json | ||
140 | Cache-Control: no-cache | ||
141 | Connection: close | ||
142 | Content-Type: application/json | ||
143 | Date: Tue, 05 Apr 2016 09:07:54 GMT | ||
144 | Host: localhost:8000 | ||
145 | Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly | ||
146 | X-Debug-Token: e01c51 | ||
147 | X-Debug-Token-Link: /_profiler/e01c51 | ||
148 | X-Powered-By: PHP/7.0.4 | ||
149 | |||
150 | { | ||
151 | "_links": { | ||
152 | "self": { | ||
153 | "href": "/api/entries/1" | ||
154 | } | ||
155 | }, | ||
156 | "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\" //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w, //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\" //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w, //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\" //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w, //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n", | ||
157 | "created_at": "2016-04-05T09:07:54+0000", | ||
158 | "domain_name": "www.numerama.com", | ||
159 | "id": 1, | ||
160 | "is_archived": 0, | ||
161 | "is_starred": 0, | ||
162 | "language": "fr-FR", | ||
163 | "mimetype": "text/html", | ||
164 | "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg", | ||
165 | "reading_time": 2, | ||
166 | "tags": [], | ||
167 | "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama", | ||
168 | "updated_at": "2016-04-05T09:07:54+0000", | ||
169 | "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html", | ||
170 | "user_email": "", | ||
171 | "user_id": 1, | ||
172 | "user_name": "wallabag" | ||
173 | } | ||
174 | |||
175 | Now, if you execute the previous command (see **Get existing entries**), you'll have data. | ||
176 | |||
177 | Deleting an entry | ||
178 | ----------------- | ||
179 | |||
180 | Documentation for this method: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format} | ||
181 | |||
182 | :: | ||
183 | |||
184 | http DELETE http://localhost:8000/api/entries/1.json \ | ||
185 | "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" | ||
186 | |||
187 | returns | ||
188 | |||
189 | :: | ||
190 | |||
191 | HTTP/1.1 200 OK | ||
192 | 0: application/json | ||
193 | Cache-Control: no-cache | ||
194 | Connection: close | ||
195 | Content-Type: application/json | ||
196 | Date: Tue, 05 Apr 2016 09:19:07 GMT | ||
197 | Host: localhost:8000 | ||
198 | Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly | ||
199 | X-Debug-Token: 887cef | ||
200 | X-Debug-Token-Link: /_profiler/887cef | ||
201 | X-Powered-By: PHP/7.0.4 | ||
202 | |||
203 | { | ||
204 | "_links": { | ||
205 | "self": { | ||
206 | "href": "/api/entries/" | ||
207 | } | ||
208 | }, | ||
209 | "annotations": [], | ||
210 | "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\" //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w, //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\" //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w, //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\" //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w, //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n", | ||
211 | "created_at": "2016-04-05T09:07:54+0000", | ||
212 | "domain_name": "www.numerama.com", | ||
213 | "is_archived": 0, | ||
214 | "is_starred": 0, | ||
215 | "language": "fr-FR", | ||
216 | "mimetype": "text/html", | ||
217 | "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg", | ||
218 | "reading_time": 2, | ||
219 | "tags": [], | ||
220 | "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama", | ||
221 | "updated_at": "2016-04-05T09:07:54+0000", | ||
222 | "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html", | ||
223 | "user_email": "", | ||
224 | "user_id": 1, | ||
225 | "user_name": "wallabag" | ||
226 | } | ||
227 | |||
228 | And if you want to list the existing entries (see **Get existing entries**), the array is empty. | ||
229 | |||
230 | Other methods | ||
231 | ------------- | ||
232 | |||
233 | We won't write samples for each API method. | ||
234 | |||
235 | Have a look on the listing here: http://localhost:8000/api/doc to know each method. | ||
diff --git a/docs/en/index.rst b/docs/en/index.rst index 66caac39..87b62121 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst | |||
@@ -42,7 +42,7 @@ The main documentation for this application is organized into a couple sections: | |||
42 | :maxdepth: 2 | 42 | :maxdepth: 2 |
43 | :caption: Developer documentation | 43 | :caption: Developer documentation |
44 | 44 | ||
45 | developer/api | ||
45 | developer/docker | 46 | developer/docker |
46 | developer/translate | 47 | developer/translate |
47 | developer/maintenance | 48 | developer/maintenance |
48 | developer/releasing | ||
diff --git a/docs/fr/developer/api.rst b/docs/fr/developer/api.rst new file mode 100644 index 00000000..9c8e25a9 --- /dev/null +++ b/docs/fr/developer/api.rst | |||
@@ -0,0 +1,235 @@ | |||
1 | Documentation de l'API | ||
2 | ====================== | ||
3 | |||
4 | Grâce à cette documentation, nous allons voir comment interagir avec l'API de wallabag. | ||
5 | |||
6 | Pré-requis | ||
7 | ---------- | ||
8 | |||
9 | * wallabag fraichement installé et disponible à http://localhost:8000 | ||
10 | * ``httpie`` installé sur votre ordinateur (`voir le site du projet <https://github.com/jkbrzt/httpie>`__). Vous pouvez également adapter les commandes en utilisant curl ou wget. | ||
11 | * toutes les méthodes de l'API documentées ici http://localhost:8000/api/doc | ||
12 | |||
13 | Créer un nouveau client d'API | ||
14 | ----------------------------- | ||
15 | |||
16 | Depuis votre wallabag, vous pouvez créer un nouveau client d'API à cette URL http://localhost:8000/developer/client/create. | ||
17 | |||
18 | Vous devez renseigner l'URL de redirection de votre application et créer votre client. Si votre application est une application desktop, renseignez l'URL que vous souhaitez. | ||
19 | |||
20 | Vous obtiendrez les informations suivantes : | ||
21 | |||
22 | :: | ||
23 | |||
24 | Client ID: | ||
25 | |||
26 | 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc | ||
27 | |||
28 | Client secret: | ||
29 | |||
30 | 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 | ||
31 | |||
32 | |||
33 | Créer un jeton | ||
34 | -------------- | ||
35 | |||
36 | Pour chaque appel d'API, vous aurez besoin d'un jeton. Créons-le avec la commande suivante (remplacez ``client_id``, ``client_secret``, ``username`` and ``password`` par leur valeur): | ||
37 | |||
38 | :: | ||
39 | |||
40 | http POST http://localhost:8000/oauth/v2/token \ | ||
41 | grant_type=password \ | ||
42 | client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \ | ||
43 | client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \ | ||
44 | username=wallabag \ | ||
45 | password=wallabag | ||
46 | |||
47 | Vous obtiendrez : | ||
48 | |||
49 | :: | ||
50 | |||
51 | HTTP/1.1 200 OK | ||
52 | Cache-Control: no-store, private | ||
53 | Connection: close | ||
54 | Content-Type: application/json | ||
55 | Date: Tue, 05 Apr 2016 08:44:33 GMT | ||
56 | Host: localhost:8000 | ||
57 | Pragma: no-cache | ||
58 | X-Debug-Token: 19c8e0 | ||
59 | X-Debug-Token-Link: /_profiler/19c8e0 | ||
60 | X-Powered-By: PHP/7.0.4 | ||
61 | |||
62 | { | ||
63 | "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA", | ||
64 | "expires_in": 3600, | ||
65 | "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ", | ||
66 | "scope": null, | ||
67 | "token_type": "bearer" | ||
68 | } | ||
69 | |||
70 | Nous allons utiliser la valeur de ``access_token`` dans nos prochains appels. | ||
71 | |||
72 | Récupérer les articles existants | ||
73 | -------------------------------- | ||
74 | |||
75 | Documentation pour cette méthode : http://localhost:8000/api/doc#get--api-entries.{_format} | ||
76 | |||
77 | Comme nous venons tout juste d'installer wallabag, nous n'aurons aucun résultat avec cette commande : | ||
78 | |||
79 | :: | ||
80 | |||
81 | http GET http://localhost:8000/api/entries.json \ | ||
82 | "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" | ||
83 | |||
84 | retournera : | ||
85 | |||
86 | :: | ||
87 | |||
88 | HTTP/1.1 200 OK | ||
89 | 0: application/json | ||
90 | Cache-Control: no-cache | ||
91 | Connection: close | ||
92 | Content-Type: application/json | ||
93 | Date: Tue, 05 Apr 2016 08:51:32 GMT | ||
94 | Host: localhost:8000 | ||
95 | Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly | ||
96 | X-Debug-Token: 4fbbc4 | ||
97 | X-Debug-Token-Link: /_profiler/4fbbc4 | ||
98 | X-Powered-By: PHP/7.0.4 | ||
99 | |||
100 | { | ||
101 | "_embedded": { | ||
102 | "items": [] | ||
103 | }, | ||
104 | "_links": { | ||
105 | "first": { | ||
106 | "href": "http://localhost:8000/api/entries?page=1&perPage=30" | ||
107 | }, | ||
108 | "last": { | ||
109 | "href": "http://localhost:8000/api/entries?page=1&perPage=30" | ||
110 | }, | ||
111 | "self": { | ||
112 | "href": "http://localhost:8000/api/entries?page=1&perPage=30" | ||
113 | } | ||
114 | }, | ||
115 | "limit": 30, | ||
116 | "page": 1, | ||
117 | "pages": 1, | ||
118 | "total": 0 | ||
119 | } | ||
120 | |||
121 | Le tableau ``items`` est vide. | ||
122 | |||
123 | Créer votre premier article | ||
124 | --------------------------- | ||
125 | |||
126 | Documentation pour cette méthode : http://localhost:8000/api/doc#post--api-entries.{_format} | ||
127 | |||
128 | :: | ||
129 | |||
130 | http POST http://localhost:8000/api/entries.json \ | ||
131 | "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \ | ||
132 | url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html" | ||
133 | |||
134 | retournera : | ||
135 | |||
136 | :: | ||
137 | |||
138 | HTTP/1.1 200 OK | ||
139 | 0: application/json | ||
140 | Cache-Control: no-cache | ||
141 | Connection: close | ||
142 | Content-Type: application/json | ||
143 | Date: Tue, 05 Apr 2016 09:07:54 GMT | ||
144 | Host: localhost:8000 | ||
145 | Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly | ||
146 | X-Debug-Token: e01c51 | ||
147 | X-Debug-Token-Link: /_profiler/e01c51 | ||
148 | X-Powered-By: PHP/7.0.4 | ||
149 | |||
150 | { | ||
151 | "_links": { | ||
152 | "self": { | ||
153 | "href": "/api/entries/1" | ||
154 | } | ||
155 | }, | ||
156 | "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\" //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w, //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\" //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w, //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\" //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w, //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n", | ||
157 | "created_at": "2016-04-05T09:07:54+0000", | ||
158 | "domain_name": "www.numerama.com", | ||
159 | "id": 1, | ||
160 | "is_archived": 0, | ||
161 | "is_starred": 0, | ||
162 | "language": "fr-FR", | ||
163 | "mimetype": "text/html", | ||
164 | "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg", | ||
165 | "reading_time": 2, | ||
166 | "tags": [], | ||
167 | "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama", | ||
168 | "updated_at": "2016-04-05T09:07:54+0000", | ||
169 | "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html", | ||
170 | "user_email": "", | ||
171 | "user_id": 1, | ||
172 | "user_name": "wallabag" | ||
173 | } | ||
174 | |||
175 | Maintenant, si vous exécutez la précédente commande (voir **Récupérer les articles existants**), vous obtiendrez quelque chose. | ||
176 | |||
177 | Supprimer un article | ||
178 | -------------------- | ||
179 | |||
180 | Documentation pour cette méthode : http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format} | ||
181 | |||
182 | :: | ||
183 | |||
184 | http DELETE http://localhost:8000/api/entries/1.json \ | ||
185 | "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" | ||
186 | |||
187 | retournera : | ||
188 | |||
189 | :: | ||
190 | |||
191 | HTTP/1.1 200 OK | ||
192 | 0: application/json | ||
193 | Cache-Control: no-cache | ||
194 | Connection: close | ||
195 | Content-Type: application/json | ||
196 | Date: Tue, 05 Apr 2016 09:19:07 GMT | ||
197 | Host: localhost:8000 | ||
198 | Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly | ||
199 | X-Debug-Token: 887cef | ||
200 | X-Debug-Token-Link: /_profiler/887cef | ||
201 | X-Powered-By: PHP/7.0.4 | ||
202 | |||
203 | { | ||
204 | "_links": { | ||
205 | "self": { | ||
206 | "href": "/api/entries/" | ||
207 | } | ||
208 | }, | ||
209 | "annotations": [], | ||
210 | "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\" //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w, //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\" //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w, //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\" //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w, //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w, \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n", | ||
211 | "created_at": "2016-04-05T09:07:54+0000", | ||
212 | "domain_name": "www.numerama.com", | ||
213 | "is_archived": 0, | ||
214 | "is_starred": 0, | ||
215 | "language": "fr-FR", | ||
216 | "mimetype": "text/html", | ||
217 | "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg", | ||
218 | "reading_time": 2, | ||
219 | "tags": [], | ||
220 | "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama", | ||
221 | "updated_at": "2016-04-05T09:07:54+0000", | ||
222 | "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html", | ||
223 | "user_email": "", | ||
224 | "user_id": 1, | ||
225 | "user_name": "wallabag" | ||
226 | } | ||
227 | |||
228 | Et si vous voulez voir la liste des articles existants (voir **Récupérer les articles existants**), le tableau sera vide. | ||
229 | |||
230 | Autres méthodes | ||
231 | --------------- | ||
232 | |||
233 | Nous n'écrirons pas d'exemples pour toutes les méthodes de l'API. | ||
234 | |||
235 | Jetez un œil à la liste complète ici http://localhost:8000/api/doc pour connaitre chaque méthode. | ||
diff --git a/docs/fr/index.rst b/docs/fr/index.rst index 3a8d361a..628c62a5 100644 --- a/docs/fr/index.rst +++ b/docs/fr/index.rst | |||
@@ -43,6 +43,7 @@ La documentation principale de cette application est découpée en plusieurs sec | |||
43 | :maxdepth: 2 | 43 | :maxdepth: 2 |
44 | :caption: Documentation développeur | 44 | :caption: Documentation développeur |
45 | 45 | ||
46 | developer/api | ||
46 | developer/docker | 47 | developer/docker |
47 | developer/translate | 48 | developer/translate |
48 | developer/maintenance | 49 | developer/maintenance |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml index acf9fdc5..d19cf1bf 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | # documentation: 'Documentation' | 338 | # documentation: 'Documentation' |
339 | # how_to_first_app: 'How to create my first application' | 339 | # how_to_first_app: 'How to create my first application' |
340 | # full_documentation: 'View full API documentation' | 340 | # full_documentation: 'View full API documentation' |
341 | # list_methods: 'List API methods' | ||
341 | # clients: | 342 | # clients: |
342 | # title: 'Clients' | 343 | # title: 'Clients' |
343 | # create_new: 'Create a new client' | 344 | # create_new: 'Create a new client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index 02c998ea..f1e7b6b8 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | documentation: 'Dokumentation' | 338 | documentation: 'Dokumentation' |
339 | how_to_first_app: 'Wie erstelle ich meine erste Anwendung' | 339 | how_to_first_app: 'Wie erstelle ich meine erste Anwendung' |
340 | full_documentation: 'Komplette API-Dokumentation einsehen' | 340 | full_documentation: 'Komplette API-Dokumentation einsehen' |
341 | # list_methods: 'List API methods' | ||
341 | clients: | 342 | clients: |
342 | title: 'Clients' | 343 | title: 'Clients' |
343 | create_new: 'Neuen Client erstellen' | 344 | create_new: 'Neuen Client erstellen' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index 2c3704f3..3dc22998 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | documentation: 'Documentation' | 338 | documentation: 'Documentation' |
339 | how_to_first_app: 'How to create my first application' | 339 | how_to_first_app: 'How to create my first application' |
340 | full_documentation: 'View full API documentation' | 340 | full_documentation: 'View full API documentation' |
341 | list_methods: 'List API methods' | ||
341 | clients: | 342 | clients: |
342 | title: 'Clients' | 343 | title: 'Clients' |
343 | create_new: 'Create a new client' | 344 | create_new: 'Create a new client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml index bcdad5b3..a8fcbcf6 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | # documentation: 'Documentation' | 338 | # documentation: 'Documentation' |
339 | # how_to_first_app: 'How to create my first application' | 339 | # how_to_first_app: 'How to create my first application' |
340 | # full_documentation: 'View full API documentation' | 340 | # full_documentation: 'View full API documentation' |
341 | # list_methods: 'List API methods' | ||
341 | # clients: | 342 | # clients: |
342 | # title: 'Clients' | 343 | # title: 'Clients' |
343 | # create_new: 'Create a new client' | 344 | # create_new: 'Create a new client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml index f753a918..6be7d22e 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | # documentation: 'Documentation' | 338 | # documentation: 'Documentation' |
339 | # how_to_first_app: 'How to create my first application' | 339 | # how_to_first_app: 'How to create my first application' |
340 | # full_documentation: 'View full API documentation' | 340 | # full_documentation: 'View full API documentation' |
341 | # list_methods: 'List API methods' | ||
341 | # clients: | 342 | # clients: |
342 | # title: 'Clients' | 343 | # title: 'Clients' |
343 | # create_new: 'Create a new client' | 344 | # create_new: 'Create a new client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index e5448ae3..6ff1a3b1 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | documentation: 'Documentation' | 338 | documentation: 'Documentation' |
339 | how_to_first_app: 'Comment créer votre première application' | 339 | how_to_first_app: 'Comment créer votre première application' |
340 | full_documentation: "Voir la documentation complète de l'API" | 340 | full_documentation: "Voir la documentation complète de l'API" |
341 | list_methods: "Lister toutes les méthodes de l'API" | ||
341 | clients: | 342 | clients: |
342 | title: 'Clients' | 343 | title: 'Clients' |
343 | create_new: 'Créer une nouveau client' | 344 | create_new: 'Créer une nouveau client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index 7446fef9..bbd813e2 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | documentation: 'Documentacion' | 338 | documentation: 'Documentacion' |
339 | how_to_first_app: 'Cossí crear vòstra primièra aplicacion' | 339 | how_to_first_app: 'Cossí crear vòstra primièra aplicacion' |
340 | full_documentation: "Veire la documentacion completa de l'API" | 340 | full_documentation: "Veire la documentacion completa de l'API" |
341 | # list_methods: 'List API methods' | ||
341 | clients: | 342 | clients: |
342 | title: 'Clients' | 343 | title: 'Clients' |
343 | create_new: 'Crear un novèl client' | 344 | create_new: 'Crear un novèl client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml index 340a3634..fb26de89 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | documentation: 'Dokumentacja' | 338 | documentation: 'Dokumentacja' |
339 | how_to_first_app: 'Jak stworzyć moją pierwszą aplikację' | 339 | how_to_first_app: 'Jak stworzyć moją pierwszą aplikację' |
340 | full_documentation: 'Pokaż pełne API' | 340 | full_documentation: 'Pokaż pełne API' |
341 | # list_methods: 'List API methods' | ||
341 | clients: | 342 | clients: |
342 | title: 'Klienci' | 343 | title: 'Klienci' |
343 | create_new: 'Utwórz nowego klienta' | 344 | create_new: 'Utwórz nowego klienta' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml index 6dd3d56b..bb817cb3 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | # documentation: 'Documentation' | 338 | # documentation: 'Documentation' |
339 | # how_to_first_app: 'How to create my first application' | 339 | # how_to_first_app: 'How to create my first application' |
340 | # full_documentation: 'View full API documentation' | 340 | # full_documentation: 'View full API documentation' |
341 | # list_methods: 'List API methods' | ||
341 | # clients: | 342 | # clients: |
342 | # title: 'Clients' | 343 | # title: 'Clients' |
343 | # create_new: 'Create a new client' | 344 | # create_new: 'Create a new client' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml index 13e3558f..897cc2f4 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml | |||
@@ -338,6 +338,7 @@ developer: | |||
338 | # documentation: 'Documentation' | 338 | # documentation: 'Documentation' |
339 | # how_to_first_app: 'How to create my first application' | 339 | # how_to_first_app: 'How to create my first application' |
340 | # full_documentation: 'View full API documentation' | 340 | # full_documentation: 'View full API documentation' |
341 | # list_methods: 'List API methods' | ||
341 | # clients: | 342 | # clients: |
342 | # title: 'Clients' | 343 | # title: 'Clients' |
343 | # create_new: 'Create a new client' | 344 | # create_new: 'Create a new client' |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig index e12779b7..7ff64ca6 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig | |||
@@ -14,7 +14,8 @@ | |||
14 | 14 | ||
15 | <ul> | 15 | <ul> |
16 | <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> | 16 | <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> |
17 | <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li> | 17 | <li><a href="http://doc.wallabag.org/en/v2-documentation-api/developer/api.html">{{ 'developer.full_documentation'|trans }}</a></li> |
18 | <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li> | ||
18 | </ul> | 19 | </ul> |
19 | 20 | ||
20 | <h4>{{ 'developer.clients.title'|trans }}</h4> | 21 | <h4>{{ 'developer.clients.title'|trans }}</h4> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig index e12779b7..7ff64ca6 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig | |||
@@ -14,7 +14,8 @@ | |||
14 | 14 | ||
15 | <ul> | 15 | <ul> |
16 | <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> | 16 | <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> |
17 | <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li> | 17 | <li><a href="http://doc.wallabag.org/en/v2-documentation-api/developer/api.html">{{ 'developer.full_documentation'|trans }}</a></li> |
18 | <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li> | ||
18 | </ul> | 19 | </ul> |
19 | 20 | ||
20 | <h4>{{ 'developer.clients.title'|trans }}</h4> | 21 | <h4>{{ 'developer.clients.title'|trans }}</h4> |