server/src/tests/Controllers/ThemeControllerTest.php
author ymh <ymh.work@gmail.com>
Tue, 17 Jan 2017 13:30:54 +0100
changeset 487 514dc9b6f875
parent 474 245b4df137d3
child 537 d2e6ee099125
permissions -rw-r--r--
Reorder media files for notice. Make the most compressed one (mp3, mp4) the default. Closes #0025878

<?php

use Mockery as m;

use EasyRdf\Resource;
use EasyRdf\Literal;

/**
 *
 */
class ThemeControllerTest extends TestCase {

    public function setUp() {

        parent::setup();

    }

    public function tearDown() {
        m::close();
        parent::tearDown();
    }

    public function testIndex() {

        $query = [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => config('corpusparole.theme_default_limit'),
                                    "order" => [ '_count' => 'desc' ],
                                    "include" => ".*\|bnf\|.*"
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

        Es::shouldReceive('search')
            ->once()
            ->with($query)
            ->andReturn([
                "took" => 27,
                "timed_out" => false,
                "_shards" => [
                    "total" => 1,
                    "successful" => 1,
                    "failed" => 0
                ],
                "hits" => [
                    "total" => 3011,
                    "max_score" => 0.0,
                    "hits" => [ ]
                ],
                "aggregations" => [
                    "subjects" => [
                        "doc_count" => 41524,
                        "subjects" => [
                            "doc_count_error_upper_bound" => 0,
                            "sum_other_doc_count" => 13678,
                            "buckets" => [ [
                                "key" => "professions|bnf|ark:/12148/cb13318415c",
                                "doc_count" => 1412
                            ], [
                                "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s",
                                "doc_count" => 1092
                            ], [
                                "key" => "famille|bnf|ark:/12148/cb119339867",
                                "doc_count" => 1050
                            ], [
                                "key" => "oiseaux|bnf|ark:/12148/cb11932889r",
                                "doc_count" => 1003
                            ], [
                                "key" => "météorologie|bnf|ark:/12148/cb11932496x",
                                "doc_count" => 1001
                            ], [
                                "key" => "plantes|bnf|ark:/12148/cb11933145f",
                                "doc_count" => 995
                            ], [
                                "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q",
                                "doc_count" => 989
                            ], [
                                "key" => "arbres|bnf|ark:/12148/cb11934786x",
                                "doc_count" => 989
                            ] ]
                        ],
                        "subjects_count" => [
                            "value" => 999
                        ]
                    ]
                ]
            ]);
        $this->get('/api/v1/stats/themes/')->assertTrue($this->response->isOk(), $this->response->content());
        $this->seeJsonEquals(["themes" => [
            "http://ark.bnf.fr/ark:/12148/cb13318415c" => ['label' => 'professions', 'count' => 1412 ],
            "http://ark.bnf.fr/ark:/12148/cb16604691s" => ['label' => 'travail non rémunéré', 'count' => 1092 ],
            "http://ark.bnf.fr/ark:/12148/cb119339867" => ['label' => 'famille', 'count' => 1050 ],
            "http://ark.bnf.fr/ark:/12148/cb11932889r" => ['label' => 'oiseaux', 'count' => 1003 ],
            "http://ark.bnf.fr/ark:/12148/cb11932496x" => ['label' => 'météorologie', 'count' => 1001 ],
            "http://ark.bnf.fr/ark:/12148/cb11933145f" => ['label' => 'plantes', 'count' => 995  ],
            "http://ark.bnf.fr/ark:/12148/cb11930908q" => ['label' => 'animaux sauvages', 'count' => 989 ],
            "http://ark.bnf.fr/ark:/12148/cb11934786x" => ['label' => 'arbres', 'count' => 989 ]
        ], "meta" => ['total' => 999]]);

    }

    public function testIndexAll() {

        $query = [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => config('corpusparole.theme_default_limit'),
                                    "order" => [ '_count' => 'desc' ]
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

        Es::shouldReceive('search')
            ->once()
            ->with($query)
            ->andReturn([
                "took" => 27,
                "timed_out" => false,
                "_shards" => [
                    "total" => 1,
                    "successful" => 1,
                    "failed" => 0
                ],
                "hits" => [
                    "total" => 3011,
                    "max_score" => 0.0,
                    "hits" => [ ]
                ],
                "aggregations" => [
                    "subjects" => [
                        "doc_count" => 41524,
                        "subjects" => [
                            "doc_count_error_upper_bound" => 0,
                            "sum_other_doc_count" => 13678,
                            "buckets" => [ [
                                "key" => "professions|bnf|ark:/12148/cb13318415c",
                                "doc_count" => 1412
                            ], [
                                "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s",
                                "doc_count" => 1092
                            ], [
                                "key" => "famille|bnf|ark:/12148/cb119339867",
                                "doc_count" => 1050
                            ], [
                                "key" => "oiseaux|bnf|ark:/12148/cb11932889r",
                                "doc_count" => 1003
                            ], [
                                "key" => "Français|lxv|fra",
                                "doc_count" => 1002
                            ], [
                                "key" => "météorologie|bnf|ark:/12148/cb11932496x",
                                "doc_count" => 1001
                            ], [
                                "key" => "plantes|bnf|ark:/12148/cb11933145f",
                                "doc_count" => 995
                            ], [
                                "key" => "Breton|lxv|bzh",
                                "doc_count" => 992
                            ], [
                                "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q",
                                "doc_count" => 989
                            ], [
                                "key" => "arbres|bnf|ark:/12148/cb11934786x",
                                "doc_count" => 989
                            ] ]
                        ],
                        "subjects_count" => [
                            "value" => 999
                        ]
                    ]
                ]
            ]);
        $this->get('/api/v1/stats/themes/?filter=all')->assertTrue($this->response->isOk(), $this->response->content());
        $this->seeJsonEquals(["themes" => [
            "http://ark.bnf.fr/ark:/12148/cb13318415c" => ['label' => 'professions', 'count' => 1412 ],
            "http://ark.bnf.fr/ark:/12148/cb16604691s" => ['label' => 'travail non rémunéré', 'count' => 1092 ],
            "http://ark.bnf.fr/ark:/12148/cb119339867" => ['label' => 'famille', 'count' => 1050 ],
            "http://ark.bnf.fr/ark:/12148/cb11932889r" => ['label' => 'oiseaux', 'count' => 1003 ],
            "http://lexvo.org/id/iso639-3/fra" => ['label' => 'Français', 'count' => 1002 ],
            "http://ark.bnf.fr/ark:/12148/cb11932496x" => ['label' => 'météorologie', 'count' => 1001 ],
            "http://ark.bnf.fr/ark:/12148/cb11933145f" => ['label' => 'plantes', 'count' => 995  ],
            "http://lexvo.org/id/iso639-3/bzh" => ['label' => 'Breton', 'count' => 992 ],
            "http://ark.bnf.fr/ark:/12148/cb11930908q" => ['label' => 'animaux sauvages', 'count' => 989 ],
            "http://ark.bnf.fr/ark:/12148/cb11934786x" => ['label' => 'arbres', 'count' => 989 ]
        ], "meta" => ['total' => 999]]);

    }

    public function testIndexLexvo() {

        $query = [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => config('corpusparole.theme_default_limit'),
                                    "order" => [ '_count' => 'desc' ],
                                    "include" => ".*\|lxv\|.*"
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

        Es::shouldReceive('search')
            ->once()
            ->with($query)
            ->andReturn([
                "took" => 27,
                "timed_out" => false,
                "_shards" => [
                    "total" => 1,
                    "successful" => 1,
                    "failed" => 0
                ],
                "hits" => [
                    "total" => 3011,
                    "max_score" => 0.0,
                    "hits" => [ ]
                ],
                "aggregations" => [
                    "subjects" => [
                        "doc_count" => 41524,
                        "subjects" => [
                            "doc_count_error_upper_bound" => 0,
                            "sum_other_doc_count" => 13678,
                            "buckets" => [ [
                                "key" => "Français|lxv|fra",
                                "doc_count" => 1002
                            ], [
                                "key" => "Breton|lxv|bzh",
                                "doc_count" => 992
                            ] ]
                        ],
                        "subjects_count" => [
                            "value" => 999
                        ]
                    ]
                ]
            ]);
        $this->get('/api/v1/stats/themes/?filter=lexvo')->assertTrue($this->response->isOk(), $this->response->content());
        $this->seeJsonEquals(["themes" => [
            "http://lexvo.org/id/iso639-3/fra" => ['label' => 'Français', 'count' => 1002 ],
            "http://lexvo.org/id/iso639-3/bzh" => ['label' => 'Breton', 'count' => 992 ]
        ], "meta" => ['total' => 999]]);

    }

    private function getOrderQuery($order) {
        return [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => config('corpusparole.theme_default_limit'),
                                    "order" => $order,
                                    "include" => ".*\|bnf\|.*"
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

    }

    private function getRespSort() {
        return [
            "took" => 27,
            "timed_out" => false,
            "_shards" => [
                "total" => 1,
                "successful" => 1,
                "failed" => 0
            ],
            "hits" => [
                "total" => 3011,
                "max_score" => 0.0,
                "hits" => [ ]
            ],
            "aggregations" => [
                "subjects" => [
                    "doc_count" => 41524,
                    "subjects" => [
                        "doc_count_error_upper_bound" => 0,
                        "sum_other_doc_count" => 13678,
                        "buckets" => [  ]
                    ],
                    "subjects_count" => [
                        "value" => 999
                    ]
                ]
            ]
        ];
    }

    public function testIndexSort() {

        Es::shouldReceive('search')
            ->once()
            ->with($this->getOrderQuery(['_count' => 'desc']))
            ->andReturn($this->getRespSort());
        $this->get('/api/v1/stats/themes/')->assertTrue($this->response->isOk(), $this->response->content());

    }

    public function testIndexSortReverseCount() {
        Es::shouldReceive('search')
            ->once()
            ->with($this->getOrderQuery(['_count' => 'asc']))
            ->andReturn($this->getRespSort());
        $this->get('/api/v1/stats/themes/?sort=-count')->assertTrue($this->response->isOk(), $this->response->content());
    }

    public function testIndexSortLabel() {
        Es::shouldReceive('search')
            ->once()
            ->with($this->getOrderQuery(['_term' => 'asc']))
            ->andReturn($this->getRespSort());
        $this->get('/api/v1/stats/themes/?sort=label')->assertTrue($this->response->isOk(), $this->response->content());
    }

    public function testIndexSortAlphabetical() {
        Es::shouldReceive('search')
            ->once()
            ->with($this->getOrderQuery(['_term' => 'asc']))
            ->andReturn($this->getRespSort());
        $this->get('/api/v1/stats/themes/?sort=alphabetical')->assertTrue($this->response->isOk(), $this->response->content());
    }

    public function testIndexSortLabelReverse() {
        Es::shouldReceive('search')
            ->once()
            ->with($this->getOrderQuery(['_term' => 'desc']))
            ->andReturn($this->getRespSort());
        $this->get('/api/v1/stats/themes/?sort=-label')->assertTrue($this->response->isOk(), $this->response->content());
    }


    public function testIndexLimit() {

        $query = [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => 3,
                                    "order" => [ '_count' => 'desc' ],
                                    "include" => ".*\|bnf\|.*"
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

        // This is not normally what should be received, but we test that the limit is respected
        Es::shouldReceive('search')
            ->once()
            ->with($query)
            ->andReturn([
                "took" => 27,
                "timed_out" => false,
                "_shards" => [
                    "total" => 1,
                    "successful" => 1,
                    "failed" => 0
                ],
                "hits" => [
                    "total" => 3011,
                    "max_score" => 0.0,
                    "hits" => [ ]
                ],
                "aggregations" => [
                    "subjects" => [
                        "doc_count" => 41524,
                        "subjects" => [
                            "doc_count_error_upper_bound" => 0,
                            "sum_other_doc_count" => 13678,
                            "buckets" => [ [
                                "key" => "professions|bnf|ark:/12148/cb13318415c",
                                "doc_count" => 1412
                            ], [
                                "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s",
                                "doc_count" => 1092
                            ], [
                                "key" => "famille|bnf|ark:/12148/cb119339867",
                                "doc_count" => 1050
                            ], [
                                "key" => "oiseaux|bnf|ark:/12148/cb11932889r",
                                "doc_count" => 1003
                            ], [
                                "key" => "météorologie|bnf|ark:/12148/cb11932496x",
                                "doc_count" => 1001
                            ], [
                                "key" => "plantes|bnf|ark:/12148/cb11933145f",
                                "doc_count" => 995
                            ], [
                                "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q",
                                "doc_count" => 989
                            ], [
                                "key" => "arbres|bnf|ark:/12148/cb11934786x",
                                "doc_count" => 989
                            ] ]
                        ],
                        "subjects_count" => [
                            "value" => 999
                        ]
                    ]
                ]
            ]);
        $this->get('/api/v1/stats/themes/?limit=3')->assertTrue($this->response->isOk(), $this->response->content());
        $this->seeJsonEquals(["themes" => [
            "http://ark.bnf.fr/ark:/12148/cb13318415c" => ['label' => 'professions', 'count' => 1412 ],
            "http://ark.bnf.fr/ark:/12148/cb16604691s" => ['label' => 'travail non rémunéré', 'count' => 1092 ],
            "http://ark.bnf.fr/ark:/12148/cb119339867" => ['label' => 'famille', 'count' => 1050 ]
        ], "meta" => ['total' => 999]]);

    }

    public function testIndexIndex() {

        $query = [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => 6,
                                    "order" => [ '_count' => 'desc' ],
                                    "include" => ".*\|bnf\|.*"
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

        // This is not normally what should be received, but we test that the limit is respected
        Es::shouldReceive('search')
            ->once()
            ->with($query)
            ->andReturn([
                "took" => 27,
                "timed_out" => false,
                "_shards" => [
                    "total" => 1,
                    "successful" => 1,
                    "failed" => 0
                ],
                "hits" => [
                    "total" => 3011,
                    "max_score" => 0.0,
                    "hits" => [ ]
                ],
                "aggregations" => [
                    "subjects" => [
                        "doc_count" => 41524,
                        "subjects" => [
                            "doc_count_error_upper_bound" => 0,
                            "sum_other_doc_count" => 13678,
                            "buckets" => [ [
                                "key" => "professions|bnf|ark:/12148/cb13318415c",
                                "doc_count" => 1412
                            ], [
                                "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s",
                                "doc_count" => 1092
                            ], [
                                "key" => "famille|bnf|ark:/12148/cb119339867",
                                "doc_count" => 1050
                            ], [
                                "key" => "oiseaux|bnf|ark:/12148/cb11932889r",
                                "doc_count" => 1003
                            ], [
                                "key" => "météorologie|bnf|ark:/12148/cb11932496x",
                                "doc_count" => 1001
                            ], [
                                "key" => "plantes|bnf|ark:/12148/cb11933145f",
                                "doc_count" => 995
                            ], [
                                "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q",
                                "doc_count" => 989
                            ], [
                                "key" => "arbres|bnf|ark:/12148/cb11934786x",
                                "doc_count" => 989
                            ] ]
                        ],
                        "subjects_count" => [
                            "value" => 999
                        ]
                    ]
                ]
            ]);
        $this->get('/api/v1/stats/themes/?limit=3&index=1')->assertTrue($this->response->isOk(), $this->response->content());
        $this->seeJsonEquals(["themes" => [
            "http://ark.bnf.fr/ark:/12148/cb11932889r" => ['label' => 'oiseaux', 'count' => 1003 ],
            "http://ark.bnf.fr/ark:/12148/cb11932496x" => ['label' => 'météorologie', 'count' => 1001 ],
            "http://ark.bnf.fr/ark:/12148/cb11933145f" => ['label' => 'plantes', 'count' => 995  ]
        ], "meta" => ['total' => 999]]);

    }

    public function testIndexLimitIndex2() {

        $query = [
            'index' => env('ELASTICSEARCH_INDEX'),
            'body' => [
                'size' => 0,
                'query' =>[
                    'match_all' => (object) null
                ],
                'aggs' => [
                    "subjects" => [
                        "nested" => [ "path" => "subject" ],
                        "aggs" => [
                            "subjects" => [
                                "terms" => [
                                    "field" => "subject.label_code",
                                    "size" => 9,
                                    "order" => [ '_count' => 'desc' ],
                                    "include" => ".*\|bnf\|.*"
                                ]
                            ],
                            "subjects_count" => [
                                "cardinality" => [
                                    "field" => "subject.label_code"
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ];

        // This is not normally what should be received, but we test that the limit is respected
        Es::shouldReceive('search')
            ->once()
            ->with($query)
            ->andReturn([
                "took" => 27,
                "timed_out" => false,
                "_shards" => [
                    "total" => 1,
                    "successful" => 1,
                    "failed" => 0
                ],
                "hits" => [
                    "total" => 3011,
                    "max_score" => 0.0,
                    "hits" => [ ]
                ],
                "aggregations" => [
                    "subjects" => [
                        "doc_count" => 41524,
                        "subjects" => [
                            "doc_count_error_upper_bound" => 0,
                            "sum_other_doc_count" => 13678,
                            "buckets" => [ [
                                "key" => "professions|bnf|ark:/12148/cb13318415c",
                                "doc_count" => 1412
                            ], [
                                "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s",
                                "doc_count" => 1092
                            ], [
                                "key" => "famille|bnf|ark:/12148/cb119339867",
                                "doc_count" => 1050
                            ], [
                                "key" => "oiseaux|bnf|ark:/12148/cb11932889r",
                                "doc_count" => 1003
                            ], [
                                "key" => "météorologie|bnf|ark:/12148/cb11932496x",
                                "doc_count" => 1001
                            ], [
                                "key" => "plantes|bnf|ark:/12148/cb11933145f",
                                "doc_count" => 995
                            ], [
                                "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q",
                                "doc_count" => 989
                            ], [
                                "key" => "arbres|bnf|ark:/12148/cb11934786x",
                                "doc_count" => 989
                            ] ]
                        ],
                        "subjects_count" => [
                            "value" => 999
                        ]
                    ]
                ]
            ]);
        $this->get('/api/v1/stats/themes/?limit=3&index=2')->assertTrue($this->response->isOk(), $this->response->content());
        $this->seeJsonEquals(["themes" => [
            "http://ark.bnf.fr/ark:/12148/cb11930908q" => ['label' => 'animaux sauvages', 'count' => 989 ],
            "http://ark.bnf.fr/ark:/12148/cb11934786x" => ['label' => 'arbres', 'count' => 989 ]
        ], "meta" => ['total' => 999]]);
    }

}
PKQw?7@3T metadataplayer-a938013fc6ea/test/emission_fichiers/1219830366Middlex02BottomRight.jsUTANPKQw?˛-` B Rmetadataplayer-a938013fc6ea/test/emission_fichiers/265074200838.jsUTANPKQw?4Z 01P +metadataplayer-a938013fc6ea/test/emission_fichiers/97820204039860-2000020811.jpgUTANPKQw?756? SEmetadataplayer-a938013fc6ea/test/emission_fichiers/Garrigou.jpgUTANPKQw?/ 7eD {metadataplayer-a938013fc6ea/test/emission_fichiers/addthis_widget.jsUTANPKQw?ᙛ (D metadataplayer-a938013fc6ea/test/emission_fichiers/ajax-responder.jsUTANPKQw?N56= metadataplayer-a938013fc6ea/test/emission_fichiers/baudin.jpgUTANPKQw?S5S= metadataplayer-a938013fc6ea/test/emission_fichiers/comment.jsUTANPKQw?{S[ \metadataplayer-a938013fc6ea/test/emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.cssUTANPKQw?]D[[ metadataplayer-a938013fc6ea/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.cssUTANPKQw?|Ij[ 8metadataplayer-a938013fc6ea/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.cssUTANPKQw?/' V fmetadataplayer-a938013fc6ea/test/emission_fichiers/culture_les_retours_du_dimanche.jpgUTANPKQw?(= metadataplayer-a938013fc6ea/test/emission_fichiers/direct.pngUTANPKQw?b0C ?&< pmetadataplayer-a938013fc6ea/test/emission_fichiers/drupal.jsUTANPKQw?O$J }metadataplayer-a938013fc6ea/test/emission_fichiers/fc_antidot_recherche.jsUTANPKQw?G҇D metadataplayer-a938013fc6ea/test/emission_fichiers/fc_bloc_direct.jsUTANPKQw?}KfG metadataplayer-a938013fc6ea/test/emission_fichiers/fc_widget_twitter.jsUTANPKQw?YA> metadataplayer-a938013fc6ea/test/emission_fichiers/fivestar.jsUTANPKQw?!@I߼< 6metadataplayer-a938013fc6ea/test/emission_fichiers/footer.jsUTANPKQw?yfY emetadataplayer-a938013fc6ea/test/emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.jsUTANPKQw?Fʝ D [metadataplayer-a938013fc6ea/test/emission_fichiers/franceculture.pngUTANPKQw?/& : smetadataplayer-a938013fc6ea/test/emission_fichiers/high.jsUTANPKQw?&QfB metadataplayer-a938013fc6ea/test/emission_fichiers/inscription.pngUTANPKQw?ԓ Ү < Xmetadataplayer-a938013fc6ea/test/emission_fichiers/jquery.jsUTANPKQw?KP.@ ymetadataplayer-a938013fc6ea/test/emission_fichiers/jquery_002.jsUTANPKQw?V (@ metadataplayer-a938013fc6ea/test/emission_fichiers/jquery_003.jsUTANPKQw?/ AL$@ %metadataplayer-a938013fc6ea/test/emission_fichiers/jquery_004.jsUTANPKQw?^C@ metadataplayer-a938013fc6ea/test/emission_fichiers/jquery_005.jsUTANPKQw? @ gmetadataplayer-a938013fc6ea/test/emission_fichiers/jquery_006.jsUTANPKQw?-B$g m!O ѣmetadataplayer-a938013fc6ea/test/emission_fichiers/la_nuit_du_monde20100423.jpgUTANPKQw?醛.6n7k metadataplayer-a938013fc6ea/test/emission_fichiers/le_mal_du_pays_autobiographie_de_la_belgique20100424.jpgUTANPKQw?H._0s metadataplayer-a938013fc6ea/test/emission_fichiers/les_lites_contre_la_rpublique_histoire_et_mutations_de_scien.jpgUTANPKQw?xӪc}= +metadataplayer-a938013fc6ea/test/emission_fichiers/listen.pngUTANPKQw?; 2metadataplayer-a938013fc6ea/test/emission_fichiers/logo.pngUTANPKQw? ? 6metadataplayer-a938013fc6ea/test/emission_fichiers/more-red.pngUTANPKQw?%k9:< 7metadataplayer-a938013fc6ea/test/emission_fichiers/panels.jsUTANPKQw?I 09metadataplayer-a938013fc6ea/test/emission_fichiers/picto-ecoute-rouge.pngUTANPKQw?ݕLC y:metadataplayer-a938013fc6ea/test/emission_fichiers/picto-mobile.pngUTANPKQw?!@ ;metadataplayer-a938013fc6ea/test/emission_fichiers/picto-rss.gifUTANPKQw?J`\< <metadataplayer-a938013fc6ea/test/emission_fichiers/popups.jsUTANPKQw?)>@ _>metadataplayer-a938013fc6ea/test/emission_fichiers/popups_002.jsUTANPKQw?ʙ F bhmetadataplayer-a938013fc6ea/test/emission_fichiers/retour_dimanche.pngUTANPKQw?RuoE? metadataplayer-a938013fc6ea/test/emission_fichiers/rf_player.jsUTANPKQw?px> metadataplayer-a938013fc6ea/test/emission_fichiers/rollover.jsUTANPKQw? Zd?< vmetadataplayer-a938013fc6ea/test/emission_fichiers/script.jsUTANPKQw?pD ďmetadataplayer-a938013fc6ea/test/emission_fichiers/search-submit.pngUTANPKQw?^3f4; metadataplayer-a938013fc6ea/test/emission_fichiers/sh20.htmUTANPKQw?Qt_'@ metadataplayer-a938013fc6ea/test/emission_fichiers/swfobject.txtUTANPKQw?1A ̹metadataplayer-a938013fc6ea/test/emission_fichiers/tableheader.jsUTANPKQw? rM> metadataplayer-a938013fc6ea/test/emission_fichiers/textarea.jsUTANPKQw? $? metadataplayer-a938013fc6ea/test/emission_fichiers/widget40.cssUTANPKQw?@:8< umetadataplayer-a938013fc6ea/test/emission_fichiers/xtcore.jsUTANPKQw?7"2= metadataplayer-a938013fc6ea/test/emission_fichiers/youtube.jsUTANPKQw?#;&6 metadataplayer-a938013fc6ea/test/index-dailymotion.htmUTANPKQw?%!7 /metadataplayer-a938013fc6ea/test/index-videoelement.htmUTANPKQw?F/) 2 metadataplayer-a938013fc6ea/test/index-youtube.htmUTANPKQw?p8r*  metadataplayer-a938013fc6ea/test/index.htmUTANPKQw?-#>, Mmetadataplayer-a938013fc6ea/test/indexFC.htmUTANPKQw?oz!>- Ometadataplayer-a938013fc6ea/test/indexFC2.htmUTANPKQw?"B< Xmetadataplayer-a938013fc6ea/test/integration/html5-video.htmUTANPKQw?KJk61 ? Rmetadataplayer-a938013fc6ea/test/integration/jwplayer-video.htmUTANPKQw? @ metadataplayer-a938013fc6ea/test/integration/polemic-youtube.htmUTANPKQw?q8 }metadataplayer-a938013fc6ea/test/integration/polemic.htmUTANPKQw?pz?< metadataplayer-a938013fc6ea/test/integration/polemic_fr.jsonUTANPKQw?< metadataplayer-a938013fc6ea/test/integration/polemic_jp.jsonUTANPKQw?]dvf 6 metadataplayer-a938013fc6ea/test/integration/radio.htmUTANPKQw?Hk 8 metadataplayer-a938013fc6ea/test/integration/youtube.htmUTANPKQw?bJ0 ! metadataplayer-a938013fc6ea/test/libs/player.swfUTANPKQw?rc݇52 f metadataplayer-a938013fc6ea/test/test-youtube.jsonUTANPKQw?!Hr(C* &n metadataplayer-a938013fc6ea/test/test.jsonUTANPKFF,!v