Notice (8): Undefined index: [APP/Template/Lessons/view.ctp, line 67]Code Context<div class="alert alert-warning alert-dismissible text-center <?=$preferred_dialect==$dialect_id?'d-none':''?>" id="dialectChanged">
<span class="fa fa-exclamation-circle mr-2"></span> <?= __('Uh-oh! We don\'t have this lesson in the <em>{0}</em> dialect. It has been replaced with the <strong>{1}</strong> dialect.',$dialects[$preferred_dialect],$dialects[$dialect_id])?>
</div>
$viewFile = '/mnt/data/www/virtual/lessons.innu.atlas-ling.ca/webroot/htdocs/src/Template/Lessons/view.ctp' $dataForView = [ '_serialize' => [ (int) 0 => 'lesson', (int) 1 => 'dialects', (int) 2 => 'levels', (int) 3 => 'dialect_id', (int) 4 => 'preferred_dialect' ], 'lesson' => object(App\Model\Entity\Lesson) { 'id' => (int) 1, 'title_en' => 'Lesson 1', 'title_fr' => 'Leçon 1', 'description_en' => '<p>Writing the initial <em>a</em>, which is not pronounced in some dialects</p>', 'description_fr' => '<p><span lang="FR-CA">Écrire le <em>a</em> initial, qui ne se prononce pas dans certains dialectes</span></p>', 'is_public' => true, 'dialect_id' => null, 'lesson_type_id' => (int) 2, 'stories' => [[maximum depth reached]], 'levels' => [ [maximum depth reached] ], 'activities' => [ [maximum depth reached] ], 'syllables' => [ [maximum depth reached] ], 'lexicons' => [ [maximum depth reached] ], 'dialect' => null, '[new]' => false, '[accessible]' => [ [maximum depth reached] ], '[dirty]' => [[maximum depth reached]], '[original]' => [[maximum depth reached]], '[virtual]' => [[maximum depth reached]], '[errors]' => [[maximum depth reached]], '[invalid]' => [[maximum depth reached]], '[repository]' => 'Lessons' }, 'dialect_id' => null, 'preferred_dialect' => null, 'levels' => [ (int) 1 => 'Lire et écrire en innu', (int) 2 => 'Vocabulaire innu', (int) 3 => 'Vocabulaire thématique 2', (int) 4 => 'OLD Vocabulaire et grammaire', (int) 5 => 'Distinguer les dialectes ', (int) 6 => 'Exercices à partir de textes', (int) 7 => 'Grammaire innue: Les familles de mots', (int) 8 => 'Grammaire innue: Les verbes', (int) 9 => 'Vocabulaire thématique 1', (int) 10 => 'Conversations 1 (Aimitutau 1)', (int) 11 => 'Témoignages personnels (Uauinitishunanu)', (int) 12 => 'Conjugaison des verbes: VAI – Débutant 1 ', (int) 13 => 'Grammaire innue: Les pronoms', (int) 14 => 'Vocabulaire thématique 3 (Akua-nutin)', (int) 15 => 'Conjugaison des verbes: VTA – Débutant 2', (int) 17 => 'Conjugaison des verbes: Avancé', (int) 18 => 'Conjugaison des verbes: VAI – Débutant 2', (int) 19 => 'Conjugaison des verbes: VTA – Débutant 1', (int) 21 => 'Conjugaison des verbes: VII – Débutant', (int) 22 => 'Conjugaison des verbes: VTI – Débutant 1 ', (int) 23 => 'Conjugaison des verbes: VTI – Débutant 2', (int) 25 => 'Conjugaison des verbes: VAI – Intermédiaire', (int) 26 => 'Conjugaison des verbes: VTA – Intermédiaire 1', (int) 27 => 'Conjugaison des verbes: VTI – Intermédiaire', (int) 28 => 'Exemple d'un module', (int) 29 => 'Conjugaison des verbes: VTA – Intermédiaire 2', (int) 30 => 'Conversations 2 (Aimitutau 2)', (int) 31 => 'Vocabulaire avec pictogrammes', (int) 32 => 'Phrases et dialogues 1', (int) 33 => 'Phrases et dialogues 2', (int) 34 => 'Phrases et dialogues 3', (int) 35 => 'Conversations 3 (Aimitutau 3)', (int) 36 => 'Conversations 4 (Aimitutau 4)', (int) 37 => 'Formation continue', (int) 38 => 'Tan tatutipaikana tekuak? Quelle heure est-il?', (int) 40 => 'Vocabulaire thématique vu en classe' ], 'dialects' => [ (int) 1 => 'Centre', (int) 2 => 'Est', (int) 3 => 'Ouest', (int) 4 => 'Sheshatshiu', (int) 5 => 'Mushuau' ] ] $_serialize = [ (int) 0 => 'lesson', (int) 1 => 'dialects', (int) 2 => 'levels', (int) 3 => 'dialect_id', (int) 4 => 'preferred_dialect' ] $lesson = object(App\Model\Entity\Lesson) { 'id' => (int) 1, 'title_en' => 'Lesson 1', 'title_fr' => 'Leçon 1', 'description_en' => '<p>Writing the initial <em>a</em>, which is not pronounced in some dialects</p>', 'description_fr' => '<p><span lang="FR-CA">Écrire le <em>a</em> initial, qui ne se prononce pas dans certains dialectes</span></p>', 'is_public' => true, 'dialect_id' => null, 'lesson_type_id' => (int) 2, 'stories' => [], 'levels' => [ (int) 0 => object(App\Model\Entity\Level) {} ], 'activities' => [ (int) 0 => object(App\Model\Entity\Activity) {}, (int) 1 => object(App\Model\Entity\Activity) {}, (int) 2 => object(App\Model\Entity\Activity) {}, (int) 3 => object(App\Model\Entity\Activity) {}, (int) 4 => object(App\Model\Entity\Activity) {}, (int) 5 => object(App\Model\Entity\Activity) {}, (int) 6 => object(App\Model\Entity\Activity) {}, (int) 7 => object(App\Model\Entity\Activity) {}, (int) 8 => object(App\Model\Entity\Activity) {}, (int) 9 => object(App\Model\Entity\Activity) {}, (int) 10 => object(App\Model\Entity\Activity) {}, (int) 11 => object(App\Model\Entity\Activity) {} ], 'syllables' => [ (int) 0 => object(App\Model\Entity\Syllable) {}, (int) 1 => object(App\Model\Entity\Syllable) {}, (int) 2 => object(App\Model\Entity\Syllable) {}, (int) 3 => object(App\Model\Entity\Syllable) {}, (int) 4 => object(App\Model\Entity\Syllable) {} ], 'lexicons' => [ (int) 0 => object(App\Model\Entity\Lexicon) {}, (int) 1 => object(App\Model\Entity\Lexicon) {}, (int) 2 => object(App\Model\Entity\Lexicon) {}, (int) 3 => object(App\Model\Entity\Lexicon) {}, (int) 4 => object(App\Model\Entity\Lexicon) {} ], 'dialect' => null, '[new]' => false, '[accessible]' => [ 'title_en' => true, 'title_fr' => true, 'description_en' => true, 'description_fr' => true, 'lesson_type_id' => true, 'admin_note' => true, 'user_id' => true, 'is_public' => true, 'meta' => true, 'created_at' => true, 'updated_at' => true, 'log' => true, 'lesson_type' => true, 'user' => true, 'activities' => true, 'levels' => true, 'lexicons' => true, 'syllables' => true ], '[dirty]' => [], '[original]' => [], '[virtual]' => [], '[errors]' => [], '[invalid]' => [], '[repository]' => 'Lessons' } $dialect_id = null $preferred_dialect = null $levels = [ (int) 1 => 'Lire et écrire en innu', (int) 2 => 'Vocabulaire innu', (int) 3 => 'Vocabulaire thématique 2', (int) 4 => 'OLD Vocabulaire et grammaire', (int) 5 => 'Distinguer les dialectes ', (int) 6 => 'Exercices à partir de textes', (int) 7 => 'Grammaire innue: Les familles de mots', (int) 8 => 'Grammaire innue: Les verbes', (int) 9 => 'Vocabulaire thématique 1', (int) 10 => 'Conversations 1 (Aimitutau 1)', (int) 11 => 'Témoignages personnels (Uauinitishunanu)', (int) 12 => 'Conjugaison des verbes: VAI – Débutant 1 ', (int) 13 => 'Grammaire innue: Les pronoms', (int) 14 => 'Vocabulaire thématique 3 (Akua-nutin)', (int) 15 => 'Conjugaison des verbes: VTA – Débutant 2', (int) 17 => 'Conjugaison des verbes: Avancé', (int) 18 => 'Conjugaison des verbes: VAI – Débutant 2', (int) 19 => 'Conjugaison des verbes: VTA – Débutant 1', (int) 21 => 'Conjugaison des verbes: VII – Débutant', (int) 22 => 'Conjugaison des verbes: VTI – Débutant 1 ', (int) 23 => 'Conjugaison des verbes: VTI – Débutant 2', (int) 25 => 'Conjugaison des verbes: VAI – Intermédiaire', (int) 26 => 'Conjugaison des verbes: VTA – Intermédiaire 1', (int) 27 => 'Conjugaison des verbes: VTI – Intermédiaire', (int) 28 => 'Exemple d'un module', (int) 29 => 'Conjugaison des verbes: VTA – Intermédiaire 2', (int) 30 => 'Conversations 2 (Aimitutau 2)', (int) 31 => 'Vocabulaire avec pictogrammes', (int) 32 => 'Phrases et dialogues 1', (int) 33 => 'Phrases et dialogues 2', (int) 34 => 'Phrases et dialogues 3', (int) 35 => 'Conversations 3 (Aimitutau 3)', (int) 36 => 'Conversations 4 (Aimitutau 4)', (int) 37 => 'Formation continue', (int) 38 => 'Tan tatutipaikana tekuak? Quelle heure est-il?', (int) 40 => 'Vocabulaire thématique vu en classe' ] $dialects = [ (int) 1 => 'Centre', (int) 2 => 'Est', (int) 3 => 'Ouest', (int) 4 => 'Sheshatshiu', (int) 5 => 'Mushuau' ] $lang = 'fr' $session = object(Cake\Http\Session) { [protected] _engine => null [protected] _started => true [protected] _lifetime => (int) 1440 [protected] _isCLI => false } $soundDialect = 'C' $preURL = '/' $isL2 = false $showAllDialects = false $syllabicHelper = object(App\Lib\SyllablicHelper) { }include - APP/Template/Lessons/view.ctp, line 67 Cake\View\View::_evaluate() - CORE/src/View/View.php, line 1240 Cake\View\View::_render() - CORE/src/View/View.php, line 1201 Cake\View\View::render() - CORE/src/View/View.php, line 803 Cake\Controller\Controller::render() - CORE/src/Controller/Controller.php, line 790 Cake\Http\ActionDispatcher::_invoke() - CORE/src/Http/ActionDispatcher.php, line 126 Cake\Http\ActionDispatcher::dispatch() - CORE/src/Http/ActionDispatcher.php, line 94 Cake\Http\BaseApplication::__invoke() - CORE/src/Http/BaseApplication.php, line 235 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\I18n\Middleware\LocaleSelectorMiddleware::__invoke() - CORE/src/I18n/Middleware/LocaleSelectorMiddleware.php, line 65 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\Http\Middleware\CsrfProtectionMiddleware::__invoke() - CORE/src/Http/Middleware/CsrfProtectionMiddleware.php, line 103 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\Routing\Middleware\RoutingMiddleware::__invoke() - CORE/src/Routing/Middleware/RoutingMiddleware.php, line 156 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\Routing\Middleware\AssetMiddleware::__invoke() - CORE/src/Routing/Middleware/AssetMiddleware.php, line 88 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
Notice (8): Undefined index: [APP/Template/Lessons/view.ctp, line 67]Zut! On n'a pas cette leçon dans le dialecte . On l'a remplacé par le dialecte .Code Context<div class="alert alert-warning alert-dismissible text-center <?=$preferred_dialect==$dialect_id?'d-none':''?>" id="dialectChanged">
<span class="fa fa-exclamation-circle mr-2"></span> <?= __('Uh-oh! We don\'t have this lesson in the <em>{0}</em> dialect. It has been replaced with the <strong>{1}</strong> dialect.',$dialects[$preferred_dialect],$dialects[$dialect_id])?>
</div>
$viewFile = '/mnt/data/www/virtual/lessons.innu.atlas-ling.ca/webroot/htdocs/src/Template/Lessons/view.ctp' $dataForView = [ '_serialize' => [ (int) 0 => 'lesson', (int) 1 => 'dialects', (int) 2 => 'levels', (int) 3 => 'dialect_id', (int) 4 => 'preferred_dialect' ], 'lesson' => object(App\Model\Entity\Lesson) { 'id' => (int) 1, 'title_en' => 'Lesson 1', 'title_fr' => 'Leçon 1', 'description_en' => '<p>Writing the initial <em>a</em>, which is not pronounced in some dialects</p>', 'description_fr' => '<p><span lang="FR-CA">Écrire le <em>a</em> initial, qui ne se prononce pas dans certains dialectes</span></p>', 'is_public' => true, 'dialect_id' => null, 'lesson_type_id' => (int) 2, 'stories' => [[maximum depth reached]], 'levels' => [ [maximum depth reached] ], 'activities' => [ [maximum depth reached] ], 'syllables' => [ [maximum depth reached] ], 'lexicons' => [ [maximum depth reached] ], 'dialect' => null, '[new]' => false, '[accessible]' => [ [maximum depth reached] ], '[dirty]' => [[maximum depth reached]], '[original]' => [[maximum depth reached]], '[virtual]' => [[maximum depth reached]], '[errors]' => [[maximum depth reached]], '[invalid]' => [[maximum depth reached]], '[repository]' => 'Lessons' }, 'dialect_id' => null, 'preferred_dialect' => null, 'levels' => [ (int) 1 => 'Lire et écrire en innu', (int) 2 => 'Vocabulaire innu', (int) 3 => 'Vocabulaire thématique 2', (int) 4 => 'OLD Vocabulaire et grammaire', (int) 5 => 'Distinguer les dialectes ', (int) 6 => 'Exercices à partir de textes', (int) 7 => 'Grammaire innue: Les familles de mots', (int) 8 => 'Grammaire innue: Les verbes', (int) 9 => 'Vocabulaire thématique 1', (int) 10 => 'Conversations 1 (Aimitutau 1)', (int) 11 => 'Témoignages personnels (Uauinitishunanu)', (int) 12 => 'Conjugaison des verbes: VAI – Débutant 1 ', (int) 13 => 'Grammaire innue: Les pronoms', (int) 14 => 'Vocabulaire thématique 3 (Akua-nutin)', (int) 15 => 'Conjugaison des verbes: VTA – Débutant 2', (int) 17 => 'Conjugaison des verbes: Avancé', (int) 18 => 'Conjugaison des verbes: VAI – Débutant 2', (int) 19 => 'Conjugaison des verbes: VTA – Débutant 1', (int) 21 => 'Conjugaison des verbes: VII – Débutant', (int) 22 => 'Conjugaison des verbes: VTI – Débutant 1 ', (int) 23 => 'Conjugaison des verbes: VTI – Débutant 2', (int) 25 => 'Conjugaison des verbes: VAI – Intermédiaire', (int) 26 => 'Conjugaison des verbes: VTA – Intermédiaire 1', (int) 27 => 'Conjugaison des verbes: VTI – Intermédiaire', (int) 28 => 'Exemple d'un module', (int) 29 => 'Conjugaison des verbes: VTA – Intermédiaire 2', (int) 30 => 'Conversations 2 (Aimitutau 2)', (int) 31 => 'Vocabulaire avec pictogrammes', (int) 32 => 'Phrases et dialogues 1', (int) 33 => 'Phrases et dialogues 2', (int) 34 => 'Phrases et dialogues 3', (int) 35 => 'Conversations 3 (Aimitutau 3)', (int) 36 => 'Conversations 4 (Aimitutau 4)', (int) 37 => 'Formation continue', (int) 38 => 'Tan tatutipaikana tekuak? Quelle heure est-il?', (int) 40 => 'Vocabulaire thématique vu en classe' ], 'dialects' => [ (int) 1 => 'Centre', (int) 2 => 'Est', (int) 3 => 'Ouest', (int) 4 => 'Sheshatshiu', (int) 5 => 'Mushuau' ] ] $_serialize = [ (int) 0 => 'lesson', (int) 1 => 'dialects', (int) 2 => 'levels', (int) 3 => 'dialect_id', (int) 4 => 'preferred_dialect' ] $lesson = object(App\Model\Entity\Lesson) { 'id' => (int) 1, 'title_en' => 'Lesson 1', 'title_fr' => 'Leçon 1', 'description_en' => '<p>Writing the initial <em>a</em>, which is not pronounced in some dialects</p>', 'description_fr' => '<p><span lang="FR-CA">Écrire le <em>a</em> initial, qui ne se prononce pas dans certains dialectes</span></p>', 'is_public' => true, 'dialect_id' => null, 'lesson_type_id' => (int) 2, 'stories' => [], 'levels' => [ (int) 0 => object(App\Model\Entity\Level) {} ], 'activities' => [ (int) 0 => object(App\Model\Entity\Activity) {}, (int) 1 => object(App\Model\Entity\Activity) {}, (int) 2 => object(App\Model\Entity\Activity) {}, (int) 3 => object(App\Model\Entity\Activity) {}, (int) 4 => object(App\Model\Entity\Activity) {}, (int) 5 => object(App\Model\Entity\Activity) {}, (int) 6 => object(App\Model\Entity\Activity) {}, (int) 7 => object(App\Model\Entity\Activity) {}, (int) 8 => object(App\Model\Entity\Activity) {}, (int) 9 => object(App\Model\Entity\Activity) {}, (int) 10 => object(App\Model\Entity\Activity) {}, (int) 11 => object(App\Model\Entity\Activity) {} ], 'syllables' => [ (int) 0 => object(App\Model\Entity\Syllable) {}, (int) 1 => object(App\Model\Entity\Syllable) {}, (int) 2 => object(App\Model\Entity\Syllable) {}, (int) 3 => object(App\Model\Entity\Syllable) {}, (int) 4 => object(App\Model\Entity\Syllable) {} ], 'lexicons' => [ (int) 0 => object(App\Model\Entity\Lexicon) {}, (int) 1 => object(App\Model\Entity\Lexicon) {}, (int) 2 => object(App\Model\Entity\Lexicon) {}, (int) 3 => object(App\Model\Entity\Lexicon) {}, (int) 4 => object(App\Model\Entity\Lexicon) {} ], 'dialect' => null, '[new]' => false, '[accessible]' => [ 'title_en' => true, 'title_fr' => true, 'description_en' => true, 'description_fr' => true, 'lesson_type_id' => true, 'admin_note' => true, 'user_id' => true, 'is_public' => true, 'meta' => true, 'created_at' => true, 'updated_at' => true, 'log' => true, 'lesson_type' => true, 'user' => true, 'activities' => true, 'levels' => true, 'lexicons' => true, 'syllables' => true ], '[dirty]' => [], '[original]' => [], '[virtual]' => [], '[errors]' => [], '[invalid]' => [], '[repository]' => 'Lessons' } $dialect_id = null $preferred_dialect = null $levels = [ (int) 1 => 'Lire et écrire en innu', (int) 2 => 'Vocabulaire innu', (int) 3 => 'Vocabulaire thématique 2', (int) 4 => 'OLD Vocabulaire et grammaire', (int) 5 => 'Distinguer les dialectes ', (int) 6 => 'Exercices à partir de textes', (int) 7 => 'Grammaire innue: Les familles de mots', (int) 8 => 'Grammaire innue: Les verbes', (int) 9 => 'Vocabulaire thématique 1', (int) 10 => 'Conversations 1 (Aimitutau 1)', (int) 11 => 'Témoignages personnels (Uauinitishunanu)', (int) 12 => 'Conjugaison des verbes: VAI – Débutant 1 ', (int) 13 => 'Grammaire innue: Les pronoms', (int) 14 => 'Vocabulaire thématique 3 (Akua-nutin)', (int) 15 => 'Conjugaison des verbes: VTA – Débutant 2', (int) 17 => 'Conjugaison des verbes: Avancé', (int) 18 => 'Conjugaison des verbes: VAI – Débutant 2', (int) 19 => 'Conjugaison des verbes: VTA – Débutant 1', (int) 21 => 'Conjugaison des verbes: VII – Débutant', (int) 22 => 'Conjugaison des verbes: VTI – Débutant 1 ', (int) 23 => 'Conjugaison des verbes: VTI – Débutant 2', (int) 25 => 'Conjugaison des verbes: VAI – Intermédiaire', (int) 26 => 'Conjugaison des verbes: VTA – Intermédiaire 1', (int) 27 => 'Conjugaison des verbes: VTI – Intermédiaire', (int) 28 => 'Exemple d'un module', (int) 29 => 'Conjugaison des verbes: VTA – Intermédiaire 2', (int) 30 => 'Conversations 2 (Aimitutau 2)', (int) 31 => 'Vocabulaire avec pictogrammes', (int) 32 => 'Phrases et dialogues 1', (int) 33 => 'Phrases et dialogues 2', (int) 34 => 'Phrases et dialogues 3', (int) 35 => 'Conversations 3 (Aimitutau 3)', (int) 36 => 'Conversations 4 (Aimitutau 4)', (int) 37 => 'Formation continue', (int) 38 => 'Tan tatutipaikana tekuak? Quelle heure est-il?', (int) 40 => 'Vocabulaire thématique vu en classe' ] $dialects = [ (int) 1 => 'Centre', (int) 2 => 'Est', (int) 3 => 'Ouest', (int) 4 => 'Sheshatshiu', (int) 5 => 'Mushuau' ] $lang = 'fr' $session = object(Cake\Http\Session) { [protected] _engine => null [protected] _started => true [protected] _lifetime => (int) 1440 [protected] _isCLI => false } $soundDialect = 'C' $preURL = '/' $isL2 = false $showAllDialects = false $syllabicHelper = object(App\Lib\SyllablicHelper) { }include - APP/Template/Lessons/view.ctp, line 67 Cake\View\View::_evaluate() - CORE/src/View/View.php, line 1240 Cake\View\View::_render() - CORE/src/View/View.php, line 1201 Cake\View\View::render() - CORE/src/View/View.php, line 803 Cake\Controller\Controller::render() - CORE/src/Controller/Controller.php, line 790 Cake\Http\ActionDispatcher::_invoke() - CORE/src/Http/ActionDispatcher.php, line 126 Cake\Http\ActionDispatcher::dispatch() - CORE/src/Http/ActionDispatcher.php, line 94 Cake\Http\BaseApplication::__invoke() - CORE/src/Http/BaseApplication.php, line 235 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\I18n\Middleware\LocaleSelectorMiddleware::__invoke() - CORE/src/I18n/Middleware/LocaleSelectorMiddleware.php, line 65 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\Http\Middleware\CsrfProtectionMiddleware::__invoke() - CORE/src/Http/Middleware/CsrfProtectionMiddleware.php, line 103 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\Routing\Middleware\RoutingMiddleware::__invoke() - CORE/src/Routing/Middleware/RoutingMiddleware.php, line 156 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65 Cake\Routing\Middleware\AssetMiddleware::__invoke() - CORE/src/Routing/Middleware/AssetMiddleware.php, line 88 Cake\Http\Runner::__invoke() - CORE/src/Http/Runner.php, line 65
Leçon 1
Écrire le a initial, qui ne se prononce pas dans certains dialectes
Étudiez ces mots, en faisant attention aux lettres suivantes
Choisir un exercice
Ces exercices sont classés par ordre de difficulté
Reconnaître les mots
Faire correspondre les mots et les images
Lettre manquante
Lettres manquantes
Jeu de mémoire (avec des mots)
Ordonner les lettres des mots
Plusieurs lettres manquantes
Écrire les mots
Dictée
Orthographe
Répéter et s'enregistrer (pour les apprenant.e.s L2)
Écoutez, enregistrez ce que vous entendez, et comparez votre prononciation à l'original. *Vos enregistrements sont temporaires et ne seront jamais sauvegardés sur notre serveur