diff options
Diffstat (limited to 'docs/en/developer')
-rw-r--r-- | docs/en/developer/api.rst | 271 | ||||
-rw-r--r-- | docs/en/developer/asynchronous.rst | 160 | ||||
-rw-r--r-- | docs/en/developer/docker.rst | 51 | ||||
-rw-r--r-- | docs/en/developer/documentation.rst | 12 | ||||
-rw-r--r-- | docs/en/developer/paywall.rst | 65 | ||||
-rw-r--r-- | docs/en/developer/testsuite.rst | 10 | ||||
-rw-r--r-- | docs/en/developer/translate.rst | 60 |
7 files changed, 0 insertions, 629 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 @@ | |||
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 (on your instance) and `on our example instance <http://v2.wallabag.org/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 | cURL 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 | |||
78 | Getting existing entries | ||
79 | ------------------------ | ||
80 | |||
81 | Documentation for this method: http://localhost:8000/api/doc#get--api-entries.{_format} | ||
82 | |||
83 | As 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 | |||
90 | returns: | ||
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 | |||
127 | The ``items`` array is empty. | ||
128 | |||
129 | cURL example: | ||
130 | |||
131 | :: | ||
132 | |||
133 | curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" | ||
134 | |||
135 | Adding your first entry | ||
136 | ----------------------- | ||
137 | |||
138 | Documentation 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 | |||
146 | returns | ||
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?&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", | ||
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 | |||
187 | Now, if you execute the previous command (see **Get existing entries**), you'll have data. | ||
188 | |||
189 | cURL 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 | |||
195 | Deleting an entry | ||
196 | ----------------- | ||
197 | |||
198 | Documentation 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 | |||
205 | returns | ||
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?&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", | ||
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 | |||
246 | And if you want to list the existing entries (see **Get existing entries**), the array is empty. | ||
247 | |||
248 | cURL example: | ||
249 | |||
250 | :: | ||
251 | |||
252 | curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" | ||
253 | |||
254 | Other methods | ||
255 | ------------- | ||
256 | |||
257 | We won't write samples for each API method. | ||
258 | |||
259 | Have a look on the listing here: http://localhost:8000/api/doc to know each method. | ||
260 | |||
261 | Third party resources | ||
262 | --------------- | ||
263 | |||
264 | Some 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 @@ | |||
1 | Asynchronous tasks | ||
2 | ================== | ||
3 | |||
4 | In order to launch asynchronous tasks (useful for huge imports for example), we can use RabbitMQ or Redis. | ||
5 | |||
6 | Install RabbitMQ for asynchronous tasks | ||
7 | --------------------------------------- | ||
8 | |||
9 | Requirements | ||
10 | ^^^^^^^^^^^^ | ||
11 | |||
12 | You need to have RabbitMQ installed on your server. | ||
13 | |||
14 | Installation | ||
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 | |||
24 | Configuration 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 | |||
32 | Stop RabbitMQ | ||
33 | ^^^^^^^^^^^^^ | ||
34 | |||
35 | .. code:: bash | ||
36 | |||
37 | rabbitmqctl stop | ||
38 | |||
39 | |||
40 | Configure RabbitMQ in wallabag | ||
41 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
42 | |||
43 | Edit 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 | |||
53 | Enable RabbitMQ in wallabag | ||
54 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
55 | |||
56 | In internal settings, in the **Import** section, enable RabbitMQ (with the value 1). | ||
57 | |||
58 | Launch RabbitMQ consumer | ||
59 | ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
60 | |||
61 | Depending 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 | |||
86 | Install Redis for asynchronous tasks | ||
87 | ------------------------------------ | ||
88 | |||
89 | In order to launch asynchronous tasks (useful for huge imports for example), we can use Redis. | ||
90 | |||
91 | Requirements | ||
92 | ^^^^^^^^^^^^ | ||
93 | |||
94 | You need to have Redis installed on your server. | ||
95 | |||
96 | Installation | ||
97 | ^^^^^^^^^^^^ | ||
98 | |||
99 | .. code:: bash | ||
100 | |||
101 | apt-get install redis-server | ||
102 | |||
103 | Launch | ||
104 | ^^^^^^ | ||
105 | |||
106 | The server might be already running after installing, if not you can launch it using: | ||
107 | |||
108 | .. code:: bash | ||
109 | |||
110 | redis-server | ||
111 | |||
112 | |||
113 | Configure Redis in wallabag | ||
114 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
115 | |||
116 | Edit 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 | |||
123 | Enable Redis in wallabag | ||
124 | ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
125 | |||
126 | In internal settings, in the **Import** section, enable Redis (with the value 1). | ||
127 | |||
128 | Launch Redis consumer | ||
129 | ^^^^^^^^^^^^^^^^^^^^^ | ||
130 | |||
131 | Depending 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 | |||
156 | If 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/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 @@ | |||
1 | Run wallabag in docker-compose | ||
2 | ============================== | ||
3 | |||
4 | In order to run your own development instance of wallabag, you may | ||
5 | want to use the pre-configured docker compose files. | ||
6 | |||
7 | Requirements | ||
8 | ------------ | ||
9 | |||
10 | Make sure to have `Docker | ||
11 | <https://docs.docker.com/installation/ubuntulinux/>`__ and `Docker | ||
12 | Compose <https://docs.docker.com/compose/install/>`__ availables on | ||
13 | your system and up to date. | ||
14 | |||
15 | Switch DBMS | ||
16 | ----------- | ||
17 | |||
18 | By default, wallabag will start with a SQLite database. | ||
19 | Since wallabag provides support for Postgresql and MySQL, docker | ||
20 | containers are also available for these ones. | ||
21 | |||
22 | In ``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 | |||
29 | In 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 | |||
36 | Run 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 | |||
48 | At various step, you'll probably run into UNIX permission problems, | ||
49 | bad paths in generated cache, etc… | ||
50 | Operations like removing cache files or changing files owners might | ||
51 | be 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 @@ | |||
1 | Contribute to this documentation | ||
2 | ================================ | ||
3 | |||
4 | Sources of our documentation are here https://github.com/wallabag/wallabag/tree/master/docs | ||
5 | |||
6 | We use `ReadTheDocs | ||
7 | <https://readthedocs.org>`__ to generate it. | ||
8 | |||
9 | Pages 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 | |||
12 | If 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/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 @@ | |||
1 | Articles behind a paywall | ||
2 | ========================= | ||
3 | |||
4 | wallabag can fetch articles from websites which use a paywall system. | ||
5 | |||
6 | Enable paywall authentication | ||
7 | ----------------------------- | ||
8 | |||
9 | In internal settings, as a wallabag administrator, in the **Article** section, enable authentication for websites with paywall (with the value 1). | ||
10 | |||
11 | Configure credentials in wallabag | ||
12 | --------------------------------- | ||
13 | |||
14 | Edit 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 | |||
18 | Here 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 | |||
30 | Parsing 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 | |||
37 | Each 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 | |||
40 | Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated | ||
41 | on 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 | |||
47 | For 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 | |||
62 | Last step: clear the cache | ||
63 | -------------------------- | ||
64 | |||
65 | It'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 @@ | |||
1 | Testsuite | ||
2 | ========= | ||
3 | |||
4 | To ensure wallabag development quality, we wrote tests with `PHPUnit <https://phpunit.de>`_. | ||
5 | |||
6 | If you contribute to the project (by translating the application, by fixing bugs or by adding a new feature), please write your own tests. | ||
7 | |||
8 | To launch wallabag testsuite, you need to install `ant <http://ant.apache.org>`_. | ||
9 | |||
10 | Then, 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 @@ | |||
1 | Translate wallabag | ||
2 | ================== | ||
3 | |||
4 | wallabag web application | ||
5 | ------------------------ | ||
6 | |||
7 | Translation 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 | |||
15 | You can find translation files here: https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations. | ||
16 | |||
17 | You have to create ``messages.CODE.yml`` and ``validators.CODE.yml``, where CODE | ||
18 | is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__). | ||
19 | |||
20 | Other 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 | |||
25 | You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files. | ||
26 | |||
27 | Configuration file | ||
28 | ~~~~~~~~~~~~~~~~~~ | ||
29 | |||
30 | You have to edit `app/config/config.yml | ||
31 | <https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ to display | ||
32 | your language on Configuration page of wallabag (to allow users to switch to this new translation). | ||
33 | |||
34 | Under the ``wallabag_core.languages`` section, you have to add a new line with | ||
35 | your translation. For example: | ||
36 | |||
37 | :: | ||
38 | |||
39 | wallabag_core: | ||
40 | ... | ||
41 | languages: | ||
42 | en: 'English' | ||
43 | fr: 'Français' | ||
44 | |||
45 | |||
46 | For the first column (``en``, ``fr``, etc.), you have to add the ISO 639-1 code | ||
47 | of your language (see above). | ||
48 | |||
49 | For the second column, it's the name of your language. Just that. | ||
50 | |||
51 | wallabag documentation | ||
52 | ---------------------- | ||
53 | |||
54 | .. note:: | ||
55 | |||
56 | Contrary to the web application, the main language for documentation is english. | ||
57 | |||
58 | Documentation files are stored here: https://github.com/wallabag/wallabag/tree/master/docs | ||
59 | |||
60 | You need to respect the ``en`` folder structure when you create your own translation. | ||