{"id":228,"date":"2024-11-09T14:16:48","date_gmt":"2024-11-09T13:16:48","guid":{"rendered":"https:\/\/www.collectif-les-etincelles.fr\/?p=228"},"modified":"2024-11-10T13:00:41","modified_gmt":"2024-11-10T12:00:41","slug":"quizz-de-noel","status":"publish","type":"post","link":"https:\/\/www.collectif-les-etincelles.fr\/?p=228","title":{"rendered":"Quizz de no\u00ebl !"},"content":{"rendered":"\n<p>Testez vos connaissances sur la convention collective et le droit du travail dans une ambiance festive et oculairement stimulante ! Parviendrez vous \u00e0 avoir 100% de bonnes r\u00e9ponses ? <\/p>\n\n\n\n<center>s\n\n\n\n\n<canvas id=\"myCanvas\" width=\"290\" height=\"500\">\nYour browser does not support the HTML canvas tag.\n<\/canvas>\n\n<script>\n    var canvas = document.getElementById(\"myCanvas\");\n    var context = canvas.getContext(\"2d\");\n    canvas.width  = window.innerWidth*0.7;\n    canvas.height = window.innerHeight*0.7;\n    var elemLeft = canvas.offsetLeft + canvas.clientLeft\n    var elemTop = canvas.offsetTop + canvas.clientTop\n    var actors = []\n    var mouse_x = 0\n    var mouse_y = 0\n    var click_x = 0\n    var click_y = 0\n    var mouse_down = false\n\n    var current_question_index = -1\n    var current_question = 0\n    var selected_answer = undefined\n\n    var game_colors = {\n        background:\"black\",\n        text:\"white\",\n        snowflakes:\"grey\"\n    }    \n\n    var game_layout = {}\n\n\n    var game_graphics = {\n        santa:new Image()\n    }\n\n    var padding = 50\n    var score = 0\n\n    var quizz_game = new Game()\n\n    function update_layout(){\n\n        var min_width = 290\n        var min_height= 500\n        var max_height= 700\n        var max_width = 620\n        var calculated_width = window.innerWidth > min_width ? window.innerWidth : min_width\n        var calculated_eigth = window.innerHeight > min_height ? window.innerHeight : min_height\n\n        if(calculated_eigth>max_height ){\n            calculated_eigth = max_height\n        }\n        if(calculated_width>max_width ){\n            calculated_width = max_width\n        }\n\n        canvas.width  = calculated_width\n        canvas.height = calculated_eigth\n    \n        var font_size = 20\n\n        var min_quizz_height = 330\n        var min_quizz_wdth = 300\n        var reduction = 0.5\n        \n        var quizz_width=canvas.width*reduction > min_quizz_wdth  ? canvas.width*reduction : min_quizz_wdth\n        var quizz_height=canvas.height*reduction > min_quizz_height  ? canvas.height*reduction : min_quizz_height\n        game_layout = {\n            margin_top:30,\n            interline:font_size,\n            font_size:font_size,\n            font:\"20px Courier New\",\n            quizz_width:quizz_width,\n            quizz_height:quizz_height,\n            quizz_x:(canvas.width\/2)-(quizz_width\/2),\n            quizz_y:50\n        }        \n    }\n    update_layout()\n\n    canvas.addEventListener('mousedown', function(e) {\n        const rect = canvas.getBoundingClientRect()\n        const x = event.clientX - rect.left\n        const y = event.clientY - rect.top\n        mouse_x = x\n        mouse_y = y\n        mouse_down = true\n    })\n\n    function shuffle_array(array) {\n        for (var i = array.length - 1; i >= 0; i--) {\n            var j = Math.floor(Math.random() * (i + 1));\n            var temp = array[i];\n            array[i] = array[j];\n            array[j] = temp;\n        }\n        return array\n    }\n\n    \n    canvas.addEventListener('mouseup', function(e) {\n        quizz_game._current_scene.clicked()\n    })\n\n    canvas.addEventListener(\"mousemove\", (e) => {\n        mouse_x = e.offsetX;\n        mouse_y = e.offsetY;\n    });\n\n    function distance_to_mouse(_x,_y){\n        dx = mouse_x - _x\n        dy = mouse_y - _y\n        return Math.sqrt(dx+dy)\n    }    \n\n    function mouse_in_box(_x,_y,_w,_h){\n        if(mouse_x > _x && mouse_x < _x+_w){\n            if(mouse_y > _y && mouse_y < _y+_h){\n                return true\n            }\n        }\n        return false\n    }\n\n    function Scene(_name){\n        this._name = _name\n        this._background_color = \"black\"\n        this.buttons = []\n        this.current_button = undefined\n        this._game = undefined\n        this.draw = function(){\n\n        }        \n        this.init = function(){\n            \n        }\n        this.draw_buttons = function(){\n            for(var b in this.buttons){\n                this.buttons[b].draw()\n            }\n        }\n        this.init_scene = function(){\n            this.buttons = []\n        }        \n        this.set_background_color = function(_bgc){\n            this._background_color = _bgc\n        }\n        this.draw_background = function(){\n            context.fillStyle = this._background_color;\n            context.fillRect(0, 0, canvas.width, canvas.height);\n        }\n        this.add_button = function(_name,_text,_x,_y){\n            var button = new Button(_name,_text,this).set(_x,_y)\n            this.buttons.push(button)\n        }\n        this.clicked=function(){\n            \/\/\/\/console.log(\"clicked\")\n            \/\/\/\/console.log(this.current_button)\n        }\n    }\n\n    function Button(_name,_text,_scene){\n        this.x = 0\n        this.y = 0\n        this.hover_color = \"blue\"\n        this.idle_color = game_colors.background\n        this.width = canvas.width\n        this.height = 60\n        this._name = _name\n        this._text = _text\n        this._scene = _scene\n\n        this.set = function(_x,_y){\n            this.x = _x\n            this.y = _y\n            return this\n        }\n\n        this.draw = function(){\n            var color = this.idle_color\n            \/\/detect mouse hover\n            if( mouse_in_box(this.x,this.y, this.width, this.height)==true){\n                color = this.hover_color\n                this._scene.current_button = this\n            }else{\n\n            }\n            context.fillStyle = color;\n            context.fillRect(this.x,this.y, this.width, this.height);\n            context.fillStyle = game_colors.text;\n            context.font = game_layout.font;                           \n            context.fillText(this._text,this.x+10,this.y+30);                               \n        }\n        \n    }\n\n    function Text(_content,_parent){\n        \n        this._parent = _parent\n        this.x = 0\n        this.y = 0\n        this.adjust_x = 5\n        this.adjust_y = 20\n        this.content = _content\n        this.animated_content =\"\"\n        this.color = game_colors.text\n        this.bottom_y = 0\n        this.wrap_limit = game_layout.quizz_width\/18\n        this.set = function(_x,_y){\n            this.x = _x\n            this.y = _y\n            return this\n        }\n        this.set_content = function(_c){\n            this.content = _c\n        }\n        this.set_color = function(_c){\n            this.color = _c\n        }\n\n        this.get_number_of_lines = function(){\n            return this._split(this.animated_content).length\n        }        \n\n        this.get_height = function(){\n            return this.get_number_of_lines()*game_layout.interline\n        }        \n        this.get_width = function(){\n            return game_layout.quizz_width\n        }\n\n        this._split = function(_content){\n            var lines = []\n            var current_line = \"\"\n            var current_char = \"\"\n            var limit =this.wrap_limit\n            var count = 0\n            for (var l = 0 ; l<_content.length;l++){\n                current_char = _content[l]\n                current_line+=current_char\n                if(count>=limit && current_char==\" \"){\n                    lines.push(current_line)\n                    count=0\n                    current_line = \"\"\n                    continue\n                }                \n                if(count>=limit+10 && current_char!=\" \"){\n                    lines.push(current_line+\"-\")\n                    count=0\n                    current_line = \"\"\n                    continue\n                }\n                if(l==_content.length-1){\n                    lines.push(current_line)\n                }\n                count+=1\n\n            }\n            return lines\n        }\n\n        this.draw = function(){\n            this.bottom_y = 0\n            if (this.animation_tick % 8 ==0){\n                this.animated_content = this.truncate_line(this.content,this.displayed_letters)\n                this.displayed_letters+=1\n            }\n            var lines = this._split(this.animated_content)\n            var offset_y = this._parent.y+this.y\n            var x = this._parent.x+this.x\n            var y = offset_y\n            \n            for(var l in lines){\n                y =offset_y+(l*game_layout.interline)\n                context.fillStyle =this.color;\n                context.font = game_layout.font\n                x+=Math.random()*1\n                y+=Math.random()*1\n                context.fillText(lines[l], x+this.adjust_x, y+this.adjust_y);  \n            }\n            this.animation_tick+=1\n            \/\/console.log(y)\n            return this.bottom_y = y\n        }\n\n        this.animation_tick = 0\n        this.displayed_letters = 0\n\n        this.truncate_line = function(_line,_index){\n            var truccated_line = \"\"\n            for (var l=0; l< _line.length;l++){\n                if(l>_index){\n                    break\n                }                \n                if(l>_index){\n                    break\n                }\n                truccated_line+=_line[l]\n            }     \n            return truccated_line       \n        }\n\n    }\n\n\n\n    function Quizz(_scene){\n\n        this._scene = _scene\n        this.questions_list = []\n        this.questions = []\n        this.score = 0\n        this.current_question = undefined\n        this.question_index = 0\n        this.has_ended = false\n        this.state = \"question\"\n        this.header = undefined\n        this.width = game_layout.quizz_width\n        this.height = game_layout.quizz_height\n        this.x = game_layout.quizz_x\n        this.y= game_layout.quizz_y\n        this.max_questions = 10\n        \n        this.load_questions = function(_data){\n            for (var q in _data.questions){\n                this.questions_list.push(new Question(this).load(_data.questions[q]).set(0,game_layout.margin_top))\n            }\n            this.questions_list = shuffle_array(this.questions_list)\n            for (var q in this.questions_list){\n                if(q >= this.max_questions){\n                    break\n                }\n                this.questions.push(this.questions_list[q])\n            }\n            this.header = new Text(\"?\",this).set(0,game_layout.margin_top)\n            this.update_question_number()\n\n        }\n\n        this.set_header = function(_content){\n            var display_index = this.question_index+1\n            this.header.set_content(\"Question \"+display_index+\"\/\"+this.questions.length+\"  \"+_content)\n        }\n        \n        this.draw = function(){\n            if(this.current_question==undefined){\n                return this\n            }\n            this.header.draw()\n            this.current_question.set(this.x,this.y+100)\n            this.current_question.draw(this.state)\n            return this  \n        }\n\n        this.start = function(){\n            this.has_ended = false\n            this.current_question = this.questions[this.question_index]\n        }        \n\n        this.set_state = function(_s){\n            this.state = _s\n        }\n\n        this.update_question_number = function(){\n            var display_index = this.question_index+1\n            this.set_header(\"\")\n        }\n\n        this.next = function(){\n            this.question_index+=1\n            this.update_question_number()\n            if(this.question_index<this.questions.length){\n                \/\/\/\/console.log(this.question_index)\n                this.current_question = this.questions[this.question_index]\n                this.set_state(\"question\")\n            }else{\n                this.has_ended = true\n                \/\/\/\/console.log(\"END OF QUIZZ\")\n                this.set_state(\"end\")\n            }\n        }\n        \n        \n\n    }\n\n\n    function Question (_quizz){\n\n        this.text = \"\"\n        this.correction = \"\"\n        this.answers = []\n        this.x = 0\n        this.y = 0\n        this.width = 0\n        this.height = 0\n        this._quizz = _quizz\n        this.selected_answer = undefined\n        \n        this.load = function(_data){\n            this.text = new Text(_data.text,this)\n            this.correction = new Text(_data.correction,this)\n            for(var i = 0 ; i < _data.answers.length;i++){\n                this.answers.push(new Answer(this).load(_data.answers[i]))\n            }\n            this.answers = shuffle_array(this.answers)\n            return this\n        }\n        \n        this.set = function(_x,_y){\n            this.x = _x\n            this.y = _y\n            return this\n        }\n\n        this.draw = function(_part){\n            if(_part ==\"question\"){\n                context.strokeStyle  = \"blue\";\n                context.strokeRect(this.x-10,this.y-10, this.text.get_width()+game_layout.margin_top, game_layout.quizz_height);\n                this.text.draw()\n                var next_y = this.y+this.text.get_height()+game_layout.margin_top\n                this.draw_answers(this.x,next_y)\n            }\n            if(_part ==\"correction\"){\n                context.strokeStyle  = \"white\";\n                context.strokeRect(this.x-10,this.y-10, this.text.get_width()+game_layout.margin_top, game_layout.quizz_height);\n                this.correction.draw()\n            }\n            return this    \n        }\n        \n        this.draw_answers = function(_x,_y){\n            \/\/console.log(_y)\n            var gap = 30\n            var next_y = _y\n            for(var a = 0 ; a < this.answers.length ; a++){\n                this.answers[a].set(_x,next_y)  \n                this.answers[a].draw()    \n                next_y += this.answers[a].get_height() \n            }\n            return this\n        }\n\n        this.select = function(_answer){\n            this.selected_answer = _answer\n        }\n    }\n\n    function Answer(_question){\n        this.x = 0\n        this.y = 0\n        this.hover_color = \"yellow\"\n        this.idle_color = \"white\"\n        this.text = new Text(\"\",this)\n        this.valid = false\n        this.width = 400\n        this.height = 30\n        this._question = _question\n\n        this.get_height = function(){\n            var nb_lines = this.text.get_number_of_lines()\n            return this.height*nb_lines\n        }\n\n        this.load = function(_data){\n            this.text.set_content(_data.text)\n            this.valid = _data.valid            \n            return this\n        }\n\n        this.set = function(_x,_y){\n            this.x = _x\n            this.y = _y\n            return this\n        }\n\n        this.draw = function(){\n            var color = this.idle_color\n            var nb_lines = this.text.get_number_of_lines()\n            if( mouse_in_box(this.x,this.y, this.width, this.height*nb_lines)==true){\n                color = this.hover_color\n                this._question.select(this)\n                context.fillStyle = \"blue\";\n                context.fillRect(this.x,this.y, this.text.get_width(), this.height*nb_lines);\n            }\n            this.text.set_color(color)\n            this.text.draw()\n            return this                              \n        }\n        \n    }    \n\n\n\n\n    function Star (_x,_y){\n        this.x = _x\n        this.y = _y\n        this.vx = 0\n        this.vy = 0\n        this.friction_x = 0.8\n        this.friction_y = 0.8\n        this.width = 3\n        this.height = 15\n        this.top = 10\n        this.left = 10\n        this.symbol = \"*\"\n        this.set = function(_x,_y){\n            this.x = _x\n            this.y = _y\n        }\n        this.apply_force = function(_x,_y){\n            this.vx+=_x\n            this.vy+=_y\n            this.update_position()\n        }        \n        this.update_position = function(){\n            this.vx*=this.friction_x        \n            this.vy*=this.friction_y       \n            this.x+=this.vx*0.5\n            this.y+=this.vy*0.5\n        }\n        this.draw = function(){\n            context.fillStyle = \"white\";\n            context.font = game_layout.font;                           \n            context.fillText(this.symbol,this.x,this.y);  \n            \/*\n\n\n            context.fillStyle = \"white\";\n            context.beginPath();\n            context.arc(this.x, this.y, this.width , 0, 2 * Math.PI);\n            context.fill();\n            *\/\n            \/\/context.fillRect(this.x, this.y, this.width, this.height);\n        }\n    }\n\n\n    \/\/ FX\n    function init_stars(_symbols){\n        stars = []\n        for(var s = 0; s < 100 ; s++){\n            var rand_x = Math.random()*canvas.width\n            var rand_y = Math.random()*canvas.height\n            star = new Star(rand_x,rand_y)\n            star.symbol = _symbols[Math.floor(Math.random()*_symbols.length)]\n            stars.push(star)\n        }\n    }\n\n    function draw_stars(){\n        for(var s = 0 ; s < stars.length ; s++){\n            base = 1\n            f_x = (Math.random()*base)-base\/2\n            f_y = (Math.random()*base)-base\/2\n            stars[s].apply_force(f_x,f_y)\n            stars[s].draw()\n        }\n    }\n\n    function Santa(_game){\n        this.x = -500\n        this.y = -100\n        this.ready = false\n        this.image = undefined\n        this.init = function(){\n\n\n        }\n        this.update_position = function(){\n            this.x+=0.6\n            this.y+=(Math.random()*4)-2\n            if(this.x>canvas.width+500){\n                this.x=-500\n                this.y = Math.random()*canvas.height\n            }\n        }\n        this.draw = function(){\n            this.update_position()\n            context.drawImage(game_graphics.santa, this.x, this.y);\n        }\n\n    }\n\n    function Game(){\n        this._ready = false\n        this._current_scene = undefined\n        this._scene_table = {}\n        this._santa = new Santa()\n        this.add_scene = function(_scene){\n            _scene._game = this\n            this._scene_table[_scene._name] = _scene\n        }\n        this.set_current_scene = function(_name){\n            this._current_scene = this._scene_table[_name]\n            this._current_scene.init()\n        }\n        this.draw = function(){\n            this._current_scene.draw()\n            this._santa.draw()\n        }\n        this.next_scene = function(){\n\n        }\n    }\n\n\n\n\n    \n    function init(){\n        \n        \/\/ MENU\n        var menu_scene = new Scene(\"menu\")\n        menu_scene.set_background_color(\"red\")\n        menu_scene.init = function(){\n            init_stars(\"#\")\n            \/\/\/\/console.log(this._name)\n            this.add_button(\"start\",\"Commencer le quizz --> \",0,canvas.height-50)\n            \n        }    \n        menu_scene.draw = function(){\n            this.draw_background()\n            this.draw_buttons()\n            draw_stars()\n        }        \n        menu_scene.clicked = function(){\n            if (this.current_button==undefined){\n                return\n            }\n            if(this.current_button._name == \"start\"){\n                \/\/\/\/console.log(\"Commencer le quizz\")\n                this.current_button = undefined\n                this._game.set_current_scene(\"quizz\")\n            }\n        }\n        \n        \/\/ QUIZZ\n        var quizz_scene = new Scene(\"quizz\")\n        quizz_scene.set_background_color(\"black\")\n        quizz_scene.init = function(){\n            \/\/\/\/console.log(this._name)\n            this.quizz = new Quizz(quizz_scene)\n            this.add_button(\"next_question\",\"Question suivante >\",0,canvas.height-50)\n            this.quizz.load_questions(QUIZZ_DATA)\n            this.quizz.start()\n            init_stars(\".\")\n        }    \n        quizz_scene.draw = function(){\n            this.draw_background()\n            draw_stars()\n            this.quizz.draw()\n            if(this.quizz.state==\"correction\"){\n                this.draw_buttons()\n            }\n        }\n        quizz_scene.clicked = function(){\n            \/\/\/\/console.log(this.quizz.state)\n            if(this.quizz.state==\"question\"){\n                if(this.quizz.current_question.selected_answer!=undefined){\n                    this.current_button=undefined\n                    if(this.quizz.current_question.selected_answer.valid==true){\n                        quizz_scene.set_background_color(\"green\")\n                        this.quizz.set_header(\"Correct\")\n                        this.quizz.score+=1\n                    }else{\n                        quizz_scene.set_background_color(\"red\")\n                        this.quizz.set_header(\"Incorrect\")\n                    }\n                    \/\/\/\/console.log(this.quizz.score)\n                    \/\/\/\/console.log((this.quizz.score\/this.quizz.questions.length)*100)\n                    this.quizz.current_question.selected_answer=undefined\n                    this.quizz.set_state(\"correction\")\n                }\n                return\n            }            \n            if(this.quizz.state==\"correction\"){\n                if(this.current_button!=undefined && this.current_button._name == \"next_question\"){\n                    quizz_scene.set_background_color(\"black\")\n                    this.quizz.next()\n                    this.current_button=undefined\n                    this.quizz.current_question.selected_answer=undefined\n                    if(this.quizz.has_ended == true){\n                        this._game.score = Math.floor((this.quizz.score\/this.quizz.questions.length)*100)\n                        this._game.set_current_scene(\"score\")\n                    }\n                }\n                return \n            }\n            \n        }\n        \n        \/\/ END SCORE \n        var score_scene = new Scene(\"score\")\n        score_scene.set_background_color(\"black\")\n        score_scene.init = function(){\n            init_stars(\"*\")\n            var message = \"Bravo \"+quizz_game.score+\"% de bonnes r\u00e9ponses ! Merci d'avoir fait ce quizz et Joyeux No\u00ebl ! \"\n            this.end_message = new Text(message,{x:0,y:0}).set(game_layout.quizz_x,game_layout.quizz_y+game_layout.margin_top)\n            this.end_message.set_color(\"yellow\")\n            this.add_button(\"restart\",\"<< Recommencer\",0,canvas.height-50)\n        }   \n        score_scene.draw = function(){\n            this.draw_background()\n            this.end_message.draw()\n            this.draw_buttons()\n            var colors = [\"yellow\",\"red\",\"green\"]\n            var random_color = colors[Math.floor(Math.random()*colors.length)]\n            this.end_message.set_color(random_color)\n            draw_stars()\n        }\n        score_scene.clicked = function(){\n            if (this.current_button==undefined){\n                return\n            }\n            if(this.current_button._name == \"restart\"){\n                this.current_button = undefined\n                this._game.set_current_scene(\"quizz\")\n                return \n            }\n        }\n\n        quizz_game.add_scene(menu_scene)\n        quizz_game.add_scene(quizz_scene)\n        quizz_game.add_scene(score_scene)\n        quizz_game.set_current_scene(\"menu\")\n        \/\/next_question()\n\n    }\n\n    function main_loop(){\n        quizz_game.draw()\n    }\n\n\n\n    var QUIZZ_DATA = {\n\n        questions:[\n            {   \n                text:\"les \u00e9lections TPE ont lieu tout les ...\",\n                correction: \"Les elections TPE ( Tr\u00e8s Petite Entreprise ) n'ont lieu que tous les quatres ans, les derni\u00e8res \u00e9taient en 2020 !\",\n                answers:[\n                {\n                    text:\"quatre ans\",\n                    valid:true\n                },                    \n                {\n                    text:\"deux ans\",\n                    valid:false\n                },                {\n                    text:\"ans\",\n                    valid:false\n                },\n                ]\n            },             \n            {   \n                text:\"Pour pouvoir voter aux elections TPE en 2024 il faut ...\",\n                correction: \"Pour pouvoir voter aux elections TPE en 2024 il suffit d'avoir travaill\u00e9 dans une TPE en d\u00e9cembre 2023\",\n                answers:[\n                {\n                    text:\"avoir travaill\u00e9 dans une TPE en d\u00e9cembre 2023\",\n                    valid:true\n                },                    \n                {\n                    text:\"s'\u00eatre inscrit sur les listes electorales TPE\",\n                    valid:false\n                },                {\n                    text:\"faire parti d'un syndicat\",\n                    valid:false\n                },\n                ]\n            }, \n            {   \n                text:\"La convention collective du cin\u00e9ma d'animation a \u00e9t\u00e9 cr\u00e9e en ...\",\n                correction: \"Le 6 juillet 2024\",\n                answers:[\n                {\n                    text:\"2004 \",\n                    valid:true\n                },                    \n                {\n                    text:\"2010\",\n                    valid:false\n                },\n                {\n                    text:\"1990\",\n                    valid:false\n                }\n                ]\n            },             \n            {   \n                text:\"Tous les studios d'animation doivent respecter La convention collective ...\",\n                correction: \"Une convention collective s'applique imm\u00e9diatement aux signataires et via l'extension du minist\u00e8re du travail \u00e0 toutes les entreprises relevant de la convention collective.\",\n                answers:[\n                        {\n                            text:\"vrai \",\n                            valid:true\n                        },                    \n                        {\n                            text:\"faux\",\n                            valid:false\n                        }\n                    ]\n                }, \n                {   \n                text:\"L'article 7 de la convention concerne \",\n                correction: \"Titre : Exercice du droit syndical et libert\u00e9 d'opinion\",\n                answers:[\n                    {\n                        text:\"l'exercice du droit syndical\",\n                        valid:true\n                    },                    \n                    {\n                        text:\"Les cong\u00e9s pay\u00e9s\",\n                        valid:false\n                    },                    {\n                        text:\"Les cong\u00e9s maladie\",\n                        valid:false\n                    },\n                ]\n            },            \n            {   \n                text:\"En 2022 le nombre de salari\u00e9s du secteur \u00e9tait de\",\n                correction: \"En 2022, le secteur franchit pour la premi\u00e8re fois la barre symbolique des 10 000 salari\u00e9s (10 172)\",\n                answers:[\n                    {\n                        text:\"10 172\",\n                        valid:true\n                    },                    \n                    {\n                        text:\"8 523\",\n                        valid:false\n                    },                {\n                        text:\"21 052\",\n                        valid:false\n                    },\n                ]\n            },            \n            {   \n                text:\"Le SPIAC CGT , Le SNTPCT et la CNT sont des syndicats qui repr\u00e9sentent\",\n                correction: \"Le SPIAC CGT , Le SNTPCT et la CNT sont des syndicats de salari\u00e9s \",\n                answers:[\n                    {\n                        text:\"des salari\u00e9s\",\n                        valid:true\n                    },                    \n                    {\n                        text:\"des employeurs\",\n                        valid:false\n                    }\n                ]\n            },            \n            {\n                text:\"Il est l\u00e9gal de recevoir un salaire brut en dessous de la convention collective\",\n                correction: \"On ne peut payer un salari\u00e9 du cin\u00e9ma d'animation en dessous du salaire minima li\u00e9 \u00e0 son poste\",\n                answers:[\n                    {\n                        text:\"faux\",\n                        valid:true\n                    },                    \n                    {\n                        text:\"vrai\",\n                        valid:false\n                    }\n                ]\n            } ,           \n            {\n                text:\"AnimFrance est un syndicat qui repr\u00e9sente\",\n                correction: \"AnimFrance est un syndicat de producteurs , \u00e0 l'instar du SPI \",\n                answers:[\n                    {\n                        text:\"des salari\u00e9s \",\n                        valid:false\n                    },                    \n                    {\n                        text:\"des employeurs\",\n                        valid:true\n                    }\n                ]\n            },            \n            {\n                text:\"Quel est l'IDCC de la Convention collective de la production de films d'animation ?\",\n                correction: \"l'IDCC (Identifiant Des Conventions Collectives) de la Convention collective de la production de films d'animation est 2412\",\n                answers:[\n                    {\n                        text:\"2412\",\n                        valid:true\n                    },                     \n                    {\n                        text:\"2411\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"2410\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"2409\",\n                        valid:false\n                    }\n                ]\n            },            \n            {\n                text:\"L'article 16 de la convention concerne \",\n                correction: \"Article 16 de la convention encadre le recrutement\",\n                answers:[\n                    {\n                        text:\"Le recrutement \",\n                        valid:true\n                    },                     \n                    {\n                        text:\"La r\u00e9daction du contrat de travail \",\n                        valid:false\n                    },                    \n                    {\n                        text:\"La m\u00e9decine du travail \",\n                        valid:false\n                    },                    \n                    {\n                        text:\"Les p\u00e9riodes de cong\u00e9s\",\n                        valid:false\n                    }\n                ]\n            },              \n            {\n                text:\"L'article 38 de la convention concerne \",\n                correction: \"Article 38 de la convention encadre Le statut du salari\u00e9 \u00e0 domicile ( t\u00e9l\u00e9travail )\",\n                answers:[\n                    {\n                        text:\"Le statut du salari\u00e9 \u00e0 domicile \",\n                        valid:true\n                    },                     \n                    {\n                        text:\"La r\u00e9daction du contrat de travail \",\n                        valid:false\n                    },                    \n                    {\n                        text:\"La m\u00e9decine du travail \",\n                        valid:false\n                    },                    \n                    {\n                        text:\"Les p\u00e9riodes de cong\u00e9s\",\n                        valid:false\n                    }\n                ]\n            },           \n            {\n                text:\"La convention collective impose-t-elle une grille salariale minimum pour chaque cat\u00e9gorie de poste ?\",\n                correction: \"Pour toutes les cat\u00e9gories ! \",\n                answers:[\n                    {\n                        text:\"Oui, pour toutes les cat\u00e9gories\",\n                        valid:true\n                    },                     \n                    {\n                        text:\"Non, uniquement pour les postes de cr\u00e9ation\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"Non, uniquement pour les postes techniques\",\n                        valid:false\n                    }\n                ]\n            },            \n            {\n                text:\"La convention collective s'applique ...\",\n                correction: \"La convention collective s'applique \u00e0 tout le territoire Fran\u00e7ais ,France m\u00e9tropolitaine et France d'outre-mer \",\n                answers:[\n                    {\n                        text:\"\u00c0 tout le territoire fran\u00e7ais\",\n                        valid:true\n                    },                     \n                    {\n                        text:\"\u00c0 l'Union europ\u00e9enne uniquement\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"\u00c0 la France m\u00e9tropolitaine\",\n                        valid:false\n                    }\n                ]\n            },\n            {\n                text:\"L'employeur, qui ne compte pas proposer de nouveau contrat \u00e0 un salari\u00e9 en CDDU, doit avertir le salari\u00e9 de sa volont\u00e9 sous ...\",\n                correction: \"Selon l'article 18 de la convention, l'employeur doit avertir le salari\u00e9 en CDDU qu'il ne compte pas lui proposer de nouveau contrat sous 1 mois de pr\u00e9avis\",\n                answers:[\n                    {\n                        text:\"1 mois de pr\u00e9avis\",\n                        valid:true\n                    },                     \n                    {\n                        text:\"3 mois de pr\u00e9avis\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"2 mois de pr\u00e9avis\",\n                        valid:false\n                    }\n                ]\n            },            \n            {\n                text:\"Si l'employeur compte modifier un contrat en cour il doit obligatoirement ...\",\n                correction: \"On ne peut modifier un contrat sign\u00e9 sans un avenant, que le salari\u00e9 peut d'ailleurs refuser... \",\n                answers:[\n                    {\n                        text:\"Proposer au salari\u00e9 de signer un avenant\",\n                        valid:true\n                    },                     \n                    {\n                        text:\"Trouver un accord \u00e0 l'amiable avec le salari\u00e9\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"Proposer au salari\u00e9 un nouveau contrat\",\n                        valid:false\n                    }\n                ]\n            },            \n            {\n                text:\"Selon la convention , proposer \u00e0 un salari\u00e9 un contrat 'au forfait' est \",\n                correction: \"Bien que la pratique du forfait soit tr\u00e8s r\u00e9pandue, notamment en storyboard, elle reste totalement ill\u00e9gale\",\n                answers:[\n                    {\n                        text:\"Ill\u00e9gal\",\n                        valid:true\n                    },                     \n                    {\n                        text:\"L\u00e9gal\",\n                        valid:false\n                    },                    \n                    {\n                        text:\"L\u00e9gal pour certain postes comme le storyboard\",\n                        valid:false\n                    }\n                ]\n            }\n        ]\n    }\n\n    game_graphics.santa.src = 'http:\/\/www.collectif-les-etincelles.fr\/wp-content\/uploads\/2024\/11\/santa_2.png';\n    game_graphics.santa.onload = function() {\n        init()\n        setInterval(main_loop)\n    }\n\n\n\n\n\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Testez vos connaissances sur la convention collective et le droit du travail dans une ambiance festive et oculairement stimulante !<\/p>\n","protected":false},"author":1,"featured_media":270,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-228","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/posts\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=228"}],"version-history":[{"count":38,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/posts\/228\/revisions"}],"predecessor-version":[{"id":278,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/posts\/228\/revisions\/278"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=\/wp\/v2\/media\/270"}],"wp:attachment":[{"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.collectif-les-etincelles.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}