]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Jump to Symfony 3.3 & update others deps
authorJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 9 Oct 2017 14:45:09 +0000 (16:45 +0200)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 9 Oct 2017 14:45:12 +0000 (16:45 +0200)
Also update tests urls

18 files changed:
app/config/config.yml
composer.json
phpunit.xml.dist
src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php
src/Wallabag/ApiBundle/Controller/EntryRestController.php
src/Wallabag/ApiBundle/Controller/TagRestController.php
src/Wallabag/ApiBundle/Controller/UserRestController.php
src/Wallabag/ApiBundle/Controller/WallabagRestController.php
tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php
tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php
tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php
tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php
tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php
tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php
tests/Wallabag/ImportBundle/fixtures/readability-read.json
tests/Wallabag/ImportBundle/fixtures/readability.json
tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json

index d37ed227b4db44e6937b3bd3c4d9639f0c2ae75c..b76fb696636149b51fb68b61e61cda2f0d97cbae 100644 (file)
@@ -350,3 +350,10 @@ fos_js_routing:
         - howto
         - fos_user_security_logout
         - new
+
+jms_serializer:
+    handlers:
+        # to be removed if we switch to (default) ISO8601 datetime instead of ATOM
+        # see: https://github.com/schmittjoh/JMSSerializerBundle/pull/494
+        datetime:
+            default_format: "Y-m-d\\TH:i:sO" # ATOM
index fa0a4a39d7309145058f80221557fe4c169dab56..d1f970c79704956bb8beb94becbc8e2490ab6634 100644 (file)
@@ -43,7 +43,7 @@
         "ext-iconv": "*",
         "ext-tokenizer": "*",
         "ext-pdo": "*",
-        "symfony/symfony": "3.2.*",
+        "symfony/symfony": "3.3.*",
         "doctrine/orm": "^2.5",
         "doctrine/doctrine-bundle": "^1.6",
         "doctrine/doctrine-cache-bundle": "^1.2",
         "symfony/swiftmailer-bundle": "^2.3",
         "symfony/monolog-bundle": "^3.0",
         "sensio/distribution-bundle": "^5.0",
-        "sensio/framework-extra-bundle": "^3.0.2",
+        "sensio/framework-extra-bundle": "^3.0",
         "incenteev/composer-parameter-handler": "^2.0",
-        "nelmio/cors-bundle": "~1.4.0",
+        "nelmio/cors-bundle": "~1.4",
         "friendsofsymfony/rest-bundle": "~2.1",
-        "jms/serializer-bundle": "~1.1",
+        "jms/serializer-bundle": "~2.2",
         "nelmio/api-doc-bundle": "~2.7",
         "mgargano/simplehtmldom": "~1.5",
         "wallabag/tcpdf": "^6.2",
-        "simplepie/simplepie": "~1.3.1",
+        "simplepie/simplepie": "~1.5",
         "willdurand/hateoas-bundle": "~1.0",
         "liip/theme-bundle": "~1.1",
         "lexik/form-filter-bundle": "~5.0",
     },
     "require-dev": {
         "doctrine/doctrine-fixtures-bundle": "~2.2",
-        "doctrine/data-fixtures": "~1.1.1",
+        "doctrine/data-fixtures": "~1.1",
         "sensio/generator-bundle": "^3.0",
         "symfony/phpunit-bridge": "^3.3",
         "friendsofphp/php-cs-fixer": "~2.0",
         "m6web/redis-mock": "^2.0",
-        "dama/doctrine-test-bundle": "^1.0"
+        "dama/doctrine-test-bundle": "^3.0"
     },
     "scripts": {
         "post-cmd": [
index 8f5285e65b9ff196dc17faac326e5b41b54fc41a..591b0909d27f19527a0c05a9ebf0b06ffaa971db 100644 (file)
@@ -32,6 +32,6 @@
     </filter>
 
     <listeners>
-        <listener class="\DAMA\DoctrineTestBundle\PHPUnit\PHPUnitStaticDbConnectionListener" />
+        <listener class="\DAMA\DoctrineTestBundle\PHPUnit\LegacyPHPUnitListener" />
     </listeners>
 </phpunit>
index 8d7b6ee9eae786988f4e8f83c5975adb995a8f64..f3090e6503a38a6c562ab4648a4f315365b67454 100644 (file)
@@ -31,7 +31,7 @@ class WallabagAnnotationController extends FOSRestController
         $total = count($annotationRows);
         $annotations = ['total' => $total, 'rows' => $annotationRows];
 
-        $json = $this->get('serializer')->serialize($annotations, 'json');
+        $json = $this->get('jms_serializer')->serialize($annotations, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
@@ -64,7 +64,7 @@ class WallabagAnnotationController extends FOSRestController
             $em->persist($annotation);
             $em->flush();
 
-            $json = $this->get('serializer')->serialize($annotation, 'json');
+            $json = $this->get('jms_serializer')->serialize($annotation, 'json');
 
             return JsonResponse::fromJsonString($json);
         }
@@ -99,7 +99,7 @@ class WallabagAnnotationController extends FOSRestController
             $em->persist($annotation);
             $em->flush();
 
-            $json = $this->get('serializer')->serialize($annotation, 'json');
+            $json = $this->get('jms_serializer')->serialize($annotation, 'json');
 
             return JsonResponse::fromJsonString($json);
         }
@@ -124,7 +124,7 @@ class WallabagAnnotationController extends FOSRestController
         $em->remove($annotation);
         $em->flush();
 
-        $json = $this->get('serializer')->serialize($annotation, 'json');
+        $json = $this->get('jms_serializer')->serialize($annotation, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
index 6db977310666e159fec81ef51558e572cacc3fcf..86e723351c696db1bcc09788710499cf2bafb704 100644 (file)
@@ -752,7 +752,7 @@ class EntryRestController extends WallabagRestController
         $context = new SerializationContext();
         $context->setSerializeNull(true);
 
-        $json = $this->get('serializer')->serialize($data, 'json', $context);
+        $json = $this->get('jms_serializer')->serialize($data, 'json', $context);
 
         return (new JsonResponse())->setJson($json);
     }
index efa4e8cfc1ea5b072121078c8532a970e54485e0..d19f122833f6980780799406a46783e6493ba9df 100644 (file)
@@ -25,7 +25,7 @@ class TagRestController extends WallabagRestController
             ->getRepository('WallabagCoreBundle:Tag')
             ->findAllTags($this->getUser()->getId());
 
-        $json = $this->get('serializer')->serialize($tags, 'json');
+        $json = $this->get('jms_serializer')->serialize($tags, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
@@ -58,7 +58,7 @@ class TagRestController extends WallabagRestController
 
         $this->cleanOrphanTag($tag);
 
-        $json = $this->get('serializer')->serialize($tag, 'json');
+        $json = $this->get('jms_serializer')->serialize($tag, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
@@ -100,7 +100,7 @@ class TagRestController extends WallabagRestController
 
         $this->cleanOrphanTag($tags);
 
-        $json = $this->get('serializer')->serialize($tags, 'json');
+        $json = $this->get('jms_serializer')->serialize($tags, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
@@ -126,7 +126,7 @@ class TagRestController extends WallabagRestController
 
         $this->cleanOrphanTag($tag);
 
-        $json = $this->get('serializer')->serialize($tag, 'json');
+        $json = $this->get('jms_serializer')->serialize($tag, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
index 6f47cff0dd85a8ddb759ef906c27f146ceffc01a..a1378fc54e35e522259a71ee1d190d66cc6a175f 100644 (file)
@@ -46,7 +46,7 @@ class UserRestController extends WallabagRestController
     public function putUserAction(Request $request)
     {
         if (!$this->getParameter('fosuser_registration') || !$this->get('craue_config')->get('api_user_registration')) {
-            $json = $this->get('serializer')->serialize(['error' => "Server doesn't allow registrations"], 'json');
+            $json = $this->get('jms_serializer')->serialize(['error' => "Server doesn't allow registrations"], 'json');
 
             return (new JsonResponse())
                 ->setJson($json)
@@ -92,7 +92,7 @@ class UserRestController extends WallabagRestController
                 $errors['password'] = $this->translateErrors($data['plainPassword']['children']['first']['errors']);
             }
 
-            $json = $this->get('serializer')->serialize(['error' => $errors], 'json');
+            $json = $this->get('jms_serializer')->serialize(['error' => $errors], 'json');
 
             return (new JsonResponse())
                 ->setJson($json)
@@ -127,7 +127,7 @@ class UserRestController extends WallabagRestController
      */
     private function sendUser(User $user, $group = 'user_api', $status = JsonResponse::HTTP_OK)
     {
-        $json = $this->get('serializer')->serialize(
+        $json = $this->get('jms_serializer')->serialize(
             $user,
             'json',
             SerializationContext::create()->setGroups([$group])
index 71da2a645ebd757309168277cdf8476565fcae67..7d8cfbba2392ada1e07919e915d8568f034bee54 100644 (file)
@@ -19,7 +19,7 @@ class WallabagRestController extends FOSRestController
     public function getVersionAction()
     {
         $version = $this->container->getParameter('wallabag_core.version');
-        $json = $this->get('serializer')->serialize($version, 'json');
+        $json = $this->get('jms_serializer')->serialize($version, 'json');
 
         return (new JsonResponse())->setJson($json);
     }
index 33bfa71e67d5c2e2f8a4abc03913a40e3b677fd6..907814df3a7f0ce7a4de6fed496f4b0828e1807f 100644 (file)
@@ -1268,7 +1268,7 @@ class EntryControllerTest extends WallabagCoreTestCase
                 'ru',
             ],
             'fr-FR' => [
-                'http://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/',
+                'https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/',
                 'fr_FR',
             ],
             'de' => [
@@ -1300,7 +1300,7 @@ class EntryControllerTest extends WallabagCoreTestCase
                 null,
             ],
             'es-ES' => [
-                'http://www.muylinux.com/2015/04/17/odf-reino-unido-microsoft-google/',
+                'https://www.muylinux.com/2015/04/17/odf-reino-unido-microsoft-google/',
                 'es_ES',
             ],
         ];
index 3873ccf4af9ba58283551594cb0f1327305b48be..ddb7a65a86bf50cce9789d493e030550b4483dd0 100644 (file)
@@ -114,10 +114,11 @@ class ChromeControllerTest extends WallabagCoreTestCase
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
             ->findByUrlAndUserId(
-                'http://www.usinenouvelle.com/article/la-multiplication-des-chefs-de-projet-est-une-catastrophe-manageriale-majeure-affirme-le-sociologue-francois-dupuy.N307730',
+                'https://www.usinenouvelle.com/article/la-multiplication-des-chefs-de-projet-est-une-catastrophe-manageriale-majeure-affirme-le-sociologue-francois-dupuy.N307730',
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://www.usinenouvelle.com is ok');
         $this->assertNotEmpty($content->getLanguage(), 'Language for http://www.usinenouvelle.com is ok');
         $this->assertSame(1, count($content->getTags()));
index 5e1260b15bbc7c8d6c2c19262b0693c45677acd5..933fffa21f9430d6d8362538ef6fd2b38154f945 100644 (file)
@@ -118,6 +118,7 @@ class FirefoxControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://lexpansion.lexpress.fr is ok');
         $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://lexpansion.lexpress.fr is ok');
         $this->assertNotEmpty($content->getLanguage(), 'Language for http://lexpansion.lexpress.fr is ok');
@@ -131,6 +132,7 @@ class FirefoxControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://stackoverflow.com is ok');
         $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://stackoverflow.com is ok');
         $this->assertEmpty($content->getLanguage(), 'Language for https://stackoverflow.com is ok');
index 9bb597664de95e959f21dd1db5e32213cbaf1bb1..1135f32e90e8c675143b374ce5b53363a2e772ca 100644 (file)
@@ -118,6 +118,7 @@ class PinboardControllerTest extends WallabagCoreTestCase
         $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
         $this->assertContains('flashes.import.notice.summary', $body[0]);
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://ma.ttias.be is ok');
         $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://ma.ttias.be is ok');
         $this->assertNotEmpty($content->getLanguage(), 'Language for https://ma.ttias.be is ok');
@@ -161,6 +162,7 @@ class PinboardControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content1);
         $this->assertTrue($content1->isArchived());
 
         $content2 = $client->getContainer()
@@ -171,6 +173,7 @@ class PinboardControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content2);
         $this->assertTrue($content2->isArchived());
 
         $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
index e19151505776c644600a23393ca431e5b3c1cab0..fcb9dfab142c8632d6fa14078790c0270f112f21 100644 (file)
@@ -111,13 +111,14 @@ class ReadabilityControllerTest extends WallabagCoreTestCase
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
             ->findByUrlAndUserId(
-                'http://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/',
+                'https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/',
                 $this->getLoggedInUserId()
             );
 
         $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
         $this->assertContains('flashes.import.notice.summary', $body[0]);
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://www.zataz.com is ok');
         $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://www.zataz.com is ok');
         $this->assertNotEmpty($content->getLanguage(), 'Language for http://www.zataz.com is ok');
@@ -159,16 +160,18 @@ class ReadabilityControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content1);
         $this->assertTrue($content1->isArchived());
 
         $content2 = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
             ->findByUrlAndUserId(
-                'https://facebook.github.io/graphql/',
+                'https://facebook.github.io/graphql/October2016/',
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content2);
         $this->assertTrue($content2->isArchived());
 
         $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
index 4bc982e0ae977c774b8ab259e7b2fa81f1c76e57..e0e309b0158fca4a2ed70582e42c11d0d009b5ae 100644 (file)
@@ -119,6 +119,7 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
         $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
         $this->assertContains('flashes.import.notice.summary', $body[0]);
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertEmpty($content->getMimetype(), 'Mimetype for http://www.framablog.org is empty');
         $this->assertEmpty($content->getPreviewPicture(), 'Preview picture for http://www.framablog.org is empty');
         $this->assertEmpty($content->getLanguage(), 'Language for http://www.framablog.org is empty');
@@ -160,6 +161,7 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content1);
         $this->assertTrue($content1->isArchived());
 
         $content2 = $client->getContainer()
@@ -170,6 +172,7 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content2);
         $this->assertTrue($content2->isArchived());
 
         $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
index a94adcaf45b2bb081345813e1d95021885ddac55..e52b9c85f563d2f7e31d9564d7cf7812963d3aea 100644 (file)
@@ -119,6 +119,8 @@ class WallabagV2ControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
+
         // empty because it wasn't re-imported
         $this->assertEmpty($content->getMimetype(), 'Mimetype for http://www.liberation.fr is empty');
         $this->assertEmpty($content->getPreviewPicture(), 'Preview picture for http://www.liberation.fr is empty');
@@ -136,6 +138,7 @@ class WallabagV2ControllerTest extends WallabagCoreTestCase
                 $this->getLoggedInUserId()
             );
 
+        $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
         $this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://www.mediapart.fr is ok');
         $this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://www.mediapart.fr is ok');
         $this->assertNotEmpty($content->getLanguage(), 'Language for https://www.mediapart.fr is ok');
index c60767dc8f4654791dae0e420086b62c211ecebb..7dbd986804ec7dcb69ef2d7fff28f9d52aa62481 100644 (file)
@@ -14,7 +14,7 @@
             "article__excerpt": "The GraphQL Type system describes the capabilities of a GraphQL server and is used to determine if a query is valid. The type system also describes the input types of query variables to determine if&hellip;",
             "favorite": false,
             "date_archived": "2016-07-19T06:48:31",
-            "article__url": "https://facebook.github.io/graphql/",
+            "article__url": "https://facebook.github.io/graphql/October2016/",
             "date_added": "2016-06-24T17:50:16",
             "date_favorited": null,
             "article__title": "GraphQL",
index b9fd570df9887f9bc23729e2806a9765e467c09a..ba7be5bfa2dcaad5bd719c7f82748933c3a5b80c 100644 (file)
@@ -22,7 +22,7 @@
             "date_added": "2016-09-08T11:55:58+0200",
             "favorite": 0,
             "article__title": "90% des dossiers médicaux des Coréens du sud vendus à des entreprises privées - ZATAZ",
-            "article__url": "http://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/"
+            "article__url": "https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/"
         }
    ],
     "recommendations": []
index 0e30d95b826c7c3299d0e9110f5bb000442f8031..63c44cf9eb5eddbd1392eff48cee203037818368 100644 (file)
         "is_starred": 0,
         "id": 608,
         "title": "90% des dossiers médicaux des Coréens du sud vendus à des entreprises privées - ZATAZ",
-        "url": "http://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/",
+        "url": "https://www.zataz.com/90-des-dossiers-medicaux-des-coreens-du-sud-vendus-a-des-entreprises-privees/",
         "content": "<p class=\"c2\"><strong>La Corée du Sud vibre en ce moment à la lecture d’une information qui pend aux nez des Français. Une entreprise privée a récupéré 90% des dossiers médicaux des habitants du pays du matin calme au soleil levant pour les revendre.</strong></p>\n<p>Une entreprise spécialisée dans le développement de logiciels en charge de gérer les frais médicaux, programmes utilisés dans les hôpitaux et la Korean Pharmaceutical Information Center, a offert il y a quelques mois ses logiciels de gestion d’officines. Plus de la moitié des pharmacies du pays ont utilisé l’outil. Sauf que <a href=\"http://www.koreaherald.com/view.php?ud=20150726000368\" target=\"_blank\">les données sauvegardées ont été revendues</a> à IMS Health Korea. Cette entreprise, dont le siège social est basé aux USA, a ensuite commercialisé, illégalement, les données à d’autres sociétés en Corée.</p>\n<p>La loi 2011 sur le droit de la protection des renseignements personnels interdit l’utilisation des renseignements personnels et des renseignements médicaux sans le consentement des patients. Le Pharmaceutical Information Center est actuellement jugé pour cette collecte illégale, qui date de 2013, et la distribution des informations médicales de 90% des Coréens.</p>\n<blockquote readability=\"4\">\n<p><strong>Un cas qui pourrait toucher la France ?</strong></p>\n</blockquote>\n<p class=\"c2\">Depuis février 2015, l’ouverture des données de santé dans l’hexagone a été décidée par le législateur. L’assurance-maladie a annoncé qu’elle proposait, en accès libre, sa base de données « <em>Damir</em> » sur le site data.gouv.fr. Un big data de la santé qui regroupe les informations issues de 1,2 milliard de feuilles de soins, de 500 millions d’actes médicaux et de 11 millions d’hospitalisations. Ce big data ne propose pas les identités (pas de nom, de numéro de sécurité sociale, …), uniquement des millions de chiffres et de  données de santé. Cette faramineuse base de données, qui double de volume chaque année, permet d’extraire, par exemple, des statistiques liées à la santé dans les régions. <a href=\"http://www.assemblee-nationale.fr/14/amendements/2302/CION-SOC/AS1387.pdf\" target=\"_blank\">L’article 47 de loi</a> permet aux acteurs privés d’accéder aux données de la CNAMTS. C’est l’Institut national des données de santé (<a href=\"http://www.institut-des-donnees-de-sante.fr/\" target=\"_blank\">INDS</a>) qui a en charge de répondre aux demandes du « privé » pour accéder aux données plus ciblées (et payantes).</p>\n",
         "annotations": [],
         "mimetype": "text/html",
         "language": "fr-FR",
         "reading_time": 1,
         "domain_name": "www.zataz.com",
-        "preview_picture": "http://www.zataz.com/wp-content/uploads/HD-Virus.png",
+        "preview_picture": "https://www.zataz.com/wp-content/uploads/HD-Virus.png",
         "tags": []
     },
     {