From f40c88eb1fa349aab600f9c1c94364f317fe62dd Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Mon, 9 Oct 2017 16:45:09 +0200 Subject: [PATCH] Jump to Symfony 3.3 & update others deps Also update tests urls --- app/config/config.yml | 7 +++++++ composer.json | 14 +++++++------- phpunit.xml.dist | 2 +- .../Controller/WallabagAnnotationController.php | 8 ++++---- .../ApiBundle/Controller/EntryRestController.php | 2 +- .../ApiBundle/Controller/TagRestController.php | 8 ++++---- .../ApiBundle/Controller/UserRestController.php | 6 +++--- .../Controller/WallabagRestController.php | 2 +- .../CoreBundle/Controller/EntryControllerTest.php | 4 ++-- .../Controller/ChromeControllerTest.php | 3 ++- .../Controller/FirefoxControllerTest.php | 2 ++ .../Controller/PinboardControllerTest.php | 3 +++ .../Controller/ReadabilityControllerTest.php | 7 +++++-- .../Controller/WallabagV1ControllerTest.php | 3 +++ .../Controller/WallabagV2ControllerTest.php | 3 +++ .../ImportBundle/fixtures/readability-read.json | 2 +- .../ImportBundle/fixtures/readability.json | 2 +- .../ImportBundle/fixtures/wallabag-v2.json | 4 ++-- 18 files changed, 52 insertions(+), 30 deletions(-) diff --git a/app/config/config.yml b/app/config/config.yml index d37ed227..b76fb696 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -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 diff --git a/composer.json b/composer.json index fa0a4a39..d1f970c7 100644 --- a/composer.json +++ b/composer.json @@ -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", @@ -51,15 +51,15 @@ "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", @@ -89,12 +89,12 @@ }, "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": [ diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 8f5285e6..591b0909 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -32,6 +32,6 @@ - + diff --git a/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php b/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php index 8d7b6ee9..f3090e65 100644 --- a/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php +++ b/src/Wallabag/AnnotationBundle/Controller/WallabagAnnotationController.php @@ -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); } diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php index 6db97731..86e72335 100644 --- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php +++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php @@ -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); } diff --git a/src/Wallabag/ApiBundle/Controller/TagRestController.php b/src/Wallabag/ApiBundle/Controller/TagRestController.php index efa4e8cf..d19f1228 100644 --- a/src/Wallabag/ApiBundle/Controller/TagRestController.php +++ b/src/Wallabag/ApiBundle/Controller/TagRestController.php @@ -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); } diff --git a/src/Wallabag/ApiBundle/Controller/UserRestController.php b/src/Wallabag/ApiBundle/Controller/UserRestController.php index 6f47cff0..a1378fc5 100644 --- a/src/Wallabag/ApiBundle/Controller/UserRestController.php +++ b/src/Wallabag/ApiBundle/Controller/UserRestController.php @@ -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]) diff --git a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php index 71da2a64..7d8cfbba 100644 --- a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php +++ b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php @@ -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); } diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php index 33bfa71e..907814df 100644 --- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php @@ -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', ], ]; diff --git a/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php b/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php index 3873ccf4..ddb7a65a 100644 --- a/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/ChromeControllerTest.php @@ -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())); diff --git a/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php b/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php index 5e1260b1..933fffa2 100644 --- a/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/FirefoxControllerTest.php @@ -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'); diff --git a/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php b/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php index 9bb59766..1135f32e 100644 --- a/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php @@ -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'])); diff --git a/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php b/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php index e1915150..fcb9dfab 100644 --- a/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/ReadabilityControllerTest.php @@ -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'])); diff --git a/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php b/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php index 4bc982e0..e0e309b0 100644 --- a/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php @@ -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'])); diff --git a/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php b/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php index a94adcaf..e52b9c85 100644 --- a/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/WallabagV2ControllerTest.php @@ -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'); diff --git a/tests/Wallabag/ImportBundle/fixtures/readability-read.json b/tests/Wallabag/ImportBundle/fixtures/readability-read.json index c60767dc..7dbd9868 100644 --- a/tests/Wallabag/ImportBundle/fixtures/readability-read.json +++ b/tests/Wallabag/ImportBundle/fixtures/readability-read.json @@ -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…", "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", diff --git a/tests/Wallabag/ImportBundle/fixtures/readability.json b/tests/Wallabag/ImportBundle/fixtures/readability.json index b9fd570d..ba7be5bf 100644 --- a/tests/Wallabag/ImportBundle/fixtures/readability.json +++ b/tests/Wallabag/ImportBundle/fixtures/readability.json @@ -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": [] diff --git a/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json b/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json index 0e30d95b..63c44cf9 100644 --- a/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json +++ b/tests/Wallabag/ImportBundle/fixtures/wallabag-v2.json @@ -71,14 +71,14 @@ "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": "

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.

\n

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 les données sauvegardées ont été revendues à 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.

\n

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.

\n
\n

Un cas qui pourrait toucher la France ?

\n
\n

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 « Damir » 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. L’article 47 de loi permet aux acteurs privés d’accéder aux données de la CNAMTS. C’est l’Institut national des données de santé (INDS) qui a en charge de répondre aux demandes du « privé » pour accéder aux données plus ciblées (et payantes).

\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": [] }, { -- 2.41.0