# HG changeset patch # User ymh # Date 1464428978 -7200 # Node ID a6cf5a06f02db2bb17a47b28c6993975f45db591 # Parent 5f011170de740ad514e6367420ba2d15ecad5859 add Transcript converters libraries + test diff -r 5f011170de74 -r a6cf5a06f02d server/src/app/Libraries/Transcript/LacitoTranscriptConverter.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/Transcript/LacitoTranscriptConverter.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,105 @@ +source->documentElement; + $defaultLanguage = $baseNode->hasAttribute('xml:lang')?$baseNode->getAttribute('xml:lang'):'und'; + $resTitle = []; + $xpath = new \DOMXPath($this->source); + foreach($xpath->evaluate("/TEXT/HEADER/TITLE") as $headerTitle) { + $resTitle[$headerTitle->hasAttribute("xml:lang")?$headerTitle->getAttribute('xml:lang'):$defaultLanguage] = (string)$headerTitle->textContent; + } + return $resTitle?:null; + } + + + // do nothing + public function parseSource() { + // do nothing + } + + + private function addAudioInfo($audioNode, &$annotation) { + $annotation['begin'] = floatval($audioNode->getAttribute('start'))*1000; + $annotation['end'] = floatval($audioNode->getAttribute('end'))*1000; + } + + private function addFormInfo($formNode, &$annotation) { + $annotation['content']['data']['content'] = $formNode->textContent; + } + + private function addTranslInfo($translNode, &$annotation) { + $annotation['content']['data']['transl'] + = $this->buildTextvalue($translNode->textContent, $translNode->getAttribute('xml:lang')); + } + + private function addWordInfo($wNode, &$annotation) { + if(!array_key_exists('words',$annotation['content']['data'])) { + $annotation['content']['data']['words'] = []; + } + $content = ""; + $formNodes = $wNode->getElementsByTagName('FORM'); + if(count($formNodes) !== 0 ) { + $content = $formNodes[0]->textContent; + } + $transl = ""; + $translNodes = $wNode->getElementsByTagName('TRANSL'); + if(count($translNodes) !== 0) { + $transl = $this->buildTextvalue($translNodes[0]->textContent, $translNodes[0]->getAttribute('xml:lang')); + } + array_push($annotation['content']['data']['words'], ['content' => $content, 'transl' => $transl]); + } + + + public function buildAnnotations() { + $xpath = new \DOMXPath($this->source); + + $annotationList = []; + + foreach($xpath->evaluate("/TEXT/S") as $i => $s) { + $data = []; + $speaker = $s->getAttribute('who'); + if($speaker) { + $data['speaker'] = $speaker; + } + + $annotation = [ + "id" => $this->document->getId()."_a".sprintf("%03d",$i+1), + "media" => $this->getMediaRefId(), + "content" => [ + "mimetype" => "application/json", + "data" => $data + ] + ]; + + foreach($s->childNodes as $cnode) { + if($cnode->nodeType === XML_ELEMENT_NODE) { + switch($cnode->tagName) { + case "AUDIO": + $this->addAudioInfo($cnode, $annotation); + break; + case "FORM": + $this->addFormInfo($cnode, $annotation); + break; + case "TRANSL": + $this->addTranslInfo($cnode, $annotation); + break; + case "W": + $this->addWordInfo($cnode, $annotation); + break; + } + } + } + + array_push($annotationList, $annotation); + } + + return $annotationList; + } + + +} \ No newline at end of file diff -r 5f011170de74 -r a6cf5a06f02d server/src/app/Libraries/Transcript/TranscriberTranscriptConverter.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/Transcript/TranscriberTranscriptConverter.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,171 @@ +source); + foreach($xpath->evaluate("/Trans/Topics/Topic") as $i=>$topicNode) { + $topicId = $this->document->getId()."_tpc".sprintf("%03d",$i+1); + $this->topicIds[$topicNode->getAttribute('id')] = $topicId; + array_push($this->topics,[ + 'id' => $topicId, + 'desc' => $topicNode->getAttribute('desc') + ]); + } + } + + private function parseSpeakers() { + $xpath = new \DOMXPath($this->source); + foreach($xpath->evaluate("/Trans/Speakers/Speaker") as $i=>$speakerNode) { + $speakerId = $this->document->getId()."_spkr".sprintf("%03d",$i+1); + $this->speakerIds[$speakerNode->getAttribute('id')] = $speakerId; + array_push($this->speakers,[ + 'id' => $speakerId, + 'name' => $speakerNode->getAttribute('name') + ]); + } + } + + private function buildTurnAnnotations($turnNode, $turnId, $begin, $end) { + + $currentAnnotations = []; + $currentBegin = $begin; + $currentSpeaker = null; + $turnSpeakers = array_reduce( + explode(" ", $turnNode->getAttribute('speaker')), + function($res, $spk) { + array_push( + $res, + array_key_exists($spk,$this->speakerIds)?['id-ref' => $this->speakerIds[$spk]]:$spk + ); + return $res; + }, + [] + ); + if(count($turnSpeakers) == 1) { + $currentSpeaker = $turnSpeakers[0]; + } + + foreach($turnNode->childNodes as $cnode) { + if($cnode->nodeType === XML_TEXT_NODE) { + $textContent = trim($cnode->textContent); + if(empty($textContent)) + continue; + $aData = $currentSpeaker?["speaker" => $currentSpeaker]:[]; + $aData['content'] = $textContent; + $newAnnotation = [ + 'id' => $this->document->getId()."_a".sprintf("%04d", $this->annotationCounter++), + 'begin' => $currentBegin, + 'end' => $end, + 'media' => $this->getMediaRefId(), + 'type' => $turnId, + 'content' => [ "mimetype" => "application/json", "data" => $aData], + 'meta' => [ 'id-ref' => $turnId ] + ]; + array_push($currentAnnotations, $newAnnotation); + + } elseif($cnode->nodeType === XML_ELEMENT_NODE && $cnode->tagName === "Who") { + + $currentSpeaker = $turnSpeakers[intval($cnode->getAttribute('nb'))-1]; + + } elseif($cnode->nodeType === XML_ELEMENT_NODE && $cnode->tagName === "Sync") { + + $currentBegin = floatval($cnode->getAttribute('time')) * 1000; + foreach($currentAnnotations as &$nAnnot) { + $nAnnot['end'] = $currentBegin; + } + $this->annotations = array_merge($this->annotations, $currentAnnotations); + $currentAnnotations = []; + } + } + $this->annotations = array_merge($this->annotations, $currentAnnotations); + + } + + private function parseTurn($turnNode) { + + $turnIndex = $this->turnCounter++; + $turnId = $this->document->getId()."_trn".sprintf("%04d", $turnIndex); + $begin = floatval($turnNode->getAttribute("startTime")) * 1000; + $end = floatval($turnNode->getAttribute("endTime")) * 1000; + $turn = [ + 'id' => $turnId, + 'dc:title' => "Turn $turnIndex", + 'corpus:begin' => $begin, + 'corpus:end' => $end + ]; + array_push($this->annotationTypes, $turn); + + $this->buildTurnAnnotations($turnNode, $turnId, $begin, $end); + + return $turnId; + } + + private function parseSections() { + $xpath = new \DOMXPath($this->source); + foreach($xpath->evaluate("/Trans/Episode/Section") as $sectionIndex=>$sectionNode) { + $sectionItems = []; + foreach($sectionNode->childNodes as $turnNode) { + if($turnNode->nodeType === XML_ELEMENT_NODE && $turnNode->tagName === 'Turn') { + array_push($sectionItems, [ "id-ref" => $this->parseTurn($turnNode)]); + } + } + $section = [ + 'id' => $this->document->getId()."_sctn".sprintf("%03d", $sectionIndex+1), + 'items' => $sectionItems, + 'meta' => [ + 'corpus:topic'=> ["id-ref" => $this->topicIds[$sectionNode->getAttribute('topic')]], + 'corpus:begin' => floatval($sectionNode->getAttribute('startTime'))*1000, + 'corpus:end' => floatval($sectionNode->getAttribute('endTime'))*1000, + ] + ]; + + array_push($this->lists, $section); + } + } + + public function parseSource() { + // do nothing + $this->parseTopics(); + $this->parseSpeakers(); + $this->parseSections(); + } + + // add resources + public function buildResources() { + return [ + ['id' => "topics" , "content" => ['mimetype' => 'application/json', 'data' => $this->topics]], + ['id' => "speakers", "content" => ['mimetype' => 'application/json', 'data' => $this->speakers]], + ]; + } + + // add lists + public function buildLists() { + return $this->lists; + } + + // add annotation types + public function buildAnnotationTypes() { + return $this->annotationTypes; + } + + + public function buildAnnotations() { + return $this->annotations; + } + + +} \ No newline at end of file diff -r 5f011170de74 -r a6cf5a06f02d server/src/app/Libraries/Transcript/TranscriptConverterBase.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/Transcript/TranscriptConverterBase.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,159 @@ +resJSON = []; + $this->document = $document; + $this->source = $source; + $this->creationDate = $creationDate; + $this->mediaRefId = null; + if(is_null($this->creationDate)) { + $this->creationDate = (new DateTime())->format(DateTime::ATOM); + } + } + + public function addHeaderMeta() { + + $this->resJSON['format'] = 'http://advene.org/ns/cinelab/'; + $this->resJSON["@context"] = [ + "dc" => "http://purl.org/dc/elements/1.1/", + "corpus" => "http://corpusdelaparole.huma-num.fr/ns/corpus#" + ]; + + $title = $this->getSourceTitle(); + if(is_null($title)) { + $docTitle = $this->document->getTitle(); + if($docTitle instanceof Literal) { + $titleLanguage = $docTitle->getLang(); + $title = $titleLanguage?[$titleLanguage => $docTitle->getValue()]:$docTitle->getValue(); + } + elseif(!is_null($docTitle)) { + $title = (string)$docTitle; + } + } + + $this->title = null; + + if(is_string($title)) { + $this->title = $title; + } + elseif(is_array($title) && count($title) == 1) { + $this->title = [ "@language" => key($title), "@value" => current($title)]; + } + elseif(is_array($title)) { + $this->title = array_reduce(array_keys($title),function($res, $k) use ($title) { + array_push($res, ["@language" => $k, "@value" => $title[$k]]); + return $res; + }, []); + } + + $this->resJSON['meta'] = [ + 'dc:creator' => config('corpusparole.transcript_default_creator'), + 'dc:contributor' => config('corpusparole.transcript_default_creator'), + 'dc:created' => $this->creationDate, + 'dc:modified' => $this->creationDate, + 'dc:title' => $this->title + ]; + } + + // get document title + public function getSourceTitle() { + return null; + } + + // add media + public function buildMedias() { + + $medias = []; + + $i = 1; + foreach($this->document->getMediaArray() as $documentMedia) + { + if(0 !== strpos($documentMedia['format'], 'audio/')) { + continue; + } + + $mId = $this->document->getId()."_m$i"; + $i++; + if(is_null($this->mediaRefId) || $documentMedia['master']) { + $this->mediaRefId = $mId; + } + array_push($medias, [ + 'id' => $mId, + 'origin' => 0, + 'unit' => 'ms', + 'url' => $documentMedia['url'], + 'meta' => [ + 'dc:duration' => $documentMedia['extent_ms'], + 'dc:title' => $this->title, + 'dc:format' => $documentMedia['format'], + 'corpus:master' => filter_var($documentMedia['master'], FILTER_VALIDATE_BOOLEAN) + ] + ]); + } + + return $medias; + + } + + public function getMediaRefId() { + return $this->mediaRefId; + } + + public abstract function parseSource(); + + // add resources + public function buildResources() { + return []; + } + + // add lists + public function buildLists() { + return []; + } + + // add annotation types + public function buildAnnotationTypes() { + return []; + } + + // add annotations + public abstract function buildAnnotations(); + + protected function buildTextvalue($text, $language) { + if(empty($language)) { + return $text; + } else { + return ['@value' => $text, '@language' => $language]; + } + } + + /** + * Convert xml to json. + * return an PHP array ready for serialization + */ + function convertToJson() { + + $this->addHeaderMeta(); + + $this->resJSON['medias'] = $this->buildMedias(); + + $this->parseSource(); + + $this->resJSON['resources'] = $this->buildResources(); + $this->resJSON['lists'] = $this->buildLists(); + $this->resJSON['annotation-types'] = $this->buildAnnotationTypes(); + $this->resJSON['annotations'] = $this->buildAnnotations(); + + return $this->resJSON; + } + +} \ No newline at end of file diff -r 5f011170de74 -r a6cf5a06f02d server/src/app/Libraries/Transcript/TranscriptConverterInterface.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/Transcript/TranscriptConverterInterface.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,37 @@ +=5.3.9" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5.0" + "phpunit/phpunit": "^4.8 || ^5.0" }, "type": "library", "extra": { @@ -2671,7 +2672,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD" + "BSD-3-Clause-Attribution" ], "authors": [ { @@ -2681,13 +2682,12 @@ } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "homepage": "http://github.com/vlucas/phpdotenv", "keywords": [ "dotenv", "env", "environment" ], - "time": "2015-12-29 15:10:30" + "time": "2016-04-15 10:48:49" } ], "packages-dev": [ @@ -2747,16 +2747,16 @@ }, { "name": "fabpot/php-cs-fixer", - "version": "v1.11.2", + "version": "v1.11.3", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "41f70154642ec0f9ea9ea9c290943f3b5dfa76fc" + "reference": "b0a383d856d884d6b16e15892f507ecf89f8dbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/41f70154642ec0f9ea9ea9c290943f3b5dfa76fc", - "reference": "41f70154642ec0f9ea9ea9c290943f3b5dfa76fc", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/b0a383d856d884d6b16e15892f507ecf89f8dbd2", + "reference": "b0a383d856d884d6b16e15892f507ecf89f8dbd2", "shasum": "" }, "require": { @@ -2797,37 +2797,34 @@ } ], "description": "A tool to automatically fix PHP code style", - "time": "2016-02-26 07:37:29" + "abandoned": "friendsofphp/php-cs-fixer", + "time": "2016-05-26 23:49:24" }, { "name": "fzaninotto/faker", - "version": "v1.5.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "d0190b156bcca848d401fb80f31f504f37141c8d" + "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d0190b156bcca848d401fb80f31f504f37141c8d", - "reference": "d0190b156bcca848d401fb80f31f504f37141c8d", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123", + "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3.3|^7.0" }, "require-dev": { + "ext-intl": "*", "phpunit/phpunit": "~4.0", "squizlabs/php_codesniffer": "~1.5" }, - "suggest": { - "ext-intl": "*" - }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.5.x-dev" - } + "branch-alias": [] }, "autoload": { "psr-4": { @@ -2849,7 +2846,7 @@ "faker", "fixtures" ], - "time": "2015-05-29 06:29:14" + "time": "2016-04-29 12:21:54" }, { "name": "hamcrest/hamcrest-php", @@ -2905,12 +2902,12 @@ "source": { "type": "git", "url": "https://github.com/padraic/mockery.git", - "reference": "60dcf1a0fe131a5c14350af07f7bc4ace02efbef" + "reference": "ad31ff997d983e0d5d60ac80cfcedcbb4e6c4461" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/padraic/mockery/zipball/60dcf1a0fe131a5c14350af07f7bc4ace02efbef", - "reference": "60dcf1a0fe131a5c14350af07f7bc4ace02efbef", + "url": "https://api.github.com/repos/padraic/mockery/zipball/ad31ff997d983e0d5d60ac80cfcedcbb4e6c4461", + "reference": "ad31ff997d983e0d5d60ac80cfcedcbb4e6c4461", "shasum": "" }, "require": { @@ -2962,20 +2959,20 @@ "test double", "testing" ], - "time": "2016-04-15 13:15:13" + "time": "2016-05-03 10:17:25" }, { "name": "myclabs/deep-copy", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "e3abefcd7f106677fd352cd7c187d6c969aa9ddc" + "reference": "a8773992b362b58498eed24bf85005f363c34771" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e3abefcd7f106677fd352cd7c187d6c969aa9ddc", - "reference": "e3abefcd7f106677fd352cd7c187d6c969aa9ddc", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/a8773992b362b58498eed24bf85005f363c34771", + "reference": "a8773992b362b58498eed24bf85005f363c34771", "shasum": "" }, "require": { @@ -3004,7 +3001,7 @@ "object", "object graph" ], - "time": "2015-11-07 22:20:37" + "time": "2015-11-20 12:04:31" }, { "name": "phpdocumentor/reflection-docblock", @@ -3231,16 +3228,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "3.3.1", + "version": "3.3.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2431befdd451fac43fbcde94d1a92fb3b8b68f86" + "reference": "44cd8e3930e431658d1a5de7d282d5cb37837fd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2431befdd451fac43fbcde94d1a92fb3b8b68f86", - "reference": "2431befdd451fac43fbcde94d1a92fb3b8b68f86", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/44cd8e3930e431658d1a5de7d282d5cb37837fd5", + "reference": "44cd8e3930e431658d1a5de7d282d5cb37837fd5", "shasum": "" }, "require": { @@ -3290,7 +3287,7 @@ "testing", "xunit" ], - "time": "2016-04-08 08:14:53" + "time": "2016-05-27 16:24:29" }, { "name": "phpunit/php-file-iterator", @@ -3382,21 +3379,24 @@ }, { "name": "phpunit/php-timer", - "version": "1.0.7", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "phpunit/phpunit": "~4|~5" + }, "type": "library", "autoload": { "classmap": [ @@ -3419,7 +3419,7 @@ "keywords": [ "timer" ], - "time": "2015-06-21 08:01:12" + "time": "2016-05-12 18:03:57" }, { "name": "phpunit/php-token-stream", @@ -3472,16 +3472,16 @@ }, { "name": "phpunit/phpunit", - "version": "5.3.2", + "version": "5.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "2c6da3536035617bae3fe3db37283c9e0eb63ab3" + "reference": "00dd95ffb48805503817ced06399017df315fe5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2c6da3536035617bae3fe3db37283c9e0eb63ab3", - "reference": "2c6da3536035617bae3fe3db37283c9e0eb63ab3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/00dd95ffb48805503817ced06399017df315fe5c", + "reference": "00dd95ffb48805503817ced06399017df315fe5c", "shasum": "" }, "require": { @@ -3543,20 +3543,20 @@ "testing", "xunit" ], - "time": "2016-04-12 16:20:08" + "time": "2016-05-11 13:28:45" }, { "name": "phpunit/phpunit-mock-objects", - "version": "3.1.2", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "7c34c9bdde4131b824086457a3145e27dba10ca1" + "reference": "151c96874bff6fe61a25039df60e776613a61489" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/7c34c9bdde4131b824086457a3145e27dba10ca1", - "reference": "7c34c9bdde4131b824086457a3145e27dba10ca1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/151c96874bff6fe61a25039df60e776613a61489", + "reference": "151c96874bff6fe61a25039df60e776613a61489", "shasum": "" }, "require": { @@ -3599,7 +3599,7 @@ "mock", "xunit" ], - "time": "2016-03-24 05:58:25" + "time": "2016-04-20 14:39:26" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -3764,16 +3764,16 @@ }, { "name": "sebastian/environment", - "version": "1.3.5", + "version": "1.3.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf" + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf", - "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716", + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716", "shasum": "" }, "require": { @@ -3810,7 +3810,7 @@ "environment", "hhvm" ], - "time": "2016-02-26 18:40:46" + "time": "2016-05-17 03:18:57" }, { "name": "sebastian/exporter", @@ -4115,7 +4115,7 @@ }, { "name": "symfony/css-selector", - "version": "v3.0.4", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -4168,16 +4168,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v3.0.4", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "18a06d7a9af41718c20764a674a0ebba3bc40d1f" + "reference": "49b588841225b205700e5122fa01911cabada857" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/18a06d7a9af41718c20764a674a0ebba3bc40d1f", - "reference": "18a06d7a9af41718c20764a674a0ebba3bc40d1f", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/49b588841225b205700e5122fa01911cabada857", + "reference": "49b588841225b205700e5122fa01911cabada857", "shasum": "" }, "require": { @@ -4220,20 +4220,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2016-03-23 13:23:25" + "time": "2016-04-12 18:09:53" }, { "name": "symfony/filesystem", - "version": "v3.0.4", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "f82499a459dcade2ea56df94cc58b19c8bde3d20" + "reference": "74fec3511b62cb934b64bce1d96f06fffa4beafd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/f82499a459dcade2ea56df94cc58b19c8bde3d20", - "reference": "f82499a459dcade2ea56df94cc58b19c8bde3d20", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/74fec3511b62cb934b64bce1d96f06fffa4beafd", + "reference": "74fec3511b62cb934b64bce1d96f06fffa4beafd", "shasum": "" }, "require": { @@ -4269,11 +4269,11 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2016-03-27 10:24:39" + "time": "2016-04-12 18:09:53" }, { "name": "symfony/stopwatch", - "version": "v3.0.4", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -4322,7 +4322,7 @@ }, { "name": "symfony/yaml", - "version": "v3.0.4", + "version": "v3.0.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", diff -r 5f011170de74 -r a6cf5a06f02d server/src/config/corpusparole.php --- a/server/src/config/corpusparole.php Thu May 12 11:19:26 2016 +0200 +++ b/server/src/config/corpusparole.php Sat May 28 11:49:38 2016 +0200 @@ -168,6 +168,8 @@ 'handle_admin_id' => env('HANDLE_ADMIN_ID'), 'handle_prefix' => env('HANDLE_PREFIX'), 'handle_cert_or_pkey' => env('HANDLE_CERT_OR_PKEY'), - 'handle_password' => env('HANDLE_PASSWORD') + 'handle_password' => env('HANDLE_PASSWORD'), + + 'transcript_default_creator' => 'Corpus de la Parole', ]; diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/LacitoTranscriptConverterTest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/LacitoTranscriptConverterTest.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,133 @@ +graph = new EasyRdf\Graph(config('corpusparole.corpus_doc_id_base_uri')."crdo-UVE_MOCIKA_SOUND", $graphContent); + $this->doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-UVE_MOCIKA_SOUND", $this->graph); + + $this->transcriptSource = new DOMDocument(); + $this->transcriptSource->load(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".xml", LIBXML_NOCDATA); + + $this->transcriptSourceSpeaker = new DOMDocument(); + $this->transcriptSourceSpeaker->load(__DIR__ . DIRECTORY_SEPARATOR ."crdo-FRA_PK_IV_10.xml", LIBXML_NOCDATA); + + $this->transcriptSourceNoContent = new DOMDocument(); + $this->transcriptSourceNoContent->load(__DIR__ . DIRECTORY_SEPARATOR ."crdo-FSL-CUC023.xml", LIBXML_NOCDATA); + + } + + public function getMockConverter(...$contructorArgs) { + return new LacitoTranscriptConverter(...$contructorArgs); + } + + + public function testConstructor() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + $this->assertNotnull($json); + } + + public function testGetSourceTitle() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $titles = $converter->getSourceTitle(); + + $this->assertEquals(['en' => 'The two hermit crabs and the coconut crab', 'fr' => "Les deux bernard-l'hermite et le crabe de cocotier"], $titles, "Titles must come from the xml file"); + } + + public function testBuildAnnotations() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $annotations = $converter->buildAnnotations(); + + $this->assertCount(32, $annotations, "Must have 32 annotation"); + foreach($annotations as $i => $a) { + $this->assertArrayHasKey('begin', $a, "Must have begin key"); + $this->assertArrayHasKey('end', $a, "Must have begin key"); + $this->assertTrue($a['begin']<$a['end'], "Begin is < to endP"); + $this->assertEquals($this->doc->getId()."_a".sprintf("%03s",($i+1)), $a['id']); + $this->assertEquals($converter->getMediaRefId(), $a['media']); + $this->assertArrayHasKey('content', $a, "must have content"); + $this->assertTrue(is_array($a['content'])); + $this->assertArrayHasKey('mimetype', $a['content']); + $this->assertEquals('application/json', $a['content']['mimetype']); + $this->assertArrayHasKey('data', $a['content']); + $this->assertTrue(is_array($a['content']['data'])); + } + } + + + public function testBuildAnnotationsContent() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $annotations = $converter->buildAnnotations(); + + foreach($annotations as $i => $a) { + $data = $a['content']['data']; + $this->assertArrayNotHasKey('speaker', $data, "No spreaker in data for this source"); + $this->assertArrayHasKey('content', $data, "data has content"); + $this->assertNotEmpty($data['content'], "content not empty"); + $this->arrayHasKey('transl', $data, 'data has translation'); + $this->assertTrue(is_array($data['transl']), 'data transl is array'); + $this->assertArrayHasKey('@value', $data['transl'], 'dats transl has @value key'); + $this->assertArrayHasKey('@language', $data['transl'], 'dats transl has @language key'); + + $this->assertArrayHasKey('words', $data, 'data has words'); + $this->assertNotEmpty($data['words'], "words are not empty"); + foreach($data['words'] as $w) { + $this->assertTrue(is_array($w), 'words are array'); + $this->assertArrayHasKey('content', $w, "words have content"); + $this->assertNotEmpty($w['content'], "words have non empty content"); + $this->assertArrayHasKey('transl', $w, "words have transl"); + $this->assertArrayHasKey('@value', $w['transl'], 'words transl has @value key'); + $this->assertArrayHasKey('@language', $w['transl'], 'words transl has @language key'); + } + } + } + + + public function testBuildAnnotationsSpeaker() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSourceSpeaker); + $annotations = $converter->buildAnnotations(); + foreach($annotations as $i => $a) { + $data = $a['content']['data']; + $this->assertArrayHasKey('speaker', $data, 'annotation must have speaker'); + $this->assertArrayNotHasKey('words', $data, 'No words in data here'); + } + } + + public function testBuildAnnotationsSpeakerTitle() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSourceSpeaker); + $this->assertNull($converter->getSourceTitle(), "Title is not on source"); + } + + public function testBuildAnnotationsNoContent() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSourceNoContent); + $annotations = $converter->buildAnnotations(); + foreach($annotations as $i => $a) { + $data = $a['content']['data']; + $this->assertArrayNotHasKey('words', $data, 'No words in data here'); + $this->assertArrayNotHasKey('content', $data, 'No content in data here'); + $this->arrayHasKey('transl', $data, 'data has translation'); + $this->assertTrue(is_array($data['transl']), 'data transl is array'); + $this->assertArrayHasKey('@value', $data['transl'], 'dats transl has @value key'); + $this->assertArrayHasKey('@language', $data['transl'], 'dats transl has @language key'); + } + } + + + public function tearDown() { + m::close(); + } + +} diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/TranscriberTranscriptConverterTest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/TranscriberTranscriptConverterTest.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,297 @@ +graph = new EasyRdf\Graph(config('corpusparole.corpus_doc_id_base_uri').self::TEST_DOC_BASE, $graphContent); + $this->doc = new Document(config('corpusparole.corpus_doc_id_base_uri').self::TEST_DOC_BASE, $this->graph); + + $this->transcriptSource = new DOMDocument(); + $this->transcriptSource->load(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".xml", LIBXML_NOCDATA|LIBXML_NOBLANKS); + + } + + public function getMockConverter(...$contructorArgs) { + return new TranscriberTranscriptConverter(...$contructorArgs); + } + + + public function testConstructor() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + $this->assertNotnull($json); + } + + public function testBuildResources() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + + $this->assertArrayHasKey('resources', $json, 'res must have resources'); + $resources = $json['resources']; + $this->assertTrue(is_array($resources), "resources must be an array"); + $this->assertCount(2, $resources,"Must have 2 resources"); + $this->assertEquals( + ['topics', 'speakers'], + array_reduce( + $resources, + function($res, $r) { + array_push($res,$r['id']); + return $res; + }, + [] + ) + ); + } + + function testBuildResourcesTopics() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + $resources = $json['resources']; + + $topicsDef = null; + foreach($resources as $resdef) { + if($resdef['id'] === 'topics') { + $topicsDef = $resdef; + } + } + + $this->assertNotNull($topicsDef, "One of the resources ids must be topics"); + $this->assertTrue(is_array($topicsDef), "must be an array"); + $this->assertArrayHasKey('id', $topicsDef, 'Topicsdef must ha an id'); + $this->assertEquals('topics', $topicsDef['id'], 'id must be topics'); + $this->assertArrayHasKey('content', $topicsDef, 'Topicsdef must ha a content'); + $content = $topicsDef['content']; + $this->assertTrue(is_array($content), "content must be an array"); + $this->assertArrayHasKey('mimetype', $content, 'content must have a mimetype'); + $this->assertEquals('application/json', $content['mimetype'], 'mimetype is json'); + $this->assertArrayHasKey('data', $content, "contant has data"); + $data = $content['data']; + $this->assertNotNull($data, "data is not null"); + $this->assertTrue(is_array($data), "data is an array"); + $this->assertCount(23, $data, "Must have 23 topics"); + foreach($data as $topic) { + $this->assertTrue(is_array($topic), "topic is an array"); + $this->assertArrayHasKey('id', $topic, "topic has an id"); + $this->assertRegExp("/^11280\.100\/crdo-CFPP2000_11_SOUND_tpc\d{3}$/", $topic['id'], "id should match"); + $this->assertArrayHasKey('desc', $topic, "topic must have desc"); + $this->assertNotEmpty($topic['desc'], "description is not empty"); + } + + } + + function testBuildResourcesSpeakers() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + $resources = $json['resources']; + + $speakersDef = null; + foreach($resources as $resdef) { + if($resdef['id'] === 'speakers') { + $speakersDef = $resdef; + } + } + + $this->assertNotNull($speakersDef, "One of the resources ids must be speakers"); + $this->assertTrue(is_array($speakersDef), "must be an array"); + $this->assertArrayHasKey('id', $speakersDef, 'Speakersdef must ha an id'); + $this->assertEquals('speakers', $speakersDef['id'], 'id must be speakers'); + $this->assertArrayHasKey('content', $speakersDef, 'Speakersdef must ha a content'); + $content = $speakersDef['content']; + $this->assertTrue(is_array($content), "content must be an array"); + $this->assertArrayHasKey('mimetype', $content, 'content must have a mimetype'); + $this->assertEquals('application/json', $content['mimetype'], 'mimetype is json'); + $this->assertArrayHasKey('data', $content, "contant has data"); + $data = $content['data']; + $this->assertNotNull($data, "data is not null"); + $this->assertTrue(is_array($data), "data is an array"); + $this->assertCount(6, $data, "Must have 23 speakers"); + foreach($data as $speaker) { + $this->assertTrue(is_array($speaker), "speaker is an array"); + $this->assertArrayHasKey('id', $speaker, "speaker has an id"); + $this->assertRegExp("/^11280\.100\/crdo-CFPP2000_11_SOUND_spkr\d{3}$/", $speaker['id'], "id should match"); + $this->assertArrayHasKey('name', $speaker, "speaker must have name"); + $this->assertNotEmpty($speaker['name'], "name is not empty"); + } + + } + + public function testBuildLists() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $converter->parseSource(); + $lists = $converter->buildLists(); + + $this->assertCount(23, $lists, "Must have 23 lists (sections)"); + foreach($lists as $listIndex => $list) { + $this->assertArrayHasKey('id', $list, "list must have an id"); + $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_sctn'.sprintf("%03d", $listIndex+1), $list['id'], "Id must be formatted"); + $this->assertArrayHasKey('meta', $list, "list must have meta"); + $metaKeys = array_keys($list['meta']); + sort($metaKeys); + $this->assertEquals(['corpus:begin', 'corpus:end', 'corpus:topic'], $metaKeys, "meta contains topic begin end"); + $this->assertTrue($list['meta']['corpus:begin']<$list['meta']['corpus:end'], "begin < end"); + $this->assertTrue(is_array($list['meta']['corpus:topic']), "topic is an array"); + $this->assertEquals(['id-ref'], array_keys(($list['meta']['corpus:topic'])), "topic is a ref"); + $this->assertRegExp("/11280\.100\/crdo-CFPP2000_11_SOUND_tpc\d+/", $list['meta']['corpus:topic']['id-ref'], "must match format"); + $this->assertArrayHasKey('items', $list, "List has items"); + $this->assertTrue(is_array($list['items'])); + $this->assertNotEmpty($list['items'], "items not empty"); + foreach($list['items'] as $item) { + $this->assertTrue(is_array($item), 'item is array'); + $this->assertEquals(['id-ref'], array_keys($item), "item is a ref"); + $this->assertRegExp('/11280\.100\/crdo-CFPP2000_11_SOUND_trn\d+/', $item['id-ref'], "Item is a turn"); + } + } + + } + + public function testBuildListsFirst() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $converter->parseSource(); + $lists = $converter->buildLists(); + + $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_sctn001', $lists[0]['id'], 'lists count must start by 1'); + $this->assertCount(76, $lists[0]['items'], "First list must have 76 elements"); + } + + public function testBuildAnnotationTypes() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $converter->parseSource(); + $annotationTypes = $converter->buildAnnotationTypes(); + + $this->assertCount(683, $annotationTypes, "Must have 683 annotation types (turns)"); + foreach($annotationTypes as $i => $turn) { + $this->assertTrue(is_array($turn), "turn must be an array"); + $turnKeys = array_keys($turn); + sort($turnKeys); + $this->assertEquals(['corpus:begin', 'corpus:end', 'dc:title', 'id'], $turnKeys, "turn must have an id, etc..."); + $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_trn'.sprintf("%04d", $i+1), $turn['id'], "Id must be formatted"); + $this->assertTrue($turn['corpus:begin']<$turn['corpus:end'], "begin < end"); + $this->assertEquals('Turn '.($i+1),$turn['dc:title'], 'title must be Turn ...'); + } + } + + public function testBuildAnnotations() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + $annotations = $converter->buildAnnotations(); + + $this->assertCount(1056, $annotations, "Must have 1056 annotation"); + foreach($annotations as $i => $a) { + $this->assertArrayHasKey('id', $a, "Must have id"); + $this->assertEquals($this->doc->getId()."_a".sprintf("%04d",$i+1), $a['id']); + + $this->assertArrayHasKey('media', $a, "Must have media"); + $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_m1', $a['media'], 'must be media m1 for annotation '.$a['id']); + + $this->assertArrayHasKey('begin', $a, "Must have begin key"); + $this->assertArrayHasKey('end', $a, "Must have begin key"); + $this->assertTrue($a['begin']<$a['end'], "Begin is < to end"); + $this->assertEquals($converter->getMediaRefId(), $a['media']); + $this->assertArrayHasKey('content', $a, "must have content"); + $this->assertTrue(is_array($a['content'])); + $this->assertArrayHasKey('mimetype', $a['content']); + $this->assertEquals('application/json', $a['content']['mimetype']); + $this->assertArrayHasKey('data', $a['content']); + $this->assertTrue(is_array($a['content']['data'])); + + $this->assertArrayHasKey('type', $a, "annotation have type"); + $this->assertRegExp('/11280\.100\/crdo-CFPP2000_11_SOUND_trn\d+/', $a['type'], "annotation have type"); + $this->assertArrayHasKey('meta', $a, "annotation have meta"); + $this->assertTrue(is_array($a['meta']), "Meta is array"); + $this->assertArrayHasKey('id-ref', $a['meta'], "meta has id-ref"); + $this->assertEquals($a['type'],$a['meta']['id-ref'], 'annotation type and meta id-ref are equals'); + } + } + + public function testBuildAnnotationsContent() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $converter->parseSource(); + $annotations = $converter->buildAnnotations(); + + foreach($annotations as $i => $a) { + $data = $a['content']['data']; + $this->assertNotEmpty($data, "Must have data"); + $this->assertArrayHasKey('speaker', $data, "data must have speaker"); + $this->assertArrayHasKey('content', $data, "data must have content"); + $this->assertTrue(is_string($data['content']), "Content is string here"); + $this->assertEquals(trim($data['content']), $data['content'], 'Content is trimmed'); + } + } + + public function testBuildAnnotationsSimple() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $converter->parseSource(); + $annotations = array_filter($converter->buildAnnotations(), function($a) { return $a['type'] == '11280.100/crdo-CFPP2000_11_SOUND_trn0002'; }); + $this->assertCount(1, $annotations, "Must have one annotation"); + $annot = $annotations[0]; + $this->assertEquals("11280.100/crdo-CFPP2000_11_SOUND_spkr006", $annot['content']['data']['speaker']['id-ref']); + $this->assertEquals("animaux d'ferme + à l'Ile Saint-Denis", $annot['content']['data']['content']); + $this->assertEquals(63, $annot['begin'], "Must start at 63 ms"); + $this->assertEquals(1396, $annot['end'], "Must start at 1396 ms"); + $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_a0001', $annot['id'], 'id must be 11280.100\/crdo-CFPP2000_11_SOUND_a0001'); + $this->assertEquals('11280.100/crdo-CFPP2000_11_SOUND_trn0002', $annot['meta']['id-ref']); + + } + + public function testBuildAnnotationMultipleSpeaker() { + + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + + $annotations = array_values(array_filter($converter->buildAnnotations(), function($a) { return $a['type'] == '11280.100/crdo-CFPP2000_11_SOUND_trn0003'; })); + + $this->assertCount(2, $annotations, "Must have 2 annotation"); + $expectedAnnotations = [ + ['begin' => 1396, 'end' => 4866, 'content' => "eh: j'ai connu les chevaux encore sur euh le les Champs-Elysées hein", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr001"], + ['begin' => 1396, 'end' => 4866, 'content' => "j'ai une amie tous les jeudis elle allait à la X", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr002"], + ]; + for($i=0; $i<2; $i++) { + $expAnnot = $expectedAnnotations[$i]; + $annot = $annotations[$i]; + $this->assertEquals($expAnnot['begin'], $annot['begin'], 'same begin'); + $this->assertEquals($expAnnot['end'], $annot['end'], 'same end'); + $this->assertEquals($expAnnot['content'], $annot['content']['data']['content'], "must have same content"); + $this->assertEquals($expAnnot['speaker'], $annot['content']['data']['speaker']['id-ref'], "must have same speaker"); + } + } + + public function testBuildAnnotationMultipleSync() { + + $converter = $this->getMockConverter($this->doc, $this->transcriptSource); + $json = $converter->convertToJson(); + + $annotations = array_values(array_filter($converter->buildAnnotations(), function($a) { return $a['type'] == '11280.100/crdo-CFPP2000_11_SOUND_trn0082'; })); + $this->assertCount(4, $annotations, "Must have 4 annotation"); + $expectedAnnotations = [ + ['begin' => 301456, 'end' => 307878, 'content' => "savez c'est les trois immeubles: qui s'en vont euh j'sais pas s'ils existent encore j'en sais rien", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr001"], + ['begin' => 301456, 'end' => 307878, 'content' => "ah oui + oui oui ++ euh: non ils ont X été abattus", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr004"], + ['begin' => 307878, 'end' => 314289, 'content' => "ah bon + bien dommage bien dommage parce qu'ils étaient b- ils étaient beaux ces logements ah ils étaient beaux ces logements hein", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr001"], + ['begin' => 307878, 'end' => 314289, 'content' => "oui parce qu'ils construisent là X oui moi j'connaissais des gens là aussi + dans ces bâtiments", 'speaker' => "11280.100/crdo-CFPP2000_11_SOUND_spkr004"], + ]; + for($i=0; $i<2; $i++) { + $expAnnot = $expectedAnnotations[$i]; + $annot = $annotations[$i]; + $this->assertEquals($expAnnot['begin'], $annot['begin'], 'same begin'); + $this->assertEquals($expAnnot['end'], $annot['end'], 'same end'); + $this->assertEquals($expAnnot['content'], $annot['content']['data']['content'], "must have same content"); + $this->assertEquals($expAnnot['speaker'], $annot['content']['data']['speaker']['id-ref'], "must have same speaker"); + } + } + + public function tearDown() { + m::close(); + } + +} diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/TranscriptConverterBaseTest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/TranscriptConverterBaseTest.php Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,163 @@ +graph = new EasyRdf\Graph(config('corpusparole.corpus_doc_id_base_uri')."crdo-UVE_MOCIKA_SOUND", $graphContent); + $this->doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-UVE_MOCIKA_SOUND", $this->graph); + + $this->transcriptSource = simplexml_load_file(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".xml"); + } + + public function getMockConverter(...$contructorArgs) { + return m::mock("CorpusParole\Libraries\Transcript\TranscriptConverterBase", $contructorArgs) + ->shouldReceive('parseSource') + ->andReturn(null) + ->shouldReceive('buildAnnotations') + ->andReturn([]); + } + + + public function testConstructor() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); + $json = $converter->convertToJson(); + $this->assertNotnull($json); + } + + public function testHeaderMeta() { + $datetime = (new DateTime())->format(DateTime::ATOM); + $converter = $this->getMockConverter($this->doc, $this->transcriptSource, $datetime)->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + $this->assertArrayHasKey('format', $resJson, 'Must have format key'); + $this->assertEquals('http://advene.org/ns/cinelab/', $resJson['format'], 'Format key must be http://advene.org/ns/cinelab/'); + $this->assertArrayHasKey('@context', $resJson, 'Must have @context key'); + $this->assertEquals( + [ + "dc" => "http://purl.org/dc/elements/1.1/", + "corpus" => "http://corpusdelaparole.huma-num.fr/ns/corpus#" + ], + $resJson['@context'], + "array must contains dc and corpus declaration" + ); + $this->assertArrayHasKey('meta', $resJson, 'Must have meta declaration'); + $meta = $resJson['meta']; + $this->assertTrue(is_array($meta), 'meta is an array'); + + $this->assertArrayHasKey('dc:creator', $meta, "meta must have dc:creator key"); + $this->assertEquals(config('corpusparole.transcript_default_creator'), $meta['dc:creator'], "dc:creator must be ".config('corpusparole.transcript_default_creator')); + $this->assertArrayHasKey('dc:contributor', $meta, "meta must have dc:contributor key"); + $this->assertEquals(config('corpusparole.transcript_default_creator'), $meta['dc:contributor'], "dc:contributor must be ".config('corpusparole.transcript_default_creator')); + $this->assertArrayHasKey('dc:created', $meta, "meta must have dc:created key"); + $this->assertEquals($datetime, $meta["dc:created"], "meta created time mus be $datetime"); + $this->assertArrayHasKey('dc:modified', $meta, "meta must have dc:modified key"); + $this->assertEquals($datetime, $meta["dc:modified"], "meta modified time mus be $datetime"); + + $this->assertArrayHasKey('dc:title', $meta, "meta must have dc:title key"); + $this->assertTrue(is_array($meta['dc:title']), 'meta title is an array'); + $this->assertCount(2, $meta['dc:title'], 'meta title array has 2 elements'); + $this->assertArrayHasKey('@language', $meta['dc:title'], "meta title must have @language key"); + $this->assertArrayHasKey('@value', $meta['dc:title'], "meta title must have @value key"); + $this->assertEquals('en', $meta['dc:title']['@language'], "meta title language must be en"); + $this->assertEquals('The two hermit crabs and the coconut crab', $meta['dc:title']['@value'], "meta title value must be the Two hermit crabs and the coconut crab"); + } + + public function testHeaderMetaTitleOverrideString() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->shouldReceive("getSourceTitle")->andReturn("The two hermit crabs and the coconut crab")->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + + $meta = $resJson['meta']; + $this->assertArrayHasKey('dc:title', $meta, "meta must have dc:title key"); + $this->assertTrue(is_string($meta['dc:title']), 'meta title is a string'); + $this->assertEquals('The two hermit crabs and the coconut crab', $meta['dc:title'], "meta title value must be the Two hermit crabs and the coconut crab"); + + } + + public function testHeaderMetaTitleOverrideLanguageMap() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->shouldReceive("getSourceTitle")->andReturn(['en' => "The two hermit crabs and the coconut crab", "fr" => 'Les deux bernard-l\'hermite et le crabe de cocotier'])->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + + $meta = $resJson['meta']; + $this->assertArrayHasKey('dc:title', $meta, "meta must have dc:title key"); + $this->assertTrue(is_array($meta['dc:title']), 'meta title is an array'); + $this->assertCount(2, $meta['dc:title'], "title must be an array of size 2"); + $this->assertEquals(["@language" => 'en', '@value' => 'The two hermit crabs and the coconut crab'], $meta['dc:title'][0], "meta title value must be the Two hermit crabs and the coconut crab"); + $this->assertEquals(["@language" => 'fr', '@value' => 'Les deux bernard-l\'hermite et le crabe de cocotier'], $meta['dc:title'][1], "meta title value must be the Les deux bernard-l\'hermite et le crabe de cocotier"); + } + + public function testMedias() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + + $this->assertArrayHasKey('medias', $resJson, "Must have a medias field"); + $this->assertTrue(is_array($resJson['medias']), 'media is an array'); + } + + public function testMediasContent() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + + $medias = $resJson['medias']; + + $this->assertCount(3, $medias, "Should have 3 media"); + $this->assertCount(3, array_filter($medias, function($m) { + return array_key_exists('meta', $m) && + array_key_exists('url', $m) && + array_key_exists('origin', $m) && + array_key_exists('unit', $m) && + array_key_exists('id', $m) ; }), "all media must have url, id, origin, unit, meta key"); + + $this->assertCount(1, array_filter($medias, function($m) { return array_key_exists('corpus:master', $m['meta'])?$m['meta']['corpus:master']:false; }), "should have at least 1 master"); + + } + + public function testMediasContentDetail() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + + $medias = $resJson['medias']; + foreach($medias as $m) { + $this->assertEquals(0, $m['origin'], "Origin must be 0"); + $this->assertEquals('ms', $m['unit'], "unit must be ms"); + $this->assertStringStartsWith('http', $m['url'], "urls must be string and start with http"); + $this->assertRegExp('/^11280\\.100\\/crdo-UVE_MOCIKA_SOUND_m\d+$/', $m['id'], "id must start with 11280.100\/crdo-UVE_MOCIKA_SOUND_m"); + $this->assertArrayHasKey('meta', $m, "Media def must have a meta"); + $mediaMeta = $m['meta']; + $this->assertArrayHasKey('dc:duration', $mediaMeta, "media meta must have duration"); + $this->assertEquals(155000, $mediaMeta['dc:duration'], "media meta duration is 1555000 ms"); + $this->assertArrayHasKey('dc:title', $mediaMeta, "Media meta mus have title"); + $this->assertEquals(["@language" => 'en', "@value" => "The two hermit crabs and the coconut crab"], $mediaMeta['dc:title'], "media meta title is ..."); + $this->assertArrayHasKey('dc:format', $mediaMeta, 'media meta has dc:format'); + $this->assertStringStartsWith('audio/', $mediaMeta['dc:format'], "media meta dc:format starts with audio"); + } + } + + public function testOtherNodes() { + $converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); + $resJson = $converter->convertTojson(); + + $this->assertArrayHasKey('resources', $resJson, 'res must have resources'); + $this->assertEquals([], $resJson['resources'], 'Resources must be empty array'); + $this->assertArrayHasKey('lists', $resJson, 'res must have lists'); + $this->assertEquals([], $resJson['lists'], 'Lists must be empty array'); + $this->assertArrayHasKey('annotation-types', $resJson, 'res must have annotation-types'); + $this->assertEquals([], $resJson['annotation-types'], 'Annotation types must be empty array'); + $this->assertArrayHasKey('annotations', $resJson, 'res must have annotations'); + $this->assertEquals([], $resJson['annotations'], 'Annotations must be empty array'); + } + + public function tearDown() { + m::close(); + } + +} diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/crdo-CFPP2000_11_SOUND.ttl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/crdo-CFPP2000_11_SOUND.ttl Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,77 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sesame: . +@prefix owl: . +@prefix xsd: . +@prefix fn: . + + a ; + ; + "Langage et langues : description, théorisation, transmission" ; + , , ; + ; + ; + "Corpus de la Parole"@fr ; + . + + a ; + "audio/x-wav"^^ ; + "Freely available for non-commercial use" ; + "2008-04-28"^^ ; + "PT45M52S" ; + "2013-04-23T21:40:30+02:00"^^ ; + . + + a ; + "audio/mpeg"^^ ; + "Freely available for non-commercial use" ; + "2008-04-28"^^ ; + "PT45M52S" ; + "2013-04-23T21:40:30+02:00"^^ ; + ; + . + + a ; + "audio/x-wav"^^ ; + "Freely available for non-commercial use" ; + "2008-04-28"^^ ; + "PT45M52S" ; + "2013-04-23T21:40:30+02:00"^^ ; + ; + . + + a ; + "Freely available for non-commercial use" ; + "2008-04-28"^^ ; + "PT45M52S" ; + "2013-04-23T21:40:30+02:00"^^ ; + ; + , "Liotard, Louise" , "Mallet, Jeane" , "Pires, Mat" , "Verlinde, Agnès" ; + "Enregistrement issu du Corpus de Français Parlé Parisien des années 2000 (CFPP2000)"@fr , "Quartier concerné : Saint-Ouen;"@fr ; + "Cote producteur: SO-01"@fr , "11280.100/crdo-CFPP2000_11_SOUND" , "ark:/87895/1.17-344490" , "oai:crdo.vjf.cnrs.fr:crdo-CFPP2000_11_SOUND" , "ark:/87895/1.17-369543" , "oai:crdo.vjf.cnrs.fr:crdo-CFPP2000_11" ; + ; + "Langage et langues : description, théorisation, transmission" ; + , , , "anthropological_linguistics"^^ , "lexicography"^^ , "phonetics"^^ , , , , , , , "general_linguistics"^^ , , , "text_and_corpus_linguistics"^^ , "Français"@fr , , , , "phonology"^^ , "semantics"^^ , "sociolinguistics"^^ , "syntax"^^ , "typology"^^ , , , "applied_linguistics"^^ , "discourse_analysis"^^ , "historical_linguistics"^^ , "language_documentation"^^ , "morphology"^^ , , , , , , , , , , ; + "Entretien de Louise Liotard et de Jeane Mallet 1"@fr ; + , , , "dialogue"^^ , "primary_text"^^ , , , , "narrative"^^ , "formulaic"^^ , "procedural"^^ , "unintelligible_speech"^^ , ; + "2013-04-23"^^ ; + _:genid-ebb4b0d176244a37acea68ef471c7c1d-genid2 ; + , ; + ; + "Pires, Mat" ; + "Verlinde, Agnès" ; + "Quartier concerné : Saint-Ouen"@fr ; + "Liotard, Louise" , "Mallet, Jeane" ; + . + +_:genid-ebb4b0d176244a37acea68ef471c7c1d-genid2 a ; + owl:sameAs , ; + "FR"^^ , "France, Île-de-France, Paris, Université Sorbonne Nouvelle Paris 3, site Censier"@fr . + + a ; + "application/xml"^^ ; + "Freely available for non-commercial use" ; + "2008-04-28"^^ ; + "2013-09-21T15:05:25+02:00"^^ ; + ; + . diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/crdo-CFPP2000_11_SOUND.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/crdo-CFPP2000_11_SOUND.xml Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,3938 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +animaux d'ferme + à l'Ile Saint-Denis + + + + +eh: j'ai connu les chevaux encore sur euh le les Champs-Elysées hein + +j'ai une amie tous les jeudis elle allait à la X + + + + +il paraît qu'oui il y en avait oui + ah oui + +ah ben oui ben bien sûr + bien sûr il y en avait + + + +mes parents sont nés sont nés ici d'ailleurs sont nés à enfin ils sont pas nés à Saint-Ouen + + + + +vos parents? ++ ah oui + oui oui + +ils sont nés dans l'quatorzième ++ ah ben oui + + + + +alors ben euh ça tombe bien en fait euh + +allez-y X + allez-y + + + +j'vais peut-être juste noter vos noms parce que si j'dois euh vous XX vous vous qu- quels sont vos noms? + + + +Pollet + + + +ça s'écrit comment? + + + +P O deux L E T + + + +d'accord madame Pollet + et vous? + + + +et moi j'suis madame Liotard + + + +Liotard ouais d'accord + + + +L I O T A R D ++ + + + +d'accord OK parfait X + + + +il y en avait des Pollet à Saint-Ouen + là qu'étaient marchands d'fumier + + + + + +rue Charles X + +XX + ah dis donc + + + +et ils étaient mariés il y avait il y en avait la villa Serrurier + + + + + +qui est X cinéma Le Star + et c'était le grand-p- le beau-père [de;-] monsieur Pollet qui avait fait construire toutes les maisons d'la villa + et il y en avait un stock hein + +remarquez s- + allez savoir que ce soit d'même famille + + + + +mm ouais ouais mm d'accord + +X il y avait des stocks oh la la + + + +ils ont toujours des + eh ben ils avaient des chevaux évidemment + et puis ils [envoyaient; enlevaient] tout l'fumier à la garde républicaine à Paris + + + + +mm ah oui + voilà (rires) + +et dans les années trente hein XX la semaine dernière + + + +oui + ben oui puis c'était vendu + pour faire les champignons d'Paris + + + + +d'accord mm + ouais + ça facili- + +le fumier + de cheval + + + +et donc vous vous êtes née euh donc à Saint-Ouen madame Liotard + et et vos parents également? + + + +mes parents ah non mes parents étaient grainetiers à Saint-Ouen + + + + + +d'accord + +ça existe plus non plus ça grainetier + + + +oui c'est déprimant + + + + +mais ils ét- ils sont ils sont de Saint-Ouen aussi ils étaient de Saint-Ouen? + +ah non non non + + + +ah non non mon père était d'Pantin + + + + +d'accord + + + +et ma mère de: + ah ah je vous dirai Champ Champ sur Marne + + + +d'accord + et euh v- vous vous savez pourquoi ils sont venus à Saint-Ouen + + + + +eh ben ils se sont mariés + +pourquoi ils sont installés + + + +et puis mon grand-p- mon père ses parents étaient grainetiers + à Pantin + et il a voulu repren- prendre un (X,accompte) grainetier + + + +d'accord + + + +et c'est comme ça qu'ils sont ils ont é- + exploré un peu toute la région + puis ça c'est trouvé que: + à Saint-Ouen il y avait un coin à vendre + + + +d'accord OK + + + + +alors ils se sont installés là + en dix-neuf cent vingt-et-un + +ils se sont installés là + + + +d'accord + ouais c'est parfait + et euh et et vous madame Pollet vous: + + + + +moi je s- + +vous êtes née à Saint-Ouen également? + + + +ah non non + + + +non? + + + +non je suis née à Montigny-en-Morvan dans la Nièvre + + + +ah oui + + + +accidentellement peut-être mais enfin + + + +(rires) et comment vous êtes arrivée euh à Saint-Ouen alors? + + + + +comment j'suis arrivée à Saint-Ouen ben j'suis d'abord arrivée à Paris + + + + +mm + + + +j'ai vécu longtemps à Paris + + + + +d'accord + + + + +eh à: vingt-quatre ans: bon ben je divorçais ++ alors donc euh: + le: propriétaire de qui me lo- qui m'logeait à Paris + pour me cacher d'mon mari qui était violent + + + + +mm +++ mm + +qui n'voulait pas divorcer et qui était violent + + + +donc° m'a: m'avait mise dans un petit logement: + un peu vétuste mais enfin bon + hein bon + donc rue Arago + + + +d'accord mm + + + + +et: je suis restée: dix-sept ans dans ce petit logement + il y avait trois pièces quand même et tout mais a fallu que j'arrange hein parce que: j'ai XX j'vous dis: c'était vraiment vétuste quand j'suis arrivée hein ++ vraiment + et donc euh: + après j'suis allée boul- euh + boulevard Victor Hugo non + non c'est pas tout de suite boulevard Victor Hugo ++ + +j'ai demandé à mon patron euh par le un pour cent patronal + un logement j'voulais aller en banlieue ++ j'commançais à en avoir marre de faire le feu de de bois tout ça [euh;le] charbon les cendres et tout j'commençais à en avoir marre + + + + +ben oui euh + faut être jeune hein + +mm ++ mm oui + + + +alors donc euh: [j'étais;j'ai été logée] à comment à + du côté d'Mantes là comment Mureaux + aux Mureaux + + + +les Mureaux ouais mm + + + +mais ce m- ça m'a pas plu + + + + + d'accord + +d'abord le logement n'me plaisait pas + X pas ++ + + + +et puis en plus euh le transport surtout + + + + +mm + + + +c'était compliqué hein c'est pas comme maintenant maintenant ça s'est modifié: mais à cette époque-là il fallait + attendre une heure: un train + + + +ah oui mm + + + +alors euh deux fois en deux ans je X j'suis restée deux ans et deux fois en deux ans j'ai j'ai + + + + + +mm ++ ouais c'est sûr + (rires) c'est embêtant mm mm mm + +j'ai perdu une heure de travail quoi + enfin + on me l'a pas retirée + non enfin parce que j'étais un bon élément mais: + + + +aur- aurait pas fallu que ça continue + alors j'ai donc demandé c'est d'ailleurs euh Mitterrand et monsieur Lefort qui m'ont: en commmun accord voyez enfin: + + + + mm +++ mm d'accord + + + +le branchage de tout ça de de des des huiles comme on dit + qui m'ont fait revenir à Saint-Ouen assez rapidement + + + +d'accord + mm + + + +mais euh:: c'était pas la le + disons le ce que monsieur Mitterrand voulait monsieur Mitterrand voulait que j'aille habiter Suresnes + + + +mm + + + +qui était beaucoup mieux pour lui que Saint-Ouen + + + + +pour moi + +d'accord + mm + ouais + + +
+
+ + + +et vous avez toujours habité le même quartier dans Saint-Ouen ou ou vous avez bougé? + +et alors ++ non euh euh + + + +là maintenant j'suis au Vieux + + + + +mm ++ d'accord + +mais j'étais là-bas euh rue Arago alors j'sais pas comment: comment on appelle moi j'en sais rien + + + +alors j'ai donc été relogée + à: rue Ar- rue A euh + oh boulevard Victor Hugo + + + + +mm d'accord ++ ouais ouais + ouais ouais je vois bien + ouais (rires) + +où il y a le RER maintenant + mm + mais à cette époque-là il y était pas + + + + +savez c'est les trois immeubles: qui s'en vont euh j'sais pas s'ils existent encore j'en sais rien + +ah oui + oui oui ++ euh: non ils ont X été abattus + + +ah bon + bien dommage bien dommage parce qu'ils étaient b- ils étaient beaux ces logements ah ils étaient beaux ces logements hein + +oui parce qu'ils construisent là X oui moi j'connaissais des gens là aussi + dans ces bâtiments + + + +moi [j'aimais;je me] j'avais fait vraiment euh ++ vraiment un appartement magnifique et tout ah je garde + + + +oui ils étaient en pierre hein les les bâtiments oui ils étaient beaux + + + +c'est des choses qu'ils auraient dû garder quand même + + + +ah oui + et puis alors euh: j'ai eu des ennuis avec les une locataire qui [est arrivée ; arrivait] à côté d'ma: porte mitoyenne la mienne comme ça la sienne là oh la la j'vous dis pas + + + + + +(rires) quel genre d'ennuis? + oui ++ mm + +j'ai eu tellement d'ennuis mais alors vraiment des ennuis qu'un matin j'pouvais même pas aller au travail + + + +alors donc comme j'avais ces ennuis: j'ai dû appeler ma gardienne de venir me chercher + pour sortir pour que j'aille travailler moi quand même elle elle travaillait pas elle s'en fichait + j'sais pas pourquoi + elle avait pris: + c'est-à-dire qu'elle avait une vie spéciale + + + +mm + + + + +si vous m'comprenez quoi bon ben elle aimait les femmes ++ alors euh + + + + +ah oui d'accord ++ ah oui + +voilà + sa vie spéciale c'était ça + + + +alors mais + elle avait les hommes aussi + + + + + +mm + ah d'accord + +et + en principe les vieux ++ + + + +les personnes âgées ++ pour leur soutirer de l'argent + + + + + +d'accord + ah oui + +elle avait une fille + + + +mais c'était la femme sa femme qui enfin la + sa femme sa copine qui s'en occupait + (rires collectifs) alors + tous les soirs quand j'rentrais je trouvais l'paillaisson parti enfin il était dans le le local du vide-ordures des ordures: à ma porte enfin voyez + + + + +mm ouais + ouais ++ ah oui + + +des méchancetés quoi + ça a duré deux ans et j'en pouvais plus + + + + +alors les le les: HLM + [m';-]ont dit "écoutez: + c'est vous qui avez on on va vous qu'on va reloger elle + à cause de sa gamine et tout ça" ben j'ai dit "ben c'est quand même un comble ça + moi j'viens d'faire des millions d'travaux mon appartement est: vraiment refait tout à neuf + tout avait été refait à neuf + j'dis c'est quand même malheureux que c'est moi qui suis obligée d'partir quand même" + + + + +mm + ouais ouais + euh c'est + c'est pas juste (rires) c'est sûr mm + +moi moi je travaille et tout je n- je n'dérange personne euh + + + +Paul à ce moment-là travaillait euh: à Orléans donc il rentrait pas tous les jours il avait loué une petite + + + + +[ah;oui] oui + une chambre oui + +euh un petit quelque chose là-bas du côté d'Pithiviers + + + + +pour être plus près commençait d'bonne heure + donc j'dis + "j'comprends pas" enfin bon + + + + + +ouais ++ d'accord + +alors j'ai + on m'a logée là où je suis actuellement encore + + + +et vous y êtes toujours + d'acc- + ça fait combien d'années que vous êtes: là-bas? + + + +il y a eu vingt: vingt-et-un ans X on est en deux mille huit alors donc vingt-et-un ans euh vingt-hu- + non vingt-huit ans + + + + + +vingt-huit ans? + d'accord X + +ben oui puisque: en quatre-vingt + + + + +mm + ouais ouais c'est ça ouais vingt-huit ans oui ouais + d'accord + +ben ça ben ça fait vingt-huit ans il y a eu vingt-huit ans le quinze janvier + + + + +et vous madame Liotard euh vous avez euh changé d'quartier dans Saint-Ouen? + mm + non (rires) + +ah mais moi j'ai pas enfin: + pas fait beaucoup d'chemin (rires) + + + +j'ai peut-être fait trois cent mètres + + + + + +ah oui c'est tout X (rires) + +vous êtes une sédentaire vous hein + + + + +j'suis née + 58 rue Montmartre + ça vous dit rien? + la rue Montmartre c'est la rue Charles Schmidt maintenant + +oui oui + + + + +ah d'accord + d'accord + d'accord + +[et;mais] à l'époque c'était la rue Montmartre parce qu'on voyait Montmartre + + + + +oui oui bien sûr oui + mm oui oui (rires) + +X on l'voit toujours hein + + + +quand ma mère est arrivée là elle dit: + "bon faut qu'on prenne ce pont-là + parce qu'on voit l'Sacré-Coeur" + + + + +mm + +X ça va nous porter bonheur + (rires Marc) + alors j'suis née l'année d'après + (rires Marc) et puis bon ben: j'ai connu mon mari qui était un: un client + puisque nous étions grainetiers + + + +mm + bien sûr + + + +et puis: ben j'me suis mariée en quarante-six + puis j'suis venue habiter rue Gambetta à côté là + c'est la: troisième rue à: + + + + +oui oui j'vois bien oui + ouais ouais ++ + +à g- à: gauche ++ + + + +oui puis j'y suis depuis quarante-six + + + + +d'accord + donc euh toute votre vie X + ouais (rires) + +ben oui + ah ça va vite hein + en deux lignes vous avez mon curriculum + + + +ouais vous avez pas bougé vous + + + +ah non + +
+
+ + +et qu'est-ce que vous avez vu comme changements euh depuis que v- + + + + +enfin: depuis votre vie + que vous êtes là qu'est-ce qu'est-ce qui vous frappe le plus euh depuis + +oh ben beaucoup beaucoup d'choses oh la la alors là + + + + +oh ben d'a- d'abord la vie a totalement changé surtout à côté + +la la la population: XX + + + +avant c'était + pour moi c'était il y avait des jardins il y avait des X + mes parents grainetiers avaient des poulaillers il y avait des chevaux + il y avait ben boulevard Victor Hugo là + + + + + +mm + +il y avait Charette le marchand d'vins en gros + + + + +oh ben oui j'pense bien + +il avait six cents chevaux celui-là ++ + + + + +waouh + +alors + il sortait le matin tous les matins + c'était un: + et il y avait quatre chevaux d'attelés hein ++ + + + + +X beaucoup d'industries quand même à Saint-Ouen: + et maintenant voilà + voilà + ah oui + +ah ben: énormément d'usines + la rue Blanqui c'était que des usines + il y en a plus + + + + +ouais + oui oui + +mais maintenant il y a plus rien + + + + +ouais c'est vrai ouais + ouais + +il y a plus rien Saint-Ouen est mort oh non + + + + +mm ++ mm + +et même on (n')a même pas d'commerçants + + + + +chez nous X Louise puisque vous habitez l'même coin que moi + il y a rien + on (n')a rien + +il y a rien + il y a rien + il y a rien + rue Debussy il y a plus rien + + + + +mm + ouais ouais + c'est les supermarchés euh c'est tout hein + +X ils ont mis un fleuriste à la place + + + +ah ben non il faut aller: en-encore le grand Franprix à la patinoire est un petit peu mieux + + + + +que notre petit Franprix + moi mon petit Franp-Franprix il m'dépanne quand même pour l'eau + +oui oui oui + oui + + + + +mm + +les bouteilles d'eau c'est s- ++ évidemment + + + +[mais:;et:] rue Montmartre là il y avait des commer- il y avait deux boulangers + + + + +oh ben oui + il y a plus rien + +il y avait deux charcutiers + + + + +mm + ouais ouais + +il y avait un boucher il y avait marchand d'couleurs X + crémier + ah il y avait un boucher d'cheval en plus + + + + +ah oui? + +mm + + + + +oh la la + +où j'avais mon teinturier juste en bas d'chez moi j'avais mon petit cordonnier + + + + +oui X voilà moi j'ai connu aussi cordonnier XXX + +ben maintenant c'est du bric-à-brac euh X comme on dit à tout à dix tout à dix dix enfin même pas dix francs + + + + +enfin moi j'disais dix francs ++ ce qui n'est pas dix francs mais enfin + parce qu'en plus ils sont chers + +c'est quand euh quand c'est des: ++ hein des comment on dit là? + + + + +ouais + euh +++ ah les bazars ouais les bazars + mm + mm +++ mm + +c'est des bric-à-brac euh: soit disant à dix francs à cette époque-là + hein à l'époque où ils s'installaient où ils s'ouvraient + mais seulement mais ç- + c'est pas dix francs hein + + + + +ah c'est pas compliqué l- + la rue Charles Schmidt + le: commerçant qui est resté depuis + c'est la pharmacie + +ils sont chers hein +++ ah ben + + + + +ah oui? + c'est le seul commerce qui est là depuis euh: que que que vous êtes là + enfin que depuis + +la pharmacie Bichat +++ j'connais la rue + + + + +oui il y avait un miroitier + +depuis que j'connais la rue + + + + +ouais + +il y avait un beau miroitier + + + + +ah non: pas à ce moment-là pas quand j'suis née + +ah bon ah: oui + + + + +mm + +ah non non non + non + + + + + +moi il y avait une miroiterie puisque il a travaillé pour moi euh + +non le seul que: ++ et puis bon ben il y avait après un: éleveur de + de vaches là [que:;de:] + une laiterie + + + +mm + + + +plus haut là c'est vers euh où est l'garage maintenant + + + + +d'accord + ouais + + + + +ouais ouais ça fait pas mal de choses quand même mm + +maintenant pour trouver: + pour trouver: un + un employé enfin voyez: comment comment dirais-je + + + + +X charcuterie pareil + il y en avait deux + des charcutiers + +ah ben des charcuteries il y en a plus + + + + +mm + ouais + +alors là il y en a pas + du tout + + + +puis alors on avait un charcutier qu'était du tonnerre + tous les samedis il tuait l'porc + + + + + +mm +++ ah ouais + +il le mettait euh: égoutter dans la rue + avec un tablier dessus + + + + +ç-ça devait être marrant +++ ah ben oui ça m- + +et il faisait du bou- du boudin mais alors comme ça + puis tout tout l'restant hein + + + + +mm + +ça m'étonne pas + + + +ah oui oui oui ah j'la vois encore mon dieu X ah là là (rires collectifs) + + + + +oui c'est à l'ancienne ça + c'est à l'ancienne + + +oh oui alors + +
+
+ + +et euh est-ce que v- est-ce que vous vous souvenez de quelque chose d'inattendu ou d'un d'un événement euh: quelque chose qui s'est passé dans l'quartier que vous pourriez nous: nous raconter + + + + +ben moi euh moi euh: moi c'est au moint d'vue d'la population je m'attendais pas à ce que la population devienne ++ qu'on n'soit plus en France + + + + +cosmopolite (rires) + + + + +mm + ah ouais + +ben ça oui mais ça + + + + +fallait s'y attendre hein +++ mais c'est sûr hein que: + +non mais qu'on n'soit plus vraiment plus en France on on ne on n'est même plus: plus cosmopolite là + + + +mais j'entendais plutôt euh: qu- un événement ou euh: je sais pas m- + + + + + +oh ben il y a eu la guerre moi j'ai connu la guerre dans ce coin-là hein + +des XXX ouais + mm + + + + +bombardements tout ça + +c'était pas pareil + +
+
+ + + +est-ce que vous: + vous voyez un événement marquant euh + +non moi j'ai connu XXXX [il y en;on] a eu des événements marquants + + + + +ben tour de Saint-Ouen a été rasée hein X vieux château ça je + +ouais + qu'est-ce que X + + + +et puis + oui c'est tombé sur le + l'hôpital de: du vieux Saint-Ouen c'étaient des religieuses + j'ai un ami sa soeur a été tuée là + + + + +eh oui + moi j'ai pas: connu ça évidemment + +elle avait treize ans + les parents lui avaient dit quand il y a un bombardement tu vas chez les soeurs X + c'est là quelle s'est fait tuer + + + + +ouais + et v-vous étiez là ce jour-là X? + ouais + +ah ben oui + oh là-bas non + parce que j'habitais pas + là c'était dans l'vieux Saint-Ouen ce que j'vous X + X dis là + + + +mm + + + + +c'était: au bout d'la rue Saint-Denis + +mm + mm + + + +mm + + + + +mais: moi j'habitais toujours euh bon voilà + oui maintenant oui + maison d'retraite + +c'est la maison d'retraite maintenant +++ ils sont en train d'rénover + + + +[non mais;bon ben] c'est vrai que: ++ + + + +et vous vous: vous étiez là le s- + vous vous souvenez de ce bombardement vous? + + + + +ah non + non ++ ah ben XX plus jeune que + madame: + +non? + vous étiez peut-être plus jeune + ah d'accord + ok c'était pas le (rires) + + + + +bon ben moi j'suis: j'suis là depuis que XX + +ouais + + + +madame est née tandis que moi je suis venue j'avais quatorze quinze ans + + + +d'accord + ouais + + + +mais j'ai démarré j'vous dis dans Paris moi + + + +ouais + + + +vous êtes née à quelle date: quelle année vous? + + + +jan- + janvier: trente-trois + + + +ah: ben oui mm + +
+
+ + + +en ce moment X + ma date de naissance elle sort entièrement + +ça fait onze ans quand même + + + + +au au kéno + +ah bon? + + + + +ah ah ah ben + +ben faut jouer + + + + +eh ben vous aussi mais mais (rires Marc) oui mais XXXX elle va sortir hein + +c'est sûr hein si vous allez jouer euh + + + + +ah ça m'agace tous les soirs j'regarde justement l'kéno pour voir les numéros + oh: ça m'énerve ça ++ ben + un mois avant + +[XX;de la même façon] + moi j'me rappelle ++ du: + du jour de naissance de Chirac + il était né dix ans et un jour + il était né l'vingt-neuf novembre trente-deux + + + + +ah oui + +ah oui + + + + +et moi l'vingt-huit novembre vingt-deux + +il est né + + + + +il est né un mois avant moi + +d'accord + dix ans + + + + +dix ans après (rires) + +un mois XXX + + + +ah vous êtes du mois d'octobre vous + + + + +non ++ il est il est: il est de de décembre lui + +X ++ novembre + + + + +non il est du vingt-neuf novembre + novembre + +novembre + novembre + et du moi du mois d'janvier + + + +ah oui + + + + +ah oui ++ deux mois avant + +mais il a eu + ses soixante-quinze ans avant moi + + + + +ah oui bien sûr novembre bien sûr oui + +moi j'les ai eus au mois d'janvier + + + + +c'est pas la même année déjà + +oui bien sûr + + + + +lui c'était en trente-deux vous c'est en trente-trois ++ mm + ah oui + +ah ben: ++ voilà + lui à la fin mais moi l'début + de l'autre année + + + +ah on a dix ans d'écart parce que + moi j'suis née à la fin de l'année: vingt-deux + + + + + +ouais c'est marrant ouais XX + +et puis vous au début de l'année trente-trois + + + + +oui + [c'est;et] comme Paul Paul il était il était d'vingt-deux X + +dix ans si ça compte + +ah ça compte dix ans ++ ah oui + + + + +oh ben oui ça compte hein + +alors pour revenir aux quartiers + + + + +un petit peu + +on vieillit oui moi je l'ai vu avec Paul hein + + +
+
+ + +est-ce est-ce qu'il y a des endroits dans le quartier le quartier où vous habitez + où vous allez euh souvent + toutes les semaines ou euh + des des promenades que vous faites + + + + +oh la maintenant on a XX + +euh habituellement: ou des choses comme ça? (rires) + +
+
+ + +ça dépend de l'X moi j'ai été agressée trois fois X j'aime mieux vous dire que j'ai plutôt peur + + + + + +où ça? ++ ah oui + ouais +++ ah oui + +j'ai été agressée trois fois + alors dont une fois dans mon immeuble la dernière fois là: récemment ben oui alors donc euh + + + +vous pouvez nous raconter un petit peu ce ce qui s'est passé ce: + + + + +ah ben X j'rentrais de: de l'hôpital comme tous les jours + pendant neuf ans j'ai fait ce l'hôpital + enfin les hôpitaux + +la dernière XX ++ mm + + + +parce que vous [travailliez;travaillez] à l'hôpital? + + + + + +non non non pas du tout mon mari y était + enfin mon mari mon compagnon hein + puisque: + j'étais pas mariée: bon + +non +++ d'accord ++ ah oui + d'accord + il était euh hospitalisé + d'accord + + + +et: il ét- il était pas: il était pas tard il était vingt heures + + + + +mm ++ mm + +mais il faisait pas nuit j'veux dire puisque j'avais encore mes lunettes de soleil + alors euh il y avait encore soleil et comme j'ai les yeux très fragiles bon ++ bon ben comme d'habitude je rentre ++ la porte d'entrée + je passe + à ma boîte aux lettres + comme toujours chaque fois que je descends que je monte j'ouvre ma boîte aux lettres parce que je veux: pas laisser de papiers dedans bon ++ il y avait deux filles + jeunes + + + +mm + + + + +euh genre maghrébines évidemment ++ qui étaient là dont une tenait la porte + ouverte + et l'autre me tournait le dos puisque j'étais aux boîtes aux lettres + elle me tournait l'dos donc face à sa copine + et elles discutaient + mais rien n'me laissait supposer X ces filles et puis j'allais pas leur demander si elles allaient monter ou descen- euh ou qu'est-ce que'elle faisaient + m'occupe de personne moi euh j'prends: je referme ma boîte + j'prends mes clés dans ma main + donc j'avais m- X mais elles étaient en train de ++ de contrôler mon sac à main ++ parce que là c'est pas un c'est pas du tout un sac à main j'avais un sac de courses + et j'avais pas d'courses dedans parce que j'étais fatiguée ce j- ce soir-là donc j'avais pas fait mes courses c'est pour ça qu'elle ont pris l'argent d'ailleurs + elles ont eu euh bon + + + +mm + + + +donc el-elles regardaient certainement comment était euh pla-placé mon sac à main voyez ++ et j'ai mis mes clés dans ma main comme d'habitude + heureusement qu'elles les ont pas prises d'ailleurs + elles m'ont laissé monter les huit premières marches + et il y a l'palier aussit- a l'palier aussitôt + + + +mm + + + +et là + j'ai senti mon sac qui: évidemment qui s'dérobait + j'ai fait réticence elles m'ont + elle m'a jetée dans l'mur + j'ai: été à l'hôpital évidemment + m'a transporté à l'hôpital + des gens + j'ai crié "au secours au secours" ++ un fait exprès il y avait personne ni qui montait ni qui descendait + + + + +ah c'est toujours hein + +on aurait dit + ah moi j'ai + d'ailleurs avec la police c'est ce qu'on a dit + c'était + prémédité ++ ah si + + + +mm + + + + +on avait dit euh + tous voilà + sortir + à peu près à la même heure + rentrer + à la même heure + +parce que vous rentrez tous les jours à la même heure aussi + voilà c'est ça + ça c'est XX + + + +c'est pas que c'était prémédité c'est que les gens savent qui c'est mais euh ils veulent pas de représailles + + + +voilà + ah ben moi + il y a un petit gamin: là: qui habite un petit Africain + il y a pas longtemps qu'ils sont locataires + mais ils étaient déjà là X + il était à la fenêtre ++ et c'est lui qu'a qui m'a remis les papiers dans ma boîte aux lettres le lendemain matin + donc pourquoi c'est lui? ++ il m'dit "je sais qui c'est j'les connais les filles" + + + +il va pas l'dire hein + il va pas l'dénoncer + + + +j'dis pourquoi tu veux pas l'dire: Issaga + pourquoi tu veux pas l'dire: qui c'est ++ j'dis parce que pour moi tu vois ben on m'rembourserait mes lunettes + et là on veut pas m'les rembourser + tant que X tant qu'on (n')a pas trouvé les: les + + + + +les coupables + +les agresseurs oui + + + +mais j'y dis "mais c'est pas gentil Issaga tu ne risques rien + on te fera pas d'mal à toi + tu n'es pas l'fautif" + mais il dit "oui mais j'ai remis les papiers + alors comme j'ai remis tes papiers" parce qu'ils vous tutoient tous savez bien + il m'dit comme j'ai remis tes papiers + ah ben j'dis j'dirai pas que c'est toi qui a remis mes papiers + et puis c'est tout ++ hein + mais il veut pas + + + + +X j'veux pas leur causer des ennuis + mais quand même + +moi j'ai été agressée à dix heures du main avenue Gabriel Péri + devant la B- + la BNP qui est au coin d'la rue Ottino là + + + + +ouais ouais + +mm + + + +un gars qui m'a + sauté dessus + avec un bas sur la tête + + + +ah ben oui + + + + +ah ouais? + à ce point? + +et puis qui m'a tiré mon sac alors c'était + une petite + tout petit un petit sac + alors euh + + + + +mm + +pochette + + + + +une pochette heureusement d'habitude j'mettais mes clés + mon porte-monnaie + + + + +heureusement moi j'avais mes clés dans ma main elles les ont pas tirées heureusement parce que ben: elles m'au- elles m'auraient déchirée + +j'avais pas mis mes clés + heureusement + oh ben oui + parce que il y avait mon adresse et X + + + +mais: là par contre alors il a pas eu grand chose + + + + +mm + +j'avais neuf euros dans mon porte-monnaie + + + + +mm + ouais + avec le bas c'est: c'est impressionnant (rires) + +ben moi j'avais quarante euros parce que bon ben j'allais faire mes courses X + + + + +comme j'me: sentais tellement fatiguée j'ai dit oh ben XXX + +alors j'ai été porter plainte + + + + +ouais + ouais + +il m'dit "vous avez noté l'numéro d'la voiture" ben tu parles elle était en deuxième file + prête à partir le: + + + +ouais + ouais + + + +alors paraît-il qu'elles sont montées sur une bicyclette et puis elles sont parties: vers la mairie ça s'est passé le sac s'est vidé vers la mairie ++ + + + +mm + bon ben on va peut-être pa- euh: + +
+
+ + + +parler de: + oui oui X + +passer à des choses un peu plus agréables (rires) alors j'ai est-ce que est-ce qu'il y a des fêtes: d'immeuble ou des fêtes de voisins des fêtes de rue des choses comme ça dans votre quartier euh + + + + + +est-ce que vous voyez des: des choses comme ça? + +ben au parte au parc ils font de temps en mais moi j'y allais plus alors euh + je n'sais plus j'sais plus comment ça s'déroule + + + +mm + + + + +à part que je lis le: Seine-Saint-Denis et Saint-Ouen + euh je vois qu'est-ce qui: s'y passe mais autrement j'y v- + + + + +j'y allais plus moi moi j'allais à l'hôpital vous savez j'étais vraiment: + + +XX chez nous ils font pas d'fête d'immeuble + + + +c'était régulier deux heures et demie: euh tous les jours je partais enfin quatorze heures trente + + + + +mm +++ d'accord + ouais + +j'revenais vers euh + avant j'rentrais un peu plus tôt et les derniers mois là j'rentrais vers vingt heures + + + + +et au parc c'était quoi:? + +oh c'est tous les ans XX + + + + +oh j'sais pas il y avait eu un jour là que + +c'est pour le quatorze juillet + + + + +non il y avait au mois d'septembre + +c'est [un;le] truc de la ville + + + + +il y en a aussi + il y a deux jours au mois d'septembre + +oh oui ça: il y a la ville oui bien sûr au mois d'septembre + + + + +il y a la ville et puis il y a aussi le le XX j'sais pas + +oui et puis il y a la brocante + + + + +oui là quand ils font des + +oui la brocante il y a la fête: + + + + +oh la la (rires Marc) mon Dieu le jour qu'ils font les merguez et tout oh la la (rires Marc) puis alors c'est pas ça mais le bus euh moi qui prenais l'cent trente-sept eh ben ++ fallait venir le prendre à la mairie parce qu'il faisait tout l'grand tour + + + +si au mois d'juin là ils doivent faire une fête là place du marché euh les: ça doit être les Africains + + + +Ottino? + + + + +non X chez nous ++ il m'semble qu'ils font une: + une petite soirée + +ah bon? ++ Ottino que j'ai dit c'est pas Ottino le magasin + + + + +c'est comment euh comment il s'appelle le marché + +euh: Londi + Londi ++ marché du Londi + ils doivent [fête;faites] une ils doivent faire une petite: un dimanche ++ un petit euh: + un petit repas convivial entre eux + + + + +d'accord + + + +avec euh en association avec la ville + puisque il y a d'la musique il y a plein d'choses + il y a des ani- il y a des petites animations + + + + +et euh et donc dans l'quartier où vous habitez est-ce que qu-quelles sont les communautés qui euh + qui habitent: dans l'quartier + des gens de différentes origines: + qu'est-ce que: qu'est-ce que vous voyez autour de vous? + + +
+
+ + + +XX pas beaucoup parce que vous êtes en: petite maison ++ vous êtes en petite maison vous + +ben moi dans l'immeuble + j'ai + Arabes + Marocains + enfin du moins ++ Tunisiens + Marocains + Africains ++ euh: Algériens + Turcs ++ + + + +voilà + oui + (rires) + + + +alors voilà + + + + +d'accord + +si ça peut vous situer euh: mon environnement + + + + +vous avez une impératrice de: + +d'accord + + + + +d'Iran qui est en face de vous + +ah oui + Farah + + + +non non non non j'ai une habitante de Saint vous avez une habitante de Saint-Ouen c'est tout (rires collectifs) + + + +(rires collectifs) oui ouais ouais ouais ouais + oui mais: + + + + +(brouhaha) et vous avez euh vous vous + +XX ou des conversations + + + +il y a des Hindous maintenant ++ oui + oui + oui ++ oui + + + +oui oui X + + + +ils sont très gentils ++ + + + + +ah les en principe les Hindous oui ++ + mm + ben voyez les Africains on les entend pas + +ah oui oui oui il y a des Hindous maintenant ils sont très gentils parce que: + XX +++ + + + +et pourtant il y a beaucoup d'gosses ah oui il y a X où il y a Is-Issaga là le fameux Issaga là l'gamin + ils sont très gentils hein moi [je sais;j'osais] pas: + euh la petite Africaine: + dans sa porte que j'ai été jetée là euh + + + + + +c'est elle d'ailleurs euh qui m'a découverte sur le palier: ensanglantée et tout + elle venait d'arriver pauvre femme elle a eu un drôle de spectacle + + +ah ben oui elle a entendu l'bruit + non en général il y a pas de de + + + + +et comme elle dit j'ai eu une drôle de: hein de d'impression sur euh sur sur l'immeuble quoi ++ + +oui + une drôle d'impression + ah la la + + + + +d'ailleurs elle l'a toujours l'impression elle dit: elle parle à personne + + + + +ah oui + ah oui + +à part à moi +++ elle parle pas X comme elle dit euh + "ils sont pas intéressants" et c'est vrai + moi j'ai beaucoup beaucoup d'ennuis avec [le;-] petit Algérien au-dessus euh ++ ça a été un: ça a été un: comment: ++ oh co-co: comment il(s) s'ap- ça s'appelle + un Antillais + avant + il a été: expulsé parce que vraiment: al-alors lui + lui au moins il était franc + il le faisait pour tout l'monde + donc il y a pu f- on a pu faire quelque chose + + + +mm + mm + + + +mais + lui l'Algérien + il le fait que pour moi toute seule la nuit + + + + +ah oui + mais il fait quoi? + + + +pour que moi j'entende + + + + +ah ben il il roule s- + +la musique? + + + +il roule sa banquette j'sais pas quoi + il fait tomber des bouts d'bois il fait tomber des billes + euh voyez + il a + il doit avoir un appareil qui fait tac tac tac tac tac tac + tac tac tac tac tac tac tac + sans arrêt + + + +ah oui + + + + +si vous saviez ce que c'est énervant + + + + +oui je sais + mm + +mm + + + + +qu'est-ce que c'est que cet appareil? ++ c'est une vidéo j'en sais rien j'sais pas quoi je sais pas + + +du bruit la nuit oui + XX + + + +alors je l'ai signalé là je l'entends plus il y a il a dû être + plusieurs fois qu'il est appelé à la loge + par madame Jacques + + + + + +mm +++ est-ce que vous avez fait connaissance euh: enfin des des + des + +ah mais je suis montée l'voir il m'a reçue comme un chien dans un jeu d'quilles + + + + + +ouais + +oh la la comme on dit ah ben oui + et il m'a dit que si j'étais pas X une femme + en mettant son poing comme ça j'ai dit oh: attention jeune homme (rires Marc) oh attention + + + + + +c'est un Arabe? + c'est un Algérien? + +regardez ++ oui oui + + + + +faites bien attention à qui vous parlez hein + + + + + +[c'était;c'est] un violent + +mm + + + + + +oh la la + +parce que: + + + +un violent + + + + +c'est un vieux? + + + +un violent + + + + +un violent + +c'est un + oui c'est + + + + +un violent + +oui + et pourtant c'est un jeune XXX (brouhaha) + + + + +oui mais il travaille pas + +oui + + + + +j'connais quelques voisins chez X mais bon j'peux pas connaître tout l'monde + +c'était comme la famille + + + + +il a travaillé + pour avoir des feuilles de paye + +XX à tous nos voisins tout autour de nous + c'était comme de la famille + + + + +X on faisait des repas XX + +comprenez + pour faire un dossier + + + + +mm + d'accord + +et maintenant il ne travaille plus + + + +oh oui oh oui oh la la mon Dieu + + + + +quand il a eu le logement XX + +nous restions en relation + + + +et et pourquoi ça a changé: à votre avis euh + + + +parce que c'était plus la même + puis les gens vivent davantage chez eux + + + +mm + +
+
+ + +maintenant c'est la télé et la voiture + + + +mm + ouais ouais + + + +alors euh: l-la voiture + c'est ce que j'leur dis + c'est l'prolongement d'votre appartement + + + + +ouais + mm ++ mm + +X ils montent là comme ils vont dans leur salon + et puis la ra- la télé oh ben: il y a telle émission alors faut pas la louper + + + +mm + ouais ouais + donc c'est: (rires) + + + + +ben c'est vrai XX + +ah ben moi avant d'aller à l'hôpit- euh: j'allais à l'hôpital bon ben d'accord je m'occupais pas d'la télé à part le soir pour me + + + + + +extraire [les;des] idées oui bon + +changer les idées hein ++ mais c'est vrai que maintenant là: j'ai pris l'habitude de regarder Derrick + c'est un petit policier qui dure pas longtemps il dure une heure + + + + +ah oui + +c'est un film allemand + + + + +et j'aime bien mon petit Derrick + +feuilleton allemand + + + + +mm (rires) + +[ah;ben] oui + + + + +c'est un feuilleton all- oh oui j'le regardais quand euh (rires) +++ quand j'avais quinze ans + +vous aussi? ++ oh: ben oui moi j'aime bien Derrick parce que d'abord j-j'aime beaucoup les deux personnages hein ils sont très bien + + + + +et: bon il y a aussi comment ++ le soir alors là + il y a des: + j'ai jamais regardé Les Feux d'amour ++ parce que c'était pas: de + + + + + +c'est nul + +dans mes heures + par contre on les voyait: à l'hôpital + pour les patients + XX + + +
+
+ + +d'accord + est-ce que: alors dans le dans les: différents quartiers de Saint-Ouen + donc euh: est-ce quelles sont les différences que vous voyez enfin comment vous: ++ divisez la ville pour ainsi dire? + + + +oh maintenant c'est compliqué + le vieux Saint-Ouen c'est l'nouveau Saint-Ouen + c'est c'est tout neuf + + + + +j'en sais rien c'est + +ouais + + + +ici c'est l'vieux Saint-Ouen maintenant ++ et encore ça s'est arrangé +++ + + + + +donc et le: vous dites le vieux Saint-Ouen c'est devenu le nouveau ++ pourquoi ç- le vieux Saint-Ouen + en quoi il est devenu le nouveau Saint-Ouen? + +de toute façon que vous alliez dans un coin ou dans un autre + + + +en quoi il est devenu l'vieux Saint-Ouen c'est des immeubles + qui sont bons à + à: démolir des trois quarts + + + +mm + + + +vous voyez ces rues là bon ben + vous voyez une maison regardez ça rue Matthieu dimanche + X + et ben: ils ont + euh bl-bloqué toutes les fenêtres + + + + +mm + ouais + +et puis il y a plus d'toiture et puis ben en face de chez moi + + + + +en face de chez vous oui c'est ça voilà + +c'est tout XX + + + + +ouais + ouais ouais + mm + + +oh la la c'est dans un état pas possible + + + +d'accord + donc il y a X pour vous il y a + comme deux parties d'la ville: + + + + +c'est divisé en deux? + ouais ++ mm + +oh ben oui avant c'était l'vieux Saint-Ouen parce que c'était + c'était l'Saint-Ouen du début + où il y a l'église il y avait un cimetière autour puis des maisons + + + +mm + + + +parce que ici c'étaient les champs + + + + +d'accord + mm + +et l'église du vieux Saint-Ouen elle est nouvelle? + + + + +elle a été: construite + ah: elle a été XX euh + +oui mais elle vient [d'un;de] + douze ou treize cents elle a été remis en état + + + + +oh oui euh: + XX + oui + oui treize quatorze + +elle est du: treizième ou quatorzième siècle + + + + +elle a été finie au quinzième + +qu'est-ce que j'la + + + + +et alors X + c'est que: Isabeau d'Bavière + elle avait un jardin ici + +XX je l'ai connue moche et je l'aime pas cette église ++ elle est triste + + + +ben c'est les c'est la première hein + + + + +c'est la première elle: + +elle avait un jardin immense + + + + +j'me sens X mieux à celle de Garibaldi + +et entouré d'murs + + + + +ah mais c'est pas c'est pas pareil hein (brouhaha) + +ah oui mais attendez l'autre elle est récente hein elle date de mille neuf cent ou j'sais pas combien celle-là + + + +(brouhaha) ah oui oui oui oui le le + + + + +il y a encore + un mur qu'est: + grand comme + comme la table là qu'est + épais comme ça + +par contre elle est classée monument historique la nôtre hein + parce qu'elle a été faite en plusieurs euh étapes X + + + + + +puisque on y allait souvent avec Paul pour euh regarder la pente qu'il y a justement là + mais j'y suis pas retournée depuis tellement: ben depuis la X j'y suis pas retournée + +ouais ouais + d'accord + d'accord + ouais ouais + mm + d'accord donc c'est c'est vraiment la partie la plus ancienne: de la + + + + +comment? + +à part si à des enterrements mais: + + + + + +c'est c'est vraiment la partie la plus ancienne + +mais: là où vous: où je suis moi + c'était des champs + + + +mm + + + +j'ai un ami qui collectionne les cartes postales + il en a pas loin de deux mille hein + + + +ah oui + + + + +eh bien puis alors il écrit des: il écrivait dans l'journal monsieur Béranger + il écrivait faisait un article tous les: + + + + +tous les deux mois + +toutes les semaines + + + +c'est aux arch- c'est les archives + + + + +et alors + +toutes les semaines ou tous les deux mois? + + + + + +tous les deux mois + +tous les mois + + + +tous les mois + + + +tous les mois + + + + +tous les deux mois + +tous les deux mois + + + + +parce qu'une fois c'était Jean Lefort + le coup d'après c'était lui oui + +oui + tous les deux mois + oui oui oui + tous les deux mois + + + +et alors il avait trouvé une carte + les f- le: + euh les foins à Saint-Ouen + + + + +mm + + + + +et parce que tout ça + là où je suis moi + avant que ça soit la rue: + la rue Montmartre c'était la rue Napoléon + + + + + +ah oui (rires) + d'accord + :ouais ça a pas mal changé euh + + +ah oui ++ ah oui oui oui oui + + + + +et puis après bon ben: ça s'est arrangé évidemment + +Saint-Ouen c'est un coin qui a changé hein + +
+
+ + +Saint-Ouen c'était + puis alors ce qui a fait du tort à Saint-Ouen + c'est les chiffonniers + qui sont venus s'installer après la guerre de quatorze + + + + +ah oui + mm + + + + +alors ils ont ils: faisaient les poubelles évidemment + et puis ils avaient construit des baraquements + recouverts en tôle ondulée + il y avait des petits pavillons qu'étaient pas mal + + + +mm + + + +parce que il y avait différents euh + endroits il y avait de ce côté d'la rue + de l'autre côté + et puis en allant sur euh Paris après + + + + +vers le périphérique ça? + +d'accord + + + +oui + c'est: avant l'périphérique c'est là ici + un peu plus loin que la: + la rue: Paul Bert là oui + + + +mm + d'accord + + + + +oui il y a une transversale là + +ah oui oui oui oui oui + et là alors il y avait: + tous les matins ils f- ils: faisaient ils chiffonnaient ce qu'ils X + + + + +mm ++ mm + +ils renversaient les poubelles sur une toile ils triaient + les métaux le: les chiffons + +
+
+ + + +les bouteilles + quand euh: j'me suis mariée + mon mari était marchand d'bouteilles d'occasion + +[ben;ah] il y en a qui se sont enrichis n'empêche en faisant les poubelles + + + + +ouais + ah ouais ++ c'est le recyclage de l'époque en fait c'était euh + maintenant on a des: (rires) + +alors euh ça aussi ça a disparu + mais: + eh ben là on les tri- + on les triait puis c'était revendu + + + + +des: conteneurs + ouais ouais (rires) + +maintenant c'est les containers + + + + +c'est l'même principe en: un peu plus + +[containers;conteneurs] au détail + + + + +organisé peut-être (rires) + +oui voilà c'est ça + + + + +eh oui mais: ++ ah non là c'est pas pareil X fallait les trier les clas- + classer ah oui + ah: + +containers les bennes à papier les bennes à: + + + +les bouteilles à champagne que vous faisiez vous? + + + + +tout on faisait champagne + oh oui l'vin Bordeaux Bourgogne + Alsace + + +le vin? ++ XXX + + + +mais: c'était surtout les: champagnes + on en faisait facilement trois wagons par semaine hein + + + + +ah quand même hein + +mm + ah oui + mm + + + +ah oui + + +
+
+ + +alors pour vous déplacer euh dans Saint-Ouen ou euh enfin + quand vous vous déplacez comment vous faites? quelles sont vos + habitudes? + + + + +ben maintenant + +ben ça s'est amélioré quand même au point d'vue transports + + + + +parce que il y avait rien en bas d'chez moi ++ il y a quand même le bus il y a un arrêt d'bus maintenant deux + deux bus + cent-soixante-X + +[on a;il y a] quand même le bus là oui on a deux là + et puis ils ont: ++ et puis euh: + + + + +moi j'trouve que ça s'est pas amélioré du tout + +euh: + on est à une demi-heure de + + + +ah ouais? pourquoi vous dites ça? + + + +pourquoi parce que j'habitais rue Montmartre + il y avait le J et l'cinquante-quatre + + + + +mm + + + + +qui passaient maintenant il y a que l'cent trente-sept + le J il allait de la mairie d'Saint-Ouen + à la place Saint-Michel + et l'autre le cinquante-quatre il allait d'la Trinité + à Enghien-les-bains + + + + + +ah ouais à Enghien +++ ouais + +et l'été c'était agréable comme tout parce qu'ils mettaient une baladeuse + derrière le tramway c'étaient des un tramway celui-là + + + + +et alors il vous emmenait au lac d'Enghien + ah c'était agréable ça faisait une belle promenade (rires Marc) + + + + +ben ouais + +ben c'est vrai que + + + + +ouais c'est sûr + +et puis là puis là bon là + vous voulez aller à: l'hôpital Bichat + + + + +ah ben XX + ah ben non ça: + ça XX + +il y a rien du tout + faut y aller à pieds + il y avait deux bus + + + + +non c'est sûr + +il y avait l'B W et l'quarante-deux + + + + +on est mal desservis malgré tout mais enfin + +d'accord + ouais ouais + + + +le B W il allait d'la mairie d'Saint-Ouen à la Madeleine + et l'autre le quarante-deux c'est l'cent-quarante-deux il va à Stains + mais X il passe plus par là + + + +d'accord + ouais ouais + + + + +eh non il y a plus rien qui passe [là;par] + +moi j'connais pas beaucoup les bus + + + + +à part le cent soixante-quatre le cent: soixante-quatorze cent soixante-treize + +j'ai été: hospitalisée à Bichat: + pendant: cinq semaines j'avais une voisine qui venait m'voir + mais à pieds + + + +ouais + + + + +ah ben: ça: je sais + +alors oui + + + +ça tombait bien parce que c'était en été + alors elle rencontre une amie + qui lui dit "ah dis-donc j'vois que vous revenez d'vacances qu'est-ce que vous avez bonne mine" (rires Marc) + elle "oh oui + oh oui c'était bien? oh c'était du: tonnerre" + alors elle lui dit "donnez-moi l'adresse j'irai d'votre part" + elle dit "c'est pas facile hein + ah bon c'est un club"? + ben c'est-à-dire euh: oui si on veut + alors elle lui dit "c'est l'hôpital Bichat" (rires collectifs) + +
+
+ + +mm + hum: + alors pour les: les écoles + alors ça + doit faire un petit moment euh depuis vos: années d'école mais euh + ça s'était passé bien ou vous + + + +oh oui X les écoles c'est toujours été bien à Saint-Ouen + il y en avait une là à côté + + + + +ouais + +elle y est toujours + mais on entrait par là la rue Blanqui là + + + + +d'accord + + + +ouais + et puis ils en ont reconstruit ils ont cons- alors c'est plus la rue Blanqui + c'est la rue euh le X c'est plus l'école Blanqui c'est l'école Joséphine Baker + + + + +d'accord + +collège + + + + +collège là oui + savez pourquoi? ++ non ++ + +collège d'accord ++ ouais + non + +
+
+ + +eh ben moi ++ j'avais un client chiffonnier + qui faisait l'avenue Michelet ++ et lui c'était un X il était: + très très gentil + il venait tous les matins il avait dix douze bouteilles qu'il nous + qu'on lui payait + + + +mm + + + +et puis: j'sais pas quel XX + depuis que De Gaulle était au pouvoir il couchait dehors + pourquoi + quel est le: + que qu'est-ce qui fait que + la venue de De Gaulle au pouvoir + l'a fait quitter son appartement je l'ai jamais su + + + + + +il faisait les poubelles + avenue Michelet + +oui ça c'est à approfondir + + + + +mm + d'accord + +et avenue Michelet il rencon- il trouve un paquet comme ça ++ + + + +bien ficelé euh + ent- dans du papier + et les chiffonniers autrefois ils avaient des crochets + + + +mm + + + +ils donnaient un coup d'crochet pour + et là + il a pas osé + il a ramassé l'paquet + il est entré dans l'café il dit "dites-donc vous voyez ce que j'viens d'trouver" + (chacun, allez on) va voir ce qu'il y a dedans hein c'était un nouveau-né + + + + + +ça bougeait pas? + +oh la vache + + + + +quand il l'a trouvé ça bougeait pas? + +ah oui + oh la la + + + + +avec XX commençait à étouffer ++ alors + c'était un nouveau-né + +ah oui il commençait à s'étouffer ++ ah ouais un petit garçon? + + + + +il était: + venu au monde (brouhaha) + +X heureusement qu'il a pas euh: + utilisé son: crochet + + + +alors euh bon euh: ils ont fait + il est parti à la DDASS + + + + +ouais + + + +et là Joséphine Baker elle l'a adopté + + + + + +ah d'accord + ah oui + ah c'est une belle histoire + +elle l'a adopté + et elle l'a emmené aux Milandes là avec c'était la famille euh tri- + multicolore j'sais pas comment + + + + +elle avait des enfants de toutes les religions + +ah oui ça elle a: elle avait avait + + + +et elle l'avait pris comme parrain + (rires Marc) il était parrain + + + + +d'accord ++ et et co- + comment elle a eu vent de ça Joséphine Baker? + +puis sa: son habilleuse était marraine + tous ceux qui ++ eh ben il a bien fallu parce que + lui X + de: il a fallu qu'il donne son: n- + son nom et tout + + + + +ouais ouais ++ d'accord + mm + +et elle a demandé qui l'avait trouvé + et on lui a donné le nom d'ce: + + + +ce monsieur + + + + +de du monsieur + +[oui;du] monsieur oui + + + + +oui puis ç'avait été médiatisé ça c'était passé à la radio + +oui: + et alors mais: il s'est: + + + + +il avait pas beaucoup d'argent j'vous l'dis hein + eh ben il s'était privé pour acheter un couvert en argent + à son filleul + + + + +ah ben voyez hein + +et il l'avait acheté chez Pêchoux + + + +ah oui + + + + + +ça c'était d'la belle argenterie X + +ah oui (rires) + + + + +X voilà voilà voilà voilà + ah oui + +oui + + + +ah c'est sûr + + + + +et alors il a été au baptême aux Milandes là + +vous l'connaissez bien + + + +ouais + + + +et puis: euh il était un peu décu parce que + elle les a ramenés à Paris puis elle dit à son habilleuse + "ben vous viendrez passer une quinzaine au château" ++ mais lui elle l'avait pas invité + + + + +d'accord + + + +X oui mais ça a pas les mêmes relations + vous vous êtes là qu'occasionnellement + son habilleuse elle la voit tous les jours ++ + + + + +c'est vrai ++ ouais + +mm + ouais ouais bien sûr ouais + ouais ouais + + + + + +alors ils ont donné le nom ++ Joséphine Baker + +une belle histoire (rires) j'savais pas ça + + + + +j'apprends plein d'choses en fait dans ces: dans ces entretiens ouais c'est fascinant + +ben oui + ben oui mais c'est sûr hein + c'est sûr + + + + +à chaque fois il y a quelque chose + ouais + ouais ouais + +des questions euh: + c'est ça les personnes âgées + il y a d'belles choses hein + + +
+
+ + +et vous madame Pollet votre: votre école: ça s- + + + + +ça s'est bien passé dans la Nièvre là ? + ouais + vous avez de: + +ah ben non moi j'étais à l'école dans la Nièvre + les monts d'Morvan vraiment + + + + +vraiment les monts du Morvan + +XXX (rires Marc) + + + +euh: je suis venue j'avais neuf ans + mais une grand-mère à: + Champigny-sur-Marne + + + + +ah ouais + +mais comme c'était en pleine guerre je n'suis pas restée longtemps parce que moi: descendre tout l'temps à la cave: les bombardements + + + + +mm + + + + +très peu pour moi j'ai préféré retourner chez ma mère (rires) à la campagne j'étais plus tran- plus tranquille + et puis donc euh non: + + + + + +ben j'ai fait mes écoles: dans l'Morvan + +ça s'est bien passé + est-ce que vous vous souvenez d'une d'un enseignant qui vous a marquée euh? +++ + + + +madame Legris elle s'appelait + euh elle m'a elle m'a fait pra-pratiquement toutes mes classes + de la maternelle à: + + + + +il y avait trois écoles quand même dans ce bourg c'était un bourg important + +mm ++ ouais ouais + + + + +où est enterré Paul d'ailleurs + + + +ah oui + + + + +cimetière on avait: boulanger épicier euh mairie: enfin tout quoi + + + + +mm ++ ah oui + +c'était vraiment un bourg important + + + + +maintenant dans: j'y suis allée + +et vous êtes dans le Loiret non? + + + + + +non dans l'Morvan + +dans la Nièvre + + + + +dans la ah dans les monts d'Morvan + ah oui + +cinquante-huit + + + + +j'y suis allée donc lundi dernier (brouhaha) + +mais ça a dû changer hein depuis + + + + +hein? + +ah il y a plus rien + + + + +ah ben oui hein parce que: X + +c'est l'pays à Mitterrand la Nièvre + + + +oui tout à fait XX + + + +oui c'est pour ça que vous vous êtes: + + + + oui + oui oui ++ + + + + + vous l'avez connu non? + ++ j'étais très bien avec Mitterrand + + + +mes parents étaient très bien il venait chez nous euh: comme moi j'étais reçue en [hiver;X] euh: chez Mitterrand + + + +j'ai été euh ++ + + + +et c'est pour ça que: ++ + + + + +il ét- on déjeunait au même: restaurant le vieux Morvan + à: Chateau-Chinon + il était maire de Chateau-Chinon + +j'ai bien regretté euh Mitterrand euh ++ parce que certainement + + + + +oui il était maire oui + +ouais c'est ça ouais + + + + +je l'ai vu là + on a parlé ensemble ++ oui ++ Chateau-Chinon + +il a son musée là-bas [à Chinon;chez nous] + il y a l'musée là + de tout: de beaucoup d'objets qu'il ramenait de: + qu'on lui offrait quoi + + + + +mais il paraît que sa femme a mis en vente ses euh ses: ses [affaires;X] + +ouais c'est ça + mm + mm + + + + +(brouhaha) elle a vendu tous ses vêtements + +oui ça y est c'est vendu hein + + + + +(brouhaha) XXX + +mais ça s'est vendu cher hein + + + + +au moins trente mille costumes + +oui hein ça fait XX + + + + +(brouhaha) enfin c'est pour son association c'est pour euh: + +oui oui oui + oui oui oui + + + + +mm + oui c'est ça + +c'est pas pour elle elle a pas besoin de + + + + +X c'est pas pour elle bien sûr hein + +mais moi quand je l'ai vu il était pas président de la République + + + + + +et j'me rappelle: X et j'av- euh oui ben il était: + +il devait être ministre non? + + + + +déjà + euh: député: maire de son patelin X + +oui il a été pas mal ministre hein + oui + + + + +j'avais acheté une carte postale + petite X deviendra grande + alors je lui dis vous pouvez me signer une car- ah ben oui + +mais Chateau-Chinon XX à partir du moment que: Mitterrand est: ++ n'a plus été président + + + +j'dis + avant + lisez ce qu'il y a dessus + j'dis j'vous souhaite la même chose ah ben ça c'est gentil (rires Marc) + + + + +il était ministre sous De Gaulle (brouhaha) + +vous êtes très bien X (rires) + +
+
+ + + +mais moi je sais j'ai beau-beaucoup regretté comme comme monsieur Lefort d'ailleurs + +toutes les deux +++ mm + + + + +comme disent les bons copains + hein ben voilà ben voilà + +ouais + ça n'a rien à voir hein + + + + +mais il est décédé ce monsieur Lefort? + +ben voilà + + + + +ah: il y a longtemps + +oui: + + + + +oh ben oui ça fait un moment + +Fernand Lefort euh: + + + +quarante ans + + + + +oh c'est il y a pas des masses d'années quand même + +cinquante-huit et il a dû décéder vers dans les années soixante + + + + +oh oui il y a une quarantaine d'années oui + +à peu près + + + + + +tant que ça? + +X après + + + + +oh oui + +oh oui oui oui + + + + + +dans les années soixante après c'était Paulette après + +mm + ah oui + + + +oui oui + oui + + + + + +pas tant que ça quand même ++ il y a pas oh non: + +Paulette elle a fait + trois mandatures ++ ah si ah si + + + + +il y a pas quarante ans qu- oh non: + +euh: peut-être pas soi-soixante cinq? + + + + + +dans les années soixante quand même hein monsieur Lefort ++ oh oui oui + oui oui + oui ++ oui oui + oui + puis après c'est: + +oui mais il y a au moins trente ans quand même hein + parce que son fils il a t- soixante-quatre ans ++ et: il était déjà marié + + + + +après c'était Paulette + +parce que moi c'ét- j'ai connu euh donc euh monsieur Lefort puisque ils étaient copains vers enfin copains + + + + +je ne sais pas s'ils étaient vraiment copains mais enfin [bref;bon] + +ben ils étaient du même parti X + + + + +il a inauguré pas mal de bâtiments en cinquante-huit + +avec monsieur: Mitterrand + + + + +en soixante il était encore là euh: il a dû par- oui c'est ça il a dû partir euh vers les années soixante-cinq + +et c'était sa secrétaire: Paulette Fost + + + + +il est venu inaugurer les bâtiments + +ah partir mais il est pas mort + + + + +il est pas mort à + +ah si si + + + + +si si si ben si + il a été X + +si + si si + il est mort euh: + + + + +attends j'pensais j'pensais que j'étais ici déjà moi quand euh + +dans les années soixante-cinq + ah non non non non non + non non + monsieur Lefort + + + + +j'le vois encore quand il XX + +après c'est: + après c'est Paulette + + + + +la maison + dans la rue: + +ah ça alors là + j'suis pas + + + + +alors là j'suis pas convaincue + (rires Marc) faudra que j'me renseigne de ça + +non non non (brouhaha) + + + + +avant d'aller X ça + +oui faudra vous renseigner + + + +(rires Marc) regardez dans l'di- + regardez dans l'dico il va vous l'dire + + + +oui + dans le: + + + +dans l'dictionnaire + + + + +oh non + +oui + + + +ouais + + + + +oh non il y est pas dans + dans [-;l']dictionnaire ++ + + + + +bon on va pas + +il a été sénateur + + + + +un moment mais pas longtemps + +oui sénateur de Seine + + + +j'vais pas dire que j'vais demander à un de mes voisins parce qu'ils n'sa- la moitié savent pas lire ni écrire (brouhaha général) ni compter + + + + +dans dans l'dictionnaire + +eh ben voilà + monsieur: Béranger aurait su nous l'dire + + + + +non: [j'vais;j'ai] la + +ah oui + + + + +ah oui + +bien sûr + bien sûr + + + + +monsieur Béranger (brouhaha) + +j'vais l'dem- non: mais j'vais l'demander + + + + +si vous voulez vraiment être + sur Saint-Ouen + +demander à la mairie hein + + + + +bon alors vous allez interviewer XXX + +téléphonez à monsieur + Béranger rue Saint-Denis + + + + +oui + oui oui j'vais j'vais peut-être le faire ouais mm + ouais ouais + +(brouhaha) XXX tout hein + + + +d'abord il fait partie d'la Réa + + + + + +mm + l'associa- historique ++ c'est c'est quoi + +c'est: + X connaître la Réa + + + + +un service historique de Saint-Ouen + +j'ai: rendez-vous avec un avocat là le vingt-sept j'demanderai l'avocat le: saura peut-être j'sais pas + + + + + +il s'occupe de: de l'association historique c'est ça ouais + sur Saint-Ouen ouais + +oui + oui avec Jean Lefort + + + + +ouais j'ai bien vu ++ ses articles dans le: + dans l'journal municipal + +c'est drôle il me semble pourtant que: + + + + +ben + si vous voulez le contacter ben + sans l'déranger le mieux c'est + d'aller euh rue Anselme + +savez qu'il ait quitté XX hein + + + + +mm ++ d'accord + d'accord ++ ah: ok + ah ben c'est c'est un bon tuyau ouais merci ouais mm ouais + c'est un bon tuyau + +au jumelage + ils font leurs réunions au jumelage tous les jeudis après-midi +++ tous les jeudis après-midi + + + +parce qu'il me semble quand même euh: + +
+
+ + +alors je: en j'vais vous: ramener à: au questionnaire donc euh en + j'voulais parler un petit peu des langues + qui se parlent donc euh dans la ville + euh: + est-ce que vous avez idée des langues qui se parlent: autour de vous euh? ++ + + + + +ben un petit peu [de;-] tout hein + +non pas trop (rires) + + + +je les connais pas toutes hein + + + +ouais ++ + + + + +vous avez pas assez + +je trouve que justement on (n')entend plus suffisamment l'français + + + +ah ouais (rires) + + + + +autour de nous + + + + +d'accord + et vous-même vous parlez pas d'autre langue que le: le français? + + + + +vous avez pas l'occasion de ++ mm + d'accord (rires) + +non: j'ai fait de l'anglais mais je l'ai pas continué alors + + + +comme c'était Paul qui était: ++ enfin j'avais un professeur mais comme c'était Paul surtout qui me: ++ qui le parlait donc euh évidemment: + + + + +Paul c'était votre compagnon c'est ça d'accord + + + + +eh ben maintenant: + +OK + +
+
+ + +ben si on parlait du français euh: + est-ce que vous voyez différentes façons de parler français dans euh + de de parler le français: + + + + +dans dans les différents quartiers: à Pa- + +ben: le le français si on le p- si on le parle bien + + + + +oh il y avait les: les + les chiffonniers qui parlaient argot + + + + + +c'est une langue un peu fermée évidemment c'est hermétique + +ouais ç- + + + +ben c'est comme les patois + ils ont tourné un film là sur les euh le Nord + là X quand ils vous parlent: + j'ai une amie qui est du Nord + alors elle disait euh + le: ils: faisaient le matin + ils buvaient d'la chicorée + + + + +mm + + + + + +X chicorée Leroux + +et puis + ils faisaient des tran- ils coupaient des tranches de pain + [et;ils] les tartinaient avec du maroual ++ [puis;-] ils trempaient ça dans le: chicorée + + + + +ah ouais ça dans l'Midi ça se fait beaucoup dans l'Nord ça + +c'est une marque c'est quoi le maroual? + + + + +c'est dans l'Nord elle [est;était] d'la région d'Lille + +c'est du fromage + + + + +c'est un fromage très fort + +ah: d'accord + oui oui oui + + + + +du fromage ++ du fromage + +non ça y est je je vois oui + + + + +sent fort + +ah ben dis donc + + + + +et vous vous vous souvenez de: d'exemples de leur euh: + argot + des chiffonniers euh + + + + + +alors euh: +++ l'argot + +ah oui ben moi j'ai connu les chiffonniers + comme comme j'ai connu les nomades euh: vous savez là euh: + où il y a + + + + +mais vous vous souvenez comment ils parlaient? + +où Augusto Baldi avait son petit café là dans la rue euh + + + + + +le long du périphérique maintenant + à la place du péri- il y a l'périphérique maintenant + j'ai connu les nomades là euh + qui étaient très gentils tout l'monde en avait peur mais: moi j'en avais pas peur jamais + +oui oui ben c'est au périphérique c'est sûr hein + oui + mm + XX tout ça + il y avait X + + + +mm + + + +ils étaient très corrects et tout: ils m'demandaient l'heure les petits les petits bonhommes et puis bon + + + + +ah ouais + mm + (rires) + +non non moi + + + + +jamais eu d'problèmes avec eux il y avait Augusto Baldi qu'avait son café euh: + il était pas dedans bien sûr pas s- oh en tous cas pas souvent + + + + + +d'accord donc euh le + non ça vous: + revient pas X ++ ouais ++ ouais ouais bien sûr oui des jargons: + mm ++ ouais + ouais: + +ben de l'argot c'est pas + évident c'est parce que + comme dans tous les métiers il y a de la: + X mots [ça;c'est] c'est typique + que vous: qui sont un peu imperméables + euh + + + + +c'était fait pour ça dans les premiers temps + +j'ai pas parlé l'argot euh j'ai pas + + + +et dans dans la autour de vous: vous sentez une différence entre par exemple les jeunes et les vieux: ou + + + +à l'époque non + + + + +à l'époque non + + + +non + + + +[-;et] aujourd'hui? + + + +maintenant oui + + + + + +au fur à mesure + +oh aujourd'hui + + + + + j'vis en pavillon j'suis: + chez moi + (rires Marc) elle connaît Jeanne + ben: ben Farah aussi elle est venue chez moi + là j'vois personne pratiquement + + + +d'accord + + + +puis à côté ben c'est une maison en ruines + et puis à droite: c'est ma voisine + + + + + +oui puis il y a pas d'enfants il y a rien donc euh vous pouvez pas: voir euh + des différences + +ben: ++ ah non non non non ah non + non + non + + + +et vous avez des: des enfants des petits-enfants? + + + + +qui moi? + oui + +ben vous deux vous ouais + + + +oui j'ai deux enfants moi + deux jeunes + + + + +et des petits-enfants? ++ ouais + +oui: + + + +puis j'vais être arrière-grand-mère au: mois prochain + + + + +ah: félicitations (rires) + pour la première fois? + ouais ++ mm (rires) ++ mm + +ah oui ++ oui + ben oui oh ben ils se sont pas décidés de bonne heure + c'est ma petite fille elle a trente-et-un ans hein + + + + +elle avait dit pour mes trente ans j'veux un enfant + + + + +(rires) un beau cadeau + +XXX + ça y est ils ont acheté un enfant X + + + +ben ça y est + c'est X là hein + + + + +et vous entre: + la façon d'parler français de vos: petits-enfants et votre façon d'parler vous voyez des: différences + [-;ou] pas spécialement + + +oh non ben non + oh non: ben non + + +
+
+ + +d'accord + OK + euh: ++ d'accord ++ hum + alors est-ce que: + le quartier où vous habitez à Saint-Ouen est-ce que est-ce que vous: + vous avez vu des: + des problèmes économiques ou est-ce que vous avez senti que: + que l'quartier a été touché par des: des problèmes économiques: + + + +oh certainement + + + +ouais + + + + +certainement pour que + c'est malheureux à dire mais quand vous quittez votre pays c'est pas d'bon coeur + ou alors faut vraiment avoir une situation extraordinaire + + + +mm + + + +mais: Farah j'sais pas si c'est ++ vous êtes venue parce que vous étiez + on vous a mis un travail intéressant + + + +non moi je suis venue ici quand j'avais deux ans et demi + + + + +ah oui c'est: déjà les parents + + + + +X vous êtes X quelle origine? + +donc euh: algérienne ++ + + + +c'est vrai que que quand j'vois mon pays je ça ça me crève le coeur quoi + + + + + +XX pauvre(s) X + +ah oui ça c'est sûr + c'est sûr ++ + + + +donc les dans dans le: dans Saint-Ouen les les problèmes économiques: + sont plus: marqués aujourd'hui que: + + + + +qu'il y a vingt ans trente ans + c'est + d'accord + +c'est différent c'est totalement différent ça n'a rien à voir + +
+
+ + +autrefois X + oh c'était à peu près tout l'monde pareil + + + + +mm +++ ouais + ouais ouais + +les trois quarts ils travaillaient en usine dans notre mon quartier là + bon ben: tous les jours tous les jours ben ils allaient là rue Blanqui là + il y avait: j'sais plus + combien d'usines + + + +(brouhaha) oh il y avait X il y avait: j'sais plus + + + + +mm + +oh oui + + + + +mm + +il y avait énormément de: + + + +ben il y avait des ouvriers spécialisés XX + + + + + +mm + mais ils étaient moins touchés par l'chômage paut-être ou euh + ouais + + +ah ben c'était différent ++ + + + + +on connaissait pas l'chômage + moi j'ai jamais connu + oh peut-être mais enfin moi j'en ai j-j'ai jamais connu l'chômage + +complètement différent + oh XX il y en a toujours eu mais XX + + + +j'ai payé + ma c- ma [cot-;côte] euh: + comme tout l'monde + j'voyais chômage sur ma feuille de paie + mais j'ai jamais été au chômage pas une seule journée + parce qu'à c-c'est une époque + euh vous vous: pouviez quitter une maison et hop sortir s- + aller dans l'autre le lendemain: + + + + +ouais + ouais ouais + (rires) + +ah oui vous avez du boulot partout ++ il y avait de l'emploi partout + + + + +j'me rappelle être allée au ministère du travail là quand mes parents ont: co- + comme j'travaillais avec eux + à un moment donné j'dis: quand ils vont prendre leur retraite qu'est-ce que j'fais moi? + +avec un peu d'connaissances un peu d'intelligence: pff + + + + +ah ben oui + +ah oui + + + + +ça c'est l'problème hein + +alors j'ai été au ministère du travail et puis j'leur dis ben + j'habite Saint-Ouen ah + ben il y a du travail à Saint-Ouen mais vous allez peut-être pas en vouloir + j'dis pourquoi j'en voudrais pas? + c'est à côté + j'ai travaillé à l'Alstom + + + +ah oui + + + + +ah oui l'Alstom tout ça [moche comme tout;moi j'XX] + +service: + bureau(x) là + + + +mm + + + + +j'y allais à pieds j'prenais la rue: XXX c'était rue: + ça donnait sur le boulevard Victor Hugo + +dans la rue des Bateliers? (brouhaha) ++ ouais + ouais ouais + + + + +non + Docteur Bauer Alstom + +moi j'ai fait des: stages d'ailleurs + + + + +euh non + +chez X là + + + + +non? + +pour mon métier + + + +ben non + Alstom c'était la der- rue des Bateliers + + + + +Bateliers ouais + ouais c'est ça mm + +ah aux Bateliers ah oui oui oui + + + +c'était là l'entrée X + + + +près des petits jardins + + + + +et alors ce qu'il y avait + à l'époque + +ah oui derrière là-bas + + + + +oui c'est vrai + +(brouhaha) il y avait tous les petits jardins + + + + +oui voilà c'est ça les jardins oui ++ c'est vrai? + +c'était une grosse X + ben moi j'me suis trouvée enfermée moi un soir ben oui + + + + +les jardins oui c'est ça + +ils vendaient des légumes oh la + + + + +me suis retrouvée enfermée dans les jardins + +ah oui? ++ les les jardiniers? + + + +oh oui il y avait des jardiniers mais c'étaient des ouvriers d'Alstom + + + + +com-comment ça se passait la vente: + ouais + +on leur concédait un morceau d'jardin + mais j'allais acheter les tomates oh ben dis donc alors + + + + + +(brouhaha) c'était: ponctuel les ventes: ou euh + comme ça + +oh c'était formidable X + + + + +est-ce qu'ils existent encore les petits jardins c'est tout + +non: non: non non + + + + +XXX + +vous avez pas vu il y a cinq grues là dans les: terrains + + + + +et puis bon ben le: + le château d'Saint-Ouen + était concédé + à l'Alstom + +ça construit [ça monte;XX] + pfff + + + + +oui ils en ont fait euh des jardins dans le vieux Saint-Ouen euh: pour euh: + pour les personnes de la ville + +pour un: + un: + un bail + de quatre-vingt-dix-neuf ans + + + + +d'accord + d'accord + oui oui oui mm + mm + +où chaque année ils euh: cultivent un petit peu de: + de terre bien à eux + + + + +d'accord + +et après la ville a + + + + +ah c'est peut-être vers le: + +ouais + ouais ouais + + + + +vous savez vers les + +maintenant ils cassent + + + + +vignes là les anciennes vignes + +maintenant ils cassent: + oui c'est vrai + + + +ben eux ils ont refait XXX (brouhaha) + + + + +ben non il y a pas de terrain là + c'est indivisible + +le: TGV c'est Alstom encore + + + + +mm ++ ouais + +mais c'était à Saint-Ouen avant + + + + +ah peut-être au fond + +ouais + + + +il y a rien + + + + + +je vais juste + euh: + +peut-être en bas + + + + +je sais pas moi je sais que c'est j-j- X + +qu'est-ce qu'ils en ont fait:? + +
+
+
\ No newline at end of file diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/crdo-FRA_PK_IV_10.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/crdo-FRA_PK_IV_10.xml Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,255 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/crdo-FSL-CUC023.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/crdo-FSL-CUC023.xml Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,465 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/crdo-UVE_MOCIKA.ttl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/crdo-UVE_MOCIKA.ttl Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,79 @@ +@prefix rdf: . +@prefix rdfs: . +@prefix sesame: . +@prefix owl: . +@prefix xsd: . +@prefix fn: . + +<%1$scrdo-UVE_MOCIKA_SOUND> a ; + ; + "Laboratoire de langues et civilisations à tradition orale" ; + , , ; + ; + ; + "Corpus de la Parole"@fr ; + . + + a ; + "application/xml"^^ ; + "Copyright (c) Moyse-Faurie, Claire" ; + "Freely available for non-commercial use" ; + "2011-02-05T23:22:23+01:00"^^ ; + ; + . + + a ; + "Copyright (c) Moyse-Faurie, Claire" ; + "Freely available for non-commercial use" ; + "1997-08-29"^^ ; + "PT2M35S" ; + "2010-10-23T00:08:27+02:00"^^ ; + , ; + , "Idakote, Félicien" ; + "Voilà pourquoi le bernard-l'hermite, aujourd'hui, se cache dans les coquilles vides qu'il trouve, alors que le crabe de cocotier n'a pas honte de se promener tout nu."@fr ; + "%2$scrdo-UVE_MOCIKA_SOUND" , "ark:/87895/1.5-158028" , "oai:crdo.vjf.cnrs.fr:crdo-UVE_MOCIKA" , "ark:/87895/1.5-144187" , "oai:crdo.vjf.cnrs.fr:crdo-UVE_MOCIKA_SOUND" ; + ; + "Laboratoire de langues et civilisations à tradition orale" ; + , , , "Fagauvea"@fr ; + "The two hermit crabs and the coconut crab"@en ; + , "primary_text"^^ , , , "narrative"^^ ; + "2010-10-23"^^ ; + _:genid-96e763146d60429c84bd65b5f1685177-genid2 ; + , ; + ; + "Idakote, Félicien" ; + "Les deux bernard-l'hermite et le crabe de cocotier"@fr ; + ; + "2002-02-20"^^ . + +_:genid-96e763146d60429c84bd65b5f1685177-genid2 a ; + "NC"^^ , "New Caledonia, Ohnyat (Ouvéa)" . + + a ; + "audio/x-wav"^^ ; + "Copyright (c) Moyse-Faurie, Claire" ; + "Freely available for non-commercial use" ; + "1997-08-29"^^ ; + "PT2M35S" ; + "2010-10-23T00:08:27+02:00"^^ ; + ; + . + + a ; + "audio/x-wav"^^ ; + "Copyright (c) Moyse-Faurie, Claire" ; + "Freely available for non-commercial use" ; + "1997-08-29"^^ ; + "PT2M35S" ; + "2010-10-23T00:08:27+02:00"^^ ; + . + + a ; + "audio/mpeg"^^ ; + "Copyright (c) Moyse-Faurie, Claire" ; + "Freely available for non-commercial use" ; + "1997-08-29"^^ ; + "PT2M35S" ; + "2010-10-23T00:08:27+02:00"^^ ; + ; + . diff -r 5f011170de74 -r a6cf5a06f02d server/src/tests/Libraries/Transcript/crdo-UVE_MOCIKA.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/tests/Libraries/Transcript/crdo-UVE_MOCIKA.xml Sat May 28 11:49:38 2016 +0200 @@ -0,0 +1,1937 @@ + + + +
+ Les deux bernard-l'hermite et le crabe de cocotier + The two hermit crabs and the coconut crab + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file