diff --git a/weboob/backends/batoto/__init__.py b/weboob/backends/batoto/__init__.py
new file mode 100644
index 00000000..03812b28
--- /dev/null
+++ b/weboob/backends/batoto/__init__.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+
+# Copyright(C) 2011 Noé Rubinstein
+#
+# This file is part of weboob.
+#
+# weboob is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# weboob is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with weboob. If not, see .
+
+from .backend import BatotoBackend
+
+__all__ = ['BatotoBackend']
diff --git a/weboob/backends/batoto/backend.py b/weboob/backends/batoto/backend.py
new file mode 100644
index 00000000..2cb02670
--- /dev/null
+++ b/weboob/backends/batoto/backend.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+
+# Copyright(C) 2010-2011 Noé Rubinstein
+#
+# This file is part of weboob.
+#
+# weboob is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# weboob is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with weboob. If not, see .
+
+from weboob.tools.capabilities.gallery.genericcomicreader import GenericComicReaderBackend, DisplayPage
+
+__all__ = ['BatotoBackend']
+
+class BatotoBackend(GenericComicReaderBackend):
+ NAME = 'batoto'
+ DESCRIPTION = 'Batoto manga reading site'
+ DOMAIN = 'www.batoto.com'
+ BROWSER_PARAMS = dict(
+ img_src_xpath="//img[@id='comic_page']/@src",
+ page_list_xpath="(//select[@id='page_select'])[1]/option/@value")
+ ID_REGEXP = r'[^/]+/[^/]+'
+ URL_REGEXP = r'.+batoto.com/read/_/(%s).+' % ID_REGEXP
+ ID_TO_URL = 'http://www.batoto.com/read/_/%s'
+ PAGES = { URL_REGEXP: DisplayPage }
diff --git a/weboob/backends/batoto/test.py b/weboob/backends/batoto/test.py
new file mode 100644
index 00000000..449e59f3
--- /dev/null
+++ b/weboob/backends/batoto/test.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+
+# Copyright(C) 2011 Noé Rubinstein
+#
+# This file is part of weboob.
+#
+# weboob is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# weboob is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with weboob. If not, see .
+
+from weboob.tools.capabilities.gallery.genericcomicreader import GenericComicReaderTest
+
+class BatotoTest(GenericComicReaderTest):
+ BACKEND = 'batoto'
+ DOWNLOAD_ID = '26287/yurumates_ch4_by_primitive-scans'
+