aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/en/developer
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/developer')
-rw-r--r--docs/en/developer/api.rst271
-rw-r--r--docs/en/developer/asynchronous.rst160
-rw-r--r--docs/en/developer/console_commands.rst30
-rw-r--r--docs/en/developer/docker.rst51
-rw-r--r--docs/en/developer/documentation.rst12
-rw-r--r--docs/en/developer/front_end.rst33
-rw-r--r--docs/en/developer/paywall.rst65
-rw-r--r--docs/en/developer/testsuite.rst10
-rw-r--r--docs/en/developer/translate.rst60
9 files changed, 0 insertions, 692 deletions
diff --git a/docs/en/developer/api.rst b/docs/en/developer/api.rst
deleted file mode 100644
index 80c96025..00000000
--- a/docs/en/developer/api.rst
+++ /dev/null
@@ -1,271 +0,0 @@
1API documentation
2=================
3
4Thanks to this documentation, we'll see how to interact with the wallabag API.
5
6Requirements
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 (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_
12
13Creating a new API client
14-------------------------
15
16In your wallabag account, you can create a new API client at this URL http://localhost:8000/developer/client/create.
17
18Just 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
20You get information like this:
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Obtaining a refresh token
34-------------------------
35
36For 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
47You'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
70We'll work with the ``access_token`` value in our next calls.
71
72cURL example:
73
74::
75
76 curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
77
78Getting existing entries
79------------------------
80
81Documentation for this method: http://localhost:8000/api/doc#get--api-entries.{_format}
82
83As we work on a fresh wallabag installation, we'll have no result with this command:
84
85::
86
87 http GET http://localhost:8000/api/entries.json \
88 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
89
90returns:
91
92::
93
94 HTTP/1.1 200 OK
95 0: application/json
96 Cache-Control: no-cache
97 Connection: close
98 Content-Type: application/json
99 Date: Tue, 05 Apr 2016 08:51:32 GMT
100 Host: localhost:8000
101 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
102 X-Debug-Token: 4fbbc4
103 X-Debug-Token-Link: /_profiler/4fbbc4
104 X-Powered-By: PHP/7.0.4
105
106 {
107 "_embedded": {
108 "items": []
109 },
110 "_links": {
111 "first": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 },
114 "last": {
115 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
116 },
117 "self": {
118 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
119 }
120 },
121 "limit": 30,
122 "page": 1,
123 "pages": 1,
124 "total": 0
125 }
126
127The ``items`` array is empty.
128
129cURL example:
130
131::
132
133 curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
134
135Adding your first entry
136-----------------------
137
138Documentation for this method: http://localhost:8000/api/doc#post--api-entries.{_format}
139
140::
141
142 http POST http://localhost:8000/api/entries.json \
143 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
144 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
145
146returns
147
148::
149
150 HTTP/1.1 200 OK
151 0: application/json
152 Cache-Control: no-cache
153 Connection: close
154 Content-Type: application/json
155 Date: Tue, 05 Apr 2016 09:07:54 GMT
156 Host: localhost:8000
157 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
158 X-Debug-Token: e01c51
159 X-Debug-Token-Link: /_profiler/e01c51
160 X-Powered-By: PHP/7.0.4
161
162 {
163 "_links": {
164 "self": {
165 "href": "/api/entries/1"
166 }
167 },
168 "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?&amp;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=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" 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=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" 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=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" 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",
169 "created_at": "2016-04-05T09:07:54+0000",
170 "domain_name": "www.numerama.com",
171 "id": 1,
172 "is_archived": 0,
173 "is_starred": 0,
174 "language": "fr-FR",
175 "mimetype": "text/html",
176 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
177 "reading_time": 2,
178 "tags": [],
179 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
180 "updated_at": "2016-04-05T09:07:54+0000",
181 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
182 "user_email": "",
183 "user_id": 1,
184 "user_name": "wallabag"
185 }
186
187Now, if you execute the previous command (see **Get existing entries**), you'll have data.
188
189cURL example:
190
191::
192
193 curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
194
195Deleting an entry
196-----------------
197
198Documentation for this method: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
199
200::
201
202 http DELETE http://localhost:8000/api/entries/1.json \
203 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
204
205returns
206
207::
208
209 HTTP/1.1 200 OK
210 0: application/json
211 Cache-Control: no-cache
212 Connection: close
213 Content-Type: application/json
214 Date: Tue, 05 Apr 2016 09:19:07 GMT
215 Host: localhost:8000
216 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
217 X-Debug-Token: 887cef
218 X-Debug-Token-Link: /_profiler/887cef
219 X-Powered-By: PHP/7.0.4
220
221 {
222 "_links": {
223 "self": {
224 "href": "/api/entries/"
225 }
226 },
227 "annotations": [],
228 "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?&amp;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=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" 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=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" 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=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" 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",
229 "created_at": "2016-04-05T09:07:54+0000",
230 "domain_name": "www.numerama.com",
231 "is_archived": 0,
232 "is_starred": 0,
233 "language": "fr-FR",
234 "mimetype": "text/html",
235 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
236 "reading_time": 2,
237 "tags": [],
238 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
239 "updated_at": "2016-04-05T09:07:54+0000",
240 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
241 "user_email": "",
242 "user_id": 1,
243 "user_name": "wallabag"
244 }
245
246And if you want to list the existing entries (see **Get existing entries**), the array is empty.
247
248cURL example:
249
250::
251
252 curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
253
254Other methods
255-------------
256
257We won't write samples for each API method.
258
259Have a look on the listing here: http://localhost:8000/api/doc to know each method.
260
261Third party resources
262---------------
263
264Some applications or libraries use our API. Here is a non-exhaustive list of them:
265
266- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ by Dmitriy Bogdanov.
267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ by Julian Oster.
268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ by FoxMaSk, for his project `Trigger Happy <https://blog.trigger-happy.eu/>`_.
269- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ designed for `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ that makes use of the wallabag v2 API. By Josh Panter.
270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ by Strubbl, for his projects `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_ and the command line tool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
271- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ by anarcat.
diff --git a/docs/en/developer/asynchronous.rst b/docs/en/developer/asynchronous.rst
deleted file mode 100644
index 2e409e4a..00000000
--- a/docs/en/developer/asynchronous.rst
+++ /dev/null
@@ -1,160 +0,0 @@
1Asynchronous tasks
2==================
3
4In order to launch asynchronous tasks (useful for huge imports for example), we can use RabbitMQ or Redis.
5
6Install RabbitMQ for asynchronous tasks
7---------------------------------------
8
9Requirements
10^^^^^^^^^^^^
11
12You need to have RabbitMQ installed on your server.
13
14Installation
15^^^^^^^^^^^^
16
17.. code:: bash
18
19 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
20 apt-key add rabbitmq-signing-key-public.asc
21 apt-get update
22 apt-get install rabbitmq-server
23
24Configuration and launch
25^^^^^^^^^^^^^^^^^^^^^^^^
26
27.. code:: bash
28
29 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
30 rabbitmq-server -detached
31
32Stop RabbitMQ
33^^^^^^^^^^^^^
34
35.. code:: bash
36
37 rabbitmqctl stop
38
39
40Configure RabbitMQ in wallabag
41^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42
43Edit your ``app/config/parameters.yml`` file to edit RabbitMQ configuration. The default one should be ok:
44
45.. code:: yaml
46
47 rabbitmq_host: localhost
48 rabbitmq_port: 5672
49 rabbitmq_user: guest
50 rabbitmq_password: guest
51 rabbitmq_prefetch_count: 10 # read http://www.rabbitmq.com/consumer-prefetch.html
52
53Enable RabbitMQ in wallabag
54^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56In internal settings, in the **Import** section, enable RabbitMQ (with the value 1).
57
58Launch RabbitMQ consumer
59^^^^^^^^^^^^^^^^^^^^^^^^
60
61Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
62
63.. code:: bash
64
65 # for Pocket import
66 bin/console rabbitmq:consumer -e=prod import_pocket -w
67
68 # for Readability import
69 bin/console rabbitmq:consumer -e=prod import_readability -w
70
71 # for Instapaper import
72 bin/console rabbitmq:consumer -e=prod import_instapaper -w
73
74 # for wallabag v1 import
75 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
76
77 # for wallabag v2 import
78 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
79
80 # for Firefox import
81 bin/console rabbitmq:consumer -e=prod import_firefox -w
82
83 # for Chrome import
84 bin/console rabbitmq:consumer -e=prod import_chrome -w
85
86Install Redis for asynchronous tasks
87------------------------------------
88
89In order to launch asynchronous tasks (useful for huge imports for example), we can use Redis.
90
91Requirements
92^^^^^^^^^^^^
93
94You need to have Redis installed on your server.
95
96Installation
97^^^^^^^^^^^^
98
99.. code:: bash
100
101 apt-get install redis-server
102
103Launch
104^^^^^^
105
106The server might be already running after installing, if not you can launch it using:
107
108.. code:: bash
109
110 redis-server
111
112
113Configure Redis in wallabag
114^^^^^^^^^^^^^^^^^^^^^^^^^^^
115
116Edit your ``app/config/parameters.yml`` file to edit Redis configuration. The default one should be ok:
117
118.. code:: yaml
119
120 redis_host: localhost
121 redis_port: 6379
122
123Enable Redis in wallabag
124^^^^^^^^^^^^^^^^^^^^^^^^
125
126In internal settings, in the **Import** section, enable Redis (with the value 1).
127
128Launch Redis consumer
129^^^^^^^^^^^^^^^^^^^^^
130
131Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
132
133.. code:: bash
134
135 # for Pocket import
136 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
137
138 # for Readability import
139 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
140
141 # for Instapaper import
142 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
143
144 # for wallabag v1 import
145 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
146
147 # for wallabag v2 import
148 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
149
150 # for Firefox import
151 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
152
153 # for Chrome import
154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
155
156If you want to launch the import only for some messages and not all, you can specify this number (here 12) and the worker will stop right after the 12th message :
157
158.. code:: bash
159
160 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
diff --git a/docs/en/developer/console_commands.rst b/docs/en/developer/console_commands.rst
deleted file mode 100644
index 85a8a092..00000000
--- a/docs/en/developer/console_commands.rst
+++ /dev/null
@@ -1,30 +0,0 @@
1Console Commands
2================
3
4wallabag has a number of CLI commands to manage a number of tasks. You can list all the commands by executing `bin/console` in the wallabag folder.
5
6Each command has a help accessible through `bin/console help %command%`.
7
8.. note::
9
10 If you're in a production environment, remember to add `-e prod` to each command.
11
12Notable commands
13----------------
14
15* `assets:install`: May be helpful if assets are missing.
16* `cache:clear`: should be run after each update (included in `make update`).
17* `doctrine:migrations:status`: Output the status of your database migrations.
18* `fos:user:activate`: Manually activate an user.
19* `fos:user:change-password`: Change a password for an user.
20* `fos:user:create`: Create an user.
21* `fos:user:deactivate`: Deactivate an user (not deleted).
22* `fos:user:demote`: Removes a role from an user, typically admin rights.
23* `fos:user:promote`: Adds a role to an user, typically admin rights.
24* `rabbitmq:*`: May be useful if you're using RabbitMQ.
25* `wallabag:clean-duplicates`: Removes all entry duplicates for one user or all users
26* `wallabag:export`: Exports all entries for an user. You can choose the output path of the file.
27* `wallabag:import`: Import entries to different formats to an user account.
28* `wallabag:import:redis-worker`: Useful if you use Redis.
29* `wallabag:install`: (re)Install wallabag
30* `wallabag:tag:all`: Tag all entries for an user using his/her tagging rules.
diff --git a/docs/en/developer/docker.rst b/docs/en/developer/docker.rst
deleted file mode 100644
index 5e4f2ce6..00000000
--- a/docs/en/developer/docker.rst
+++ /dev/null
@@ -1,51 +0,0 @@
1Run wallabag in docker-compose
2==============================
3
4In order to run your own development instance of wallabag, you may
5want to use the pre-configured docker compose files.
6
7Requirements
8------------
9
10Make sure to have `Docker
11<https://docs.docker.com/installation/ubuntulinux/>`__ and `Docker
12Compose <https://docs.docker.com/compose/install/>`__ availables on
13your system and up to date.
14
15Switch DBMS
16-----------
17
18By default, wallabag will start with a SQLite database.
19Since wallabag provides support for Postgresql and MySQL, docker
20containers are also available for these ones.
21
22In ``docker-compose.yml``, for the chosen DBMS uncomment:
23
24- the container definition (``postgres`` or ``mariadb`` root level
25 block)
26- the container link in the ``php`` container
27- the container env file in the ``php`` container
28
29In order to keep running Symfony commands on your host (such as
30``wallabag:install``), you also should:
31
32- source the proper env files on your command line, so variables
33 like ``SYMFONY__ENV__DATABASE_HOST`` will exist.
34- create a ``127.0.0.1 rdbms`` on your system ``hosts`` file
35
36Run wallabag
37------------
38
39#. Fork and clone the project
40#. Edit ``app/config/parameters.yml`` to replace ``database_*``
41 properties with commented ones (with values prefixed by ``env.``)
42#. ``composer install`` the project dependencies
43#. ``php bin/console wallabag:install`` to create the schema
44#. ``docker-compose up`` to run the containers
45#. Finally, browse to http://localhost:8080/ to find your freshly
46 installed wallabag.
47
48At various step, you'll probably run into UNIX permission problems,
49bad paths in generated cache, etc…
50Operations like removing cache files or changing files owners might
51be frequently required, so don't be afraid !
diff --git a/docs/en/developer/documentation.rst b/docs/en/developer/documentation.rst
deleted file mode 100644
index ab206479..00000000
--- a/docs/en/developer/documentation.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Contribute to this documentation
2================================
3
4Sources of our documentation are here https://github.com/wallabag/wallabag/tree/master/docs
5
6We use `ReadTheDocs
7<https://readthedocs.org>`__ to generate it.
8
9Pages are written in `Restructured Text
10<https://en.wikipedia.org/wiki/ReStructuredText>`__ format. You can use online tools like http://rst.aaroniles.net/ or http://rst.ninjs.org/ to preview your articles.
11
12If you create a new page, don't forget to edit the `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ file to add a link in the sidebar. \ No newline at end of file
diff --git a/docs/en/developer/front_end.rst b/docs/en/developer/front_end.rst
deleted file mode 100644
index 40f18a42..00000000
--- a/docs/en/developer/front_end.rst
+++ /dev/null
@@ -1,33 +0,0 @@
1Tips for front-end developers
2=============================
3
4Starting from version 2.3, wallabag uses webpack to bundle its assets.
5
6Dev mode
7--------
8
9If the server runs in dev mode, you need to run ``yarn run build:dev`` to generate the outputted javascript files for each theme. These are named ``%theme%.dev.js`` and are ignored by git. You need to relaunch ``yarn run build:dev`` for each change made to one of the assets files (js, css, pictures, fonts,...).
10
11Live reload
12-----------
13
14Webpack brings support for live reload, which means you don't need to regenerate the assets file for each change neither reload the page manually. Changes are applied automatically in the web page. Just set the ``use_webpack_dev_server`` setting to ``true`` in ``app/config/config.yml`` and run ``yarn run watch`` and you're good to go.
15
16.. note::
17
18 Don't forget to put back ``use_webpack_dev_server`` to ``false`` when not using the live reload feature.
19
20Production builds
21-----------------
22
23When you want to commit your changes, build them in production environment by using ``yarn run build:prod``. This will build all the assets needed for wallabag. To test that it properly works, you'll need to have a server in production mode, for instance with ``bin/console server:run -e=prod``.
24
25.. note::
26
27 Don't forget to generate production builds before committing !
28
29
30Code style
31----------
32
33Code style is checked by two tools : stylelint for (S)CSS and eslint for JS. ESlint config is based on the Airbnb base preset.
diff --git a/docs/en/developer/paywall.rst b/docs/en/developer/paywall.rst
deleted file mode 100644
index 153afa6f..00000000
--- a/docs/en/developer/paywall.rst
+++ /dev/null
@@ -1,65 +0,0 @@
1Articles behind a paywall
2=========================
3
4wallabag can fetch articles from websites which use a paywall system.
5
6Enable paywall authentication
7-----------------------------
8
9In internal settings, as a wallabag administrator, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10
11Configure credentials in wallabag
12---------------------------------
13
14Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. For example, under Ubuntu:
15
16``sudo -u www-data nano /var/www/html/wallabag/app/config/parameters.yml``
17
18Here is an example for some french websites (be careful: don't use the "tab" key, only spaces):
19
20.. code:: yaml
21
22 sites_credentials:
23 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
24 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
25
26.. note::
27
28 These credentials will be shared between each user of your wallabag instance.
29
30Parsing configuration files
31---------------------------
32
33.. note::
34
35 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files, which are located under ``vendor/j0k3r/graby-site-config/``. For most of the websites, this file is already configured: the following instructions are only for the websites that are not configured yet.
36
37Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
38``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
39
40Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
41on a website where the login form is loaded after the page (by ajax for example).
42
43``login_uri`` is the action URL of the form (``action`` attribute in the form).
44``login_username_field`` is the ``name`` attribute of the login field.
45``login_password_field`` is the ``name`` attribute of the password field.
46
47For example:
48
49.. code::
50
51 title://div[@id="titrage-contenu"]/h1[@class="title"]
52 body: //div[@class="contenu-html"]/div[@class="page-pane"]
53
54 requires_login: yes
55
56 login_uri: http://www.arretsurimages.net/forum/login.php
57 login_username_field: username
58 login_password_field: password
59
60 not_logged_in_xpath: //body[@class="not-logged-in"]
61
62Last step: clear the cache
63--------------------------
64
65It's necessary to clear the wallabag cache with the following command (here under Ubuntu): ``sudo -u www-data php /var/www/html/wallabag/bin/console cache:clear -e=prod``
diff --git a/docs/en/developer/testsuite.rst b/docs/en/developer/testsuite.rst
deleted file mode 100644
index b2b16cdc..00000000
--- a/docs/en/developer/testsuite.rst
+++ /dev/null
@@ -1,10 +0,0 @@
1Testsuite
2=========
3
4To ensure wallabag development quality, we wrote tests with `PHPUnit <https://phpunit.de>`_.
5
6If you contribute to the project (by translating the application, by fixing bugs or by adding a new feature), please write your own tests.
7
8To launch wallabag testsuite, you need to install `ant <http://ant.apache.org>`_.
9
10Then, execute this command ``make test``.
diff --git a/docs/en/developer/translate.rst b/docs/en/developer/translate.rst
deleted file mode 100644
index 1e5d5009..00000000
--- a/docs/en/developer/translate.rst
+++ /dev/null
@@ -1,60 +0,0 @@
1Translate wallabag
2==================
3
4wallabag web application
5------------------------
6
7Translation files
8~~~~~~~~~~~~~~~~~
9
10.. note::
11
12 As wallabag is mainly developed by a French team, please consider that french
13 translation is the most updated one and please copy it to create your own translation.
14
15You can find translation files here: https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
16
17You have to create ``messages.CODE.yml`` and ``validators.CODE.yml``, where CODE
18is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
19
20Other files to translate:
21
22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
23- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
24
25You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files.
26
27Configuration file
28~~~~~~~~~~~~~~~~~~
29
30You have to edit `app/config/config.yml
31<https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ to display
32your language on Configuration page of wallabag (to allow users to switch to this new translation).
33
34Under the ``wallabag_core.languages`` section, you have to add a new line with
35your translation. For example:
36
37::
38
39 wallabag_core:
40 ...
41 languages:
42 en: 'English'
43 fr: 'Français'
44
45
46For the first column (``en``, ``fr``, etc.), you have to add the ISO 639-1 code
47of your language (see above).
48
49For the second column, it's the name of your language. Just that.
50
51wallabag documentation
52----------------------
53
54.. note::
55
56 Contrary to the web application, the main language for documentation is english.
57
58Documentation files are stored here: https://github.com/wallabag/wallabag/tree/master/docs
59
60You need to respect the ``en`` folder structure when you create your own translation.