From 2bc9cad78ed43eaadfc8844c0b55700e7045cbd7 Mon Sep 17 00:00:00 2001
From: Jeremy Benoist
Date: Fri, 24 Jun 2016 11:28:07 +0200
Subject: [PATCH 1/7] Remove useless spaces
---
app/config/config.yml | 41 ++++++++++++++++++++------------------
app/config/config_dev.yml | 13 ++++++------
app/config/config_prod.yml | 10 +++++-----
app/config/routing.yml | 4 ++--
app/config/routing_dev.yml | 6 +++---
app/config/security.yml | 16 ++++++++-------
6 files changed, 48 insertions(+), 42 deletions(-)
diff --git a/app/config/config.yml b/app/config/config.yml
index 9e2e08a67..f1321d67b 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -5,25 +5,27 @@ imports:
framework:
#esi: ~
- translator: { fallback: "%locale%" }
- secret: "%secret%"
+ translator:
+ enabled: true
+ fallback: "%locale%"
+ secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
- form: ~
+ form: ~
csrf_protection: ~
- validation: { enable_annotations: true }
+ validation:
+ enable_annotations: true
templating:
engines: ['twig']
- #assets_version: SomeVersionScheme
- default_locale: "%locale%"
- trusted_hosts: ~
+ default_locale: "%locale%"
+ trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
- handler_id: session.handler.native_file
- save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
- fragments: ~
+ handler_id: session.handler.native_file
+ save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
+ fragments: ~
http_method_override: true
assets: ~
@@ -54,14 +56,14 @@ wallabag_import:
# Twig Configuration
twig:
- debug: "%kernel.debug%"
+ debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes:
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
# Assetic Configuration
assetic:
- debug: "%kernel.debug%"
+ debug: "%kernel.debug%"
use_controller: false
bundles: [ ]
#java: /usr/bin/java
@@ -75,14 +77,14 @@ assetic:
# Doctrine Configuration
doctrine:
dbal:
- driver: "%database_driver%"
+ driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
- charset: UTF8
- path: "%database_path%"
+ charset: UTF8
+ path: "%database_path%"
server_version: 5.6
orm:
@@ -108,10 +110,11 @@ doctrine_migrations:
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
- host: "%mailer_host%"
- username: "%mailer_user%"
- password: "%mailer_password%"
- spool: { type: memory }
+ host: "%mailer_host%"
+ username: "%mailer_user%"
+ password: "%mailer_password%"
+ spool:
+ type: memory
fos_rest:
param_fetcher_listener: true
diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml
index ec23babb8..0fa23dbfa 100644
--- a/app/config/config_dev.yml
+++ b/app/config/config_dev.yml
@@ -5,7 +5,8 @@ framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
- profiler: { only_exceptions: false }
+ profiler:
+ only_exceptions: false
web_profiler:
toolbar: true
@@ -14,19 +15,19 @@ web_profiler:
monolog:
handlers:
main:
- type: stream
- path: "%kernel.logs_dir%/%kernel.environment%.log"
- level: debug
+ type: stream
+ path: "%kernel.logs_dir%/%kernel.environment%.log"
+ level: debug
channels: ['!event']
console:
- type: console
+ type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: INFO
VERBOSITY_VERY_VERBOSE: DEBUG
channels: ['!event', '!doctrine']
console_very_verbose:
- type: console
+ type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: NOTICE
diff --git a/app/config/config_prod.yml b/app/config/config_prod.yml
index 65b040cce..5a4dd69e2 100644
--- a/app/config/config_prod.yml
+++ b/app/config/config_prod.yml
@@ -14,12 +14,12 @@ imports:
monolog:
handlers:
main:
- type: fingers_crossed
+ type: fingers_crossed
action_level: error
- handler: nested
+ handler: nested
nested:
- type: stream
- path: "%kernel.logs_dir%/%kernel.environment%.log"
+ type: stream
+ path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
- type: console
+ type: console
diff --git a/app/config/routing.yml b/app/config/routing.yml
index 6a6aa6aca..40cc7165b 100644
--- a/app/config/routing.yml
+++ b/app/config/routing.yml
@@ -4,8 +4,8 @@ wallabag_annotation:
wallabag_import:
resource: "@WallabagImportBundle/Controller/"
- type: annotation
- prefix: /import
+ type: annotation
+ prefix: /import
wallabag_api:
resource: "@WallabagApiBundle/Resources/config/routing.yml"
diff --git a/app/config/routing_dev.yml b/app/config/routing_dev.yml
index 404f6a3bc..95c1b0263 100644
--- a/app/config/routing_dev.yml
+++ b/app/config/routing_dev.yml
@@ -1,14 +1,14 @@
_wdt:
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
- prefix: /_wdt
+ prefix: /_wdt
_profiler:
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
- prefix: /_profiler
+ prefix: /_profiler
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
- prefix: /_error
+ prefix: /_error
_main:
resource: routing.yml
diff --git a/app/config/security.yml b/app/config/security.yml
index 0748c06ce..e24e03df2 100644
--- a/app/config/security.yml
+++ b/app/config/security.yml
@@ -3,12 +3,14 @@ security:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
- ROLE_ADMIN: ROLE_USER
+ ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
administrators:
- entity: { class: WallabagUserBundle:User, property: username }
+ entity:
+ class: WallabagUserBundle:User
+ property: username
fos_userbundle:
id: fos_user.user_provider.username
@@ -31,7 +33,7 @@ security:
anonymous: true
login_firewall:
- pattern: ^/login$
+ pattern: ^/login$
anonymous: ~
secured_area:
@@ -40,12 +42,12 @@ security:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
- anonymous: true
+ anonymous: true
remember_me:
- secret: "%secret%"
+ secret: "%secret%"
lifetime: 31536000
- path: /
- domain: ~
+ path: /
+ domain: ~
logout:
path: /logout
From fdc90ceb172bb7b237e34a1a01f53018c09f514b Mon Sep 17 00:00:00 2001
From: Jeremy Benoist
Date: Fri, 24 Jun 2016 11:55:45 +0200
Subject: [PATCH 2/7] Change the way to login user in tests
Instead of using a HTTP request we just login user like FOSUser does.
It allows us to mock service in container for functional tests.
Also, fix a bad config name in fos_user for firewall
And finally, add functional test to PocketImport
---
app/config/config.yml | 2 +-
.../Controller/SecurityControllerTest.php | 2 +-
.../Controller/TagControllerTest.php | 6 ++
.../CoreBundle/WallabagCoreTestCase.php | 32 ++++++++++
.../Controller/PocketControllerTest.php | 57 +++++++++++++++---
.../ImportBundle/fixtures/unnamed.png | Bin 0 -> 3688 bytes
6 files changed, 90 insertions(+), 9 deletions(-)
create mode 100644 tests/Wallabag/ImportBundle/fixtures/unnamed.png
diff --git a/app/config/config.yml b/app/config/config.yml
index f1321d67b..6a8078ccd 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -176,7 +176,7 @@ liip_theme:
fos_user:
db_driver: orm
- firewall_name: main
+ firewall_name: secured_area
user_class: Wallabag\UserBundle\Entity\User
registration:
confirmation:
diff --git a/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php b/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
index f503ff4bd..03355f5ab 100644
--- a/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/SecurityControllerTest.php
@@ -36,7 +36,7 @@ class SecurityControllerTest extends WallabagCoreTestCase
$em->persist($user);
$em->flush();
- $this->logInAs('admin');
+ $this->logInAsUsingHttp('admin');
$crawler = $client->request('GET', '/config');
$this->assertContains('scheb_two_factor.trusted', $crawler->filter('body')->extract(['_text'])[0]);
diff --git a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
index a019d36c9..58450e5fb 100644
--- a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
@@ -39,6 +39,12 @@ class TagControllerTest extends WallabagCoreTestCase
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
+ // be sure to reload the entry
+ $entry = $client->getContainer()
+ ->get('doctrine.orm.entity_manager')
+ ->getRepository('WallabagCoreBundle:Entry')
+ ->findOneByUsernameAndNotArchived('admin');
+
$this->assertEquals(1, count($entry->getTags()));
# tag already exists and already assigned
diff --git a/tests/Wallabag/CoreBundle/WallabagCoreTestCase.php b/tests/Wallabag/CoreBundle/WallabagCoreTestCase.php
index c69e83301..c0055888a 100644
--- a/tests/Wallabag/CoreBundle/WallabagCoreTestCase.php
+++ b/tests/Wallabag/CoreBundle/WallabagCoreTestCase.php
@@ -3,6 +3,7 @@
namespace Tests\Wallabag\CoreBundle;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
+use Symfony\Component\BrowserKit\Cookie;
abstract class WallabagCoreTestCase extends WebTestCase
{
@@ -20,7 +21,38 @@ abstract class WallabagCoreTestCase extends WebTestCase
$this->client = static::createClient();
}
+ /**
+ * Login a user without making a HTTP request.
+ * If we make a HTTP request we lose ability to mock service in the container.
+ *
+ * @param string $username User to log in
+ */
public function logInAs($username)
+ {
+ $container = $this->client->getContainer();
+ $session = $container->get('session');
+
+ $userManager = $container->get('fos_user.user_manager');
+ $loginManager = $container->get('fos_user.security.login_manager');
+ $firewallName = $container->getParameter('fos_user.firewall_name');
+
+ $user = $userManager->findUserBy(array('username' => $username));
+ $loginManager->loginUser($firewallName, $user);
+
+ $session->set('_security_'.$firewallName, serialize($container->get('security.token_storage')->getToken()));
+ $session->save();
+
+ $cookie = new Cookie($session->getName(), $session->getId());
+ $this->client->getCookieJar()->set($cookie);
+ }
+
+ /**
+ * Instead of `logInAs` this method use a HTTP request to log in the user.
+ * Could be better for some tests.
+ *
+ * @param string $username User to log in
+ */
+ public function logInAsUsingHttp($username)
{
$crawler = $this->client->request('GET', '/login');
$form = $crawler->filter('button[type=submit]')->form();
diff --git a/tests/Wallabag/ImportBundle/Controller/PocketControllerTest.php b/tests/Wallabag/ImportBundle/Controller/PocketControllerTest.php
index 6aaf1b57b..e0e61df88 100644
--- a/tests/Wallabag/ImportBundle/Controller/PocketControllerTest.php
+++ b/tests/Wallabag/ImportBundle/Controller/PocketControllerTest.php
@@ -22,15 +22,13 @@ class PocketControllerTest extends WallabagCoreTestCase
$this->logInAs('admin');
$client = $this->getClient();
- $crawler = $client->request('GET', '/import/pocket/auth');
+ $client->request('GET', '/import/pocket/auth');
$this->assertEquals(302, $client->getResponse()->getStatusCode());
}
public function testImportPocketAuth()
{
- $this->markTestSkipped('PocketImport: Find a way to properly mock a service.');
-
$this->logInAs('admin');
$client = $this->getClient();
@@ -43,9 +41,9 @@ class PocketControllerTest extends WallabagCoreTestCase
->method('getRequestToken')
->willReturn('token');
- $client->getContainer()->set('wallabag_import.pocket.import', $pocketImport);
+ static::$kernel->getContainer()->set('wallabag_import.pocket.import', $pocketImport);
- $crawler = $client->request('GET', '/import/pocket/auth');
+ $client->request('GET', '/import/pocket/auth');
$this->assertEquals(301, $client->getResponse()->getStatusCode());
$this->assertContains('getpocket.com/auth/authorize', $client->getResponse()->headers->get('location'));
@@ -56,10 +54,55 @@ class PocketControllerTest extends WallabagCoreTestCase
$this->logInAs('admin');
$client = $this->getClient();
- $crawler = $client->request('GET', '/import/pocket/callback');
+ $pocketImport = $this->getMockBuilder('Wallabag\ImportBundle\Import\PocketImport')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $pocketImport
+ ->expects($this->once())
+ ->method('authorize')
+ ->willReturn(false);
+
+ static::$kernel->getContainer()->set('wallabag_import.pocket.import', $pocketImport);
+
+ $client->request('GET', '/import/pocket/callback');
$this->assertEquals(302, $client->getResponse()->getStatusCode());
- $this->assertContains('import/pocket', $client->getResponse()->headers->get('location'));
+ $this->assertContains('/', $client->getResponse()->headers->get('location'), 'Import is ok, redirect to homepage');
$this->assertEquals('flashes.import.notice.failed', $client->getContainer()->get('session')->getFlashBag()->peek('notice')[0]);
}
+
+ public function testImportPocketCallback()
+ {
+ $this->logInAs('admin');
+ $client = $this->getClient();
+
+ $pocketImport = $this->getMockBuilder('Wallabag\ImportBundle\Import\PocketImport')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $pocketImport
+ ->expects($this->once())
+ ->method('authorize')
+ ->willReturn(true);
+
+ $pocketImport
+ ->expects($this->once())
+ ->method('setMarkAsRead')
+ ->with(false)
+ ->willReturn($pocketImport);
+
+ $pocketImport
+ ->expects($this->once())
+ ->method('import')
+ ->willReturn(true);
+
+ static::$kernel->getContainer()->set('wallabag_import.pocket.import', $pocketImport);
+
+ $client->request('GET', '/import/pocket/callback');
+
+ $this->assertEquals(302, $client->getResponse()->getStatusCode());
+ $this->assertContains('/', $client->getResponse()->headers->get('location'), 'Import is ok, redirect to homepage');
+ $this->assertEquals('flashes.import.notice.summary', $client->getContainer()->get('session')->getFlashBag()->peek('notice')[0]);
+ }
}
diff --git a/tests/Wallabag/ImportBundle/fixtures/unnamed.png b/tests/Wallabag/ImportBundle/fixtures/unnamed.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6dd9caadb29929e09d80dcc30e593a9b6020e54
GIT binary patch
literal 3688
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
Date: Sat, 2 Jul 2016 11:50:32 +0200
Subject: [PATCH 3/7] Fix 3rd-Party Apps links (Chrome & Firefox)
---
.../Resources/views/themes/material/layout.html.twig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index 25ad23dda..707114f93 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -134,10 +134,10 @@
-
+
-
+
From 8d4152f70d4298e0aabb62e6b35ee7301f707e70 Mon Sep 17 00:00:00 2001
From: Thomas Citharel
Date: Sat, 2 Jul 2016 11:56:14 +0200
Subject: [PATCH 4/7] Remove fr part
---
.../CoreBundle/Resources/views/themes/material/layout.html.twig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index 707114f93..33d9e08f1 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -134,7 +134,7 @@
-
+
From 19738973056d027ebe6e55a97c181279b6ad2f60 Mon Sep 17 00:00:00 2001
From: Jeremy Benoist
Date: Mon, 9 May 2016 10:42:11 +0200
Subject: [PATCH 5/7] Run PHP 7.1 on Travis
- Using nightly (as of now it's PHP 7.1 alpha)
- Force guzzle to be at least 5.3.1 (which fix some bugs in PHP 7)
---
.travis.yml | 1 +
bin/symfony_requirements | 2 +-
composer.json | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 7fe15c5f7..1a33198a2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,6 +20,7 @@ php:
- 5.5
- 5.6
- 7.0
+ - nightly
- hhvm
env:
diff --git a/bin/symfony_requirements b/bin/symfony_requirements
index 7cd559a45..8825a9646 100755
--- a/bin/symfony_requirements
+++ b/bin/symfony_requirements
@@ -13,7 +13,7 @@ echo '> PHP is using the following php.ini file:'.PHP_EOL;
if ($iniPath) {
echo_style('green', ' '.$iniPath);
} else {
- echo_style('warning', ' WARNING: No configuration file (php.ini) used by PHP!');
+ echo_style('yellow', ' WARNING: No configuration file (php.ini) used by PHP!');
}
echo PHP_EOL.PHP_EOL;
diff --git a/composer.json b/composer.json
index f3bd7893e..c7830a148 100644
--- a/composer.json
+++ b/composer.json
@@ -74,7 +74,7 @@
"grandt/phpepub": "~4.0",
"wallabag/php-mobi": "~1.0.0",
"kphoen/rulerz-bundle": "~0.10",
- "guzzlehttp/guzzle": "^5.2.0",
+ "guzzlehttp/guzzle": "^5.3.1",
"doctrine/doctrine-migrations-bundle": "^1.0",
"paragonie/random_compat": "~1.0",
"craue/config-bundle": "~1.4",
From 57b62cbf79c904d5a27ac6c67b1ea0b3b3fdf5b4 Mon Sep 17 00:00:00 2001
From: benages
Date: Mon, 18 Jul 2016 21:53:53 +0200
Subject: [PATCH 6/7] =?UTF-8?q?Fixed=20spelling=20Art=C3=BAclos=20-->=20Ar?=
=?UTF-8?q?t=C3=ADculos?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Wallabag/CoreBundle/Resources/translations/messages.es.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 8351bcf4e..75978f16b 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -135,7 +135,7 @@ config:
entry:
page_titles:
- unread: 'Artúclos no leídos'
+ unread: 'Artículos no leídos'
starred: 'Artículos favoritos'
archived: 'Artículos archivados'
filtered: 'Artículos filtrados'
From 8d8d48a2bbdb5db61a210e123d99515ca4a9f52a Mon Sep 17 00:00:00 2001
From: Jeremy Benoist
Date: Wed, 20 Jul 2016 10:44:46 +0200
Subject: [PATCH 7/7] Remove binary from repo
Since Composer 1.2, binaries are re-installed from vendors if there aren't found.
This avoid us to commit binaries vendors into the repo.
:warning: You have to update your Composer to the 1.2 (`composer selfupdate`)
---
.gitignore | 3 +++
README.md | 2 +-
bin/doctrine | 1 -
bin/doctrine-dbal | 1 -
bin/doctrine-migrations | 1 -
bin/doctrine.php | 1 -
bin/php-cs-fixer | 1 -
bin/security-checker | 1 -
docs/en/user/installation.rst | 2 +-
docs/fr/user/installation.rst | 2 +-
10 files changed, 6 insertions(+), 9 deletions(-)
delete mode 120000 bin/doctrine
delete mode 120000 bin/doctrine-dbal
delete mode 120000 bin/doctrine-migrations
delete mode 120000 bin/doctrine.php
delete mode 120000 bin/php-cs-fixer
delete mode 120000 bin/security-checker
diff --git a/.gitignore b/.gitignore
index 02e921f8d..f596c7b8f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,9 @@
/var/sessions/*
!var/sessions/.gitkeep
!var/SymfonyRequirements.php
+/bin/*
+!/bin/console
+!/bin/symfony_requirements
# Parameters
/app/config/parameters.yml
diff --git a/README.md b/README.md
index 2a7b54bf7..0d87d7bb3 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ More informations on our website: [wallabag.org](https://wallabag.org)
# Install wallabag
-If you don't have it yet, please [install composer](https://getcomposer.org/download/).
+If you don't have it yet, please [install composer](https://getcomposer.org/download/) or be sure to use Composer 1.2 (`composer selfupdate` can help you about that).
Then you can install wallabag by executing the following commands:
```
diff --git a/bin/doctrine b/bin/doctrine
deleted file mode 120000
index 0f72e36f9..000000000
--- a/bin/doctrine
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/doctrine/orm/bin/doctrine
\ No newline at end of file
diff --git a/bin/doctrine-dbal b/bin/doctrine-dbal
deleted file mode 120000
index 110e93c53..000000000
--- a/bin/doctrine-dbal
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/doctrine/dbal/bin/doctrine-dbal
\ No newline at end of file
diff --git a/bin/doctrine-migrations b/bin/doctrine-migrations
deleted file mode 120000
index 7184da719..000000000
--- a/bin/doctrine-migrations
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/doctrine/migrations/bin/doctrine-migrations
\ No newline at end of file
diff --git a/bin/doctrine.php b/bin/doctrine.php
deleted file mode 120000
index b22b74da5..000000000
--- a/bin/doctrine.php
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/doctrine/orm/bin/doctrine.php
\ No newline at end of file
diff --git a/bin/php-cs-fixer b/bin/php-cs-fixer
deleted file mode 120000
index 4d771203d..000000000
--- a/bin/php-cs-fixer
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/friendsofphp/php-cs-fixer/php-cs-fixer
\ No newline at end of file
diff --git a/bin/security-checker b/bin/security-checker
deleted file mode 120000
index 85f6e8ed6..000000000
--- a/bin/security-checker
+++ /dev/null
@@ -1 +0,0 @@
-../vendor/sensiolabs/security-checker/security-checker
\ No newline at end of file
diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst
index 58d9fb7e0..bd3095e03 100644
--- a/docs/en/user/installation.rst
+++ b/docs/en/user/installation.rst
@@ -37,7 +37,7 @@ Installation
On a dedicated web server (recommended way)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-wallabag uses a large number of libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you have not already done so.
+wallabag uses a large number of libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you have not already done so and be sure to use the 1.2 version (if you already have Composer, run a ``composer selfupdate``).
Install Composer:
diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst
index b1136c12b..0693fc5d3 100644
--- a/docs/fr/user/installation.rst
+++ b/docs/fr/user/installation.rst
@@ -35,7 +35,7 @@ Installation
Sur un serveur dédié (méthode conseillée)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-wallabag utilise un grand nombre de bibliothèques pour fonctionner. Ces bibliothèques doivent être installées à l'aide d'un outil nommé Composer. Vous devez l'installer si ce n'est déjà fait.
+wallabag utilise un grand nombre de bibliothèques pour fonctionner. Ces bibliothèques doivent être installées à l'aide d'un outil nommé Composer. Vous devez l'installer si ce n'est déjà fait et vous assurer que vous utilisez bien la version 1.2 (si vous avez déjà Composer, faite un ``composer selfupdate``).
Installation de Composer :