{"id":6372,"date":"2025-05-16T18:15:19","date_gmt":"2025-05-16T16:15:19","guid":{"rendered":"https:\/\/spgoo.org\/?page_id=6372"},"modified":"2025-05-20T12:23:16","modified_gmt":"2025-05-20T10:23:16","slug":"site-vote","status":"publish","type":"page","link":"https:\/\/spgoo.org\/?page_id=6372","title":{"rendered":"Site Vote"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\">Syst\u00e8mes de D\u00e9compte des Votes<\/h2>\n\n\n\n<link rel='stylesheet' id='6570-css'  href='https:\/\/spgoo.org\/wp-content\/uploads\/winp-css-js\/6570.css?ver=1751440595' type='text\/css' media='all' \/>\n\n\n<script type='text\/javascript'>\nvar id = \"6600\";<\/script>\n<script type='text\/javascript' src='https:\/\/spgoo.org\/wp-content\/uploads\/winp-css-js\/6600.js?ver=1747736524'><\/script>\n\n\n<script type='text\/javascript'>\nvar id = \"6587\";<\/script>\n<script type='text\/javascript' src='https:\/\/spgoo.org\/wp-content\/uploads\/winp-css-js\/6587.js?ver=1747743608'><\/script>\n\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex\/dist\/katex.min.js\"><\/script>\r\n<link href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex\/dist\/katex.min.css\" rel=\"stylesheet\">\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jsxgraph\/distrib\/jsxgraphcore.min.js\"><\/script> \r\n<script src=\"https:\/\/jsxgraph.org\/distrib\/JessieScript.js\"><\/script>  \r\n\r\n<link id=\"themecss\" rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/www.shieldui.com\/shared\/components\/latest\/css\/light\/all.min.css\" \/>\r\n<!-- <script type=\"text\/javascript\" src=\"https:\/\/www.shieldui.com\/shared\/components\/latest\/js\/jquery-1.11.1.min.js\"><\/script>  -->\r\n<script type=\"text\/javascript\" src=\"https:\/\/www.shieldui.com\/shared\/components\/latest\/js\/shieldui-all.min.js\"><\/script> \r\n\r\n<!-- <link id=\"themecss\" rel=\"stylesheet\" type=\"text\/css\" href=\"\/personnalisation\/shieldui\/css\/all.min.css\" \/>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/shieldui\/js\/shieldui-all.min.js\"><\/script> -->\r\n\r\n\r\n\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/echarts.min.js\"><\/script>\r\n\r\n<!-- <link id=\"themecss\" rel=\"stylesheet\" type=\"text\/css\" href=\"\/personnalisation\/site_vote\/style.css\" \/> -->\r\n<!-- <script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/functions_.js\"><\/script>-->\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/exemples.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/exemplecirculaire.js\"><\/script>\r\n\r\n<!-- <script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/pluralite.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/antipluralite.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/majority.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/antimajority.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/aleatoire.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/roundrobin.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/borda.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/nanson.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/baldwin.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/hare.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/coombs.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/young.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/copeland.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/dodgson.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/schulze.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/tideman.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/simpson.js\"><\/script>\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/raynaud.js\"><\/script> -->\r\n\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/detect_cycle.js\"><\/script>\r\n\r\n<script>\r\n    window.MathJax = {\r\n        tex: {\r\n            inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\r\n            displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\r\n            packages: ['base', 'ams']\r\n        },\r\n        options: {\r\n            ignoreHtmlClass: 'tex2jax_ignore',\r\n            processHtmlClass: 'tex2jax_process'\r\n        }\r\n    };\r\n<\/script>\r\n<script type=\"text\/javascript\" id=\"MathJax-script\" src=\"https:\/\/cdn.jsdelivr.net\/npm\/mathjax@3\/es5\/tex-mml-chtml.js\"><\/script>\r\n\r\n<style>\r\n\/* #wrapper {\r\n    padding-left: 0;\r\n    -webkit-transition: all 0.5s ease;\r\n    -moz-transition: all 0.5s ease;\r\n    -o-transition: all 0.5s ease;\r\n    transition: all 0.5s ease;\r\n}\r\n\r\n#sidebar-wrapper {\r\n    z-index: 1000;\r\n    position: fixed; \r\n    right: 140px;\r\n    width: 0;\r\n    height: 100%;\r\n    margin-right: -250px;\r\n    overflow-y: auto;\r\n    background: #222;\r\n    -webkit-transition: all 0.5s ease;\r\n    -moz-transition: all 0.5s ease;\r\n    -o-transition: all 0.5s ease;\r\n    transition: all 0.5s ease;\r\n} \r\n \r\n#page-content-wrapper {\r\n    width: 100%;\r\n    position: absolute;\r\n}\r\n*\/\r\n#wrapper {\r\n    \/* padding-right: 200px;*\/\r\n}\r\n\r\n#sidebar-wrapper {\r\n\tfont-family:Katex-Main,serif;\r\n    width: 150px;\r\n} \r\n#sidebar-wrapper  li {\t\r\n\tfont-family:Katex-Main,serif;\r\n\t}\r\n\t\r\ndiv.blog-post-title-wrapper p {\r\n\tfont-family:Katex-Main,serif;\r\n    \/*background: #222; *\/\r\n    -webkit-transition: all 0.5s ease;\r\n    -moz-transition: all 0.5s ease;\r\n    -o-transition: all 0.5s ease;\r\n    transition: all 0.5s ease;\r\n\t\r\n}\r\n.hanging-indent {\r\n\ttext-indent: 0.5em; \/* negative indent for the first line *\/\r\n\tmargin-left: 0.5em; \/* margin to push the rest of the lines *\/\r\n\t}\r\n\t\r\n\r\n<\/style>\r\n\r\n<!-- <div id=\"wrapper\">\r\n    <div id=\"sidebar-wrapper\">\r\n        <ul class=\"sidebar-nav nav navbar-inverse\">\r\n            <li>\r\n                <a href=\"#\">Link 1<\/a>\r\n            <\/li>\r\n            <li>\r\n                <a href=\"#\">Link 2<\/a>\r\n            <\/li>\r\n        <\/ul>\r\n    <\/div>\r\n<\/div>  -->\r\n\r\n\r\n<div class=\"board-container\" style=\"width:1200px; height:700px;margin: 20px 0px 0px 140px;\">\r\n\t <div id=\"boardG\" class=\"board\" style=\"width:800px; height:600px;display:block;\"><\/div>\r\n\t <div id=\"boardFr\" class=\"board\" style=\"width:800px; height:600px;display:block;\"><\/div>\r\n\t <div id=\"boardA\" class=\"board\" style=\"width:800px; height:600px;display:block;\"><\/div>\r\n\t <div id=\"boardB\" class=\"board\" style=\"width:800px; height:600px;display:block;\"><\/div>\r\n\t <div id=\"boardC\" class=\"board\" style=\"width:800px; height:600px;display:block;\"><\/div>            \r\n\t <div id=\"boardP0\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boardP1\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boardP2\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boardExemple\" class=\"board\" style=\"width:800px; height:600px;display:none;\">  <\/div> \r\n\t <div id=\"boardExempledetail\" class=\"board\" style=\"position:absolute;top:160px;width:650px; height:500px;display:none;\"><\/div>\r\n\t <div id=\"box0\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"box1\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_condorcet1\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_condorcet2\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_condorcet3\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_pluralite\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_antipluralite\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_majorite\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_antimajorite\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_aleatoire\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_roundrobin\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_borda\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <!-- <div id=\"boxRes_nansonp\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div> -->\r\n\t <div id=\"boxRes_nanson\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"graphe_nanson\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <!-- <div id=\"boxRes_balwinp\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div> -->\r\n\t <div id=\"boxRes_baldwin\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"graphe_baldwin\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_hare\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"graphe_hare\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_coombs\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"graphe_coombs\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_copeland\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_young\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_dodgson\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_schulze\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_tideman\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_tideman2\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_simpson\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div id=\"boxRes_raynaud\" class=\"board\" style=\"width:800px; height:600px;display:none;\"><\/div>\r\n\t <div class=\"dark\"  style=\"text-align:center;margin:0px 0px 0px 0px;width:800px; border: 0px solid #0c0b0b;background:#E5E4E2;\" id=\"pager\"><\/div>\r\n<\/div>\r\n<!-- ecriture sur le cote droit de la page -->\r\n\r\n<div id=\"wrapper\" style=\"left:20px;width:100px;position:absolute;top:150px;\">\r\n    <div id=\"sidebar-wrapper\">\r\n        <ul class=\"sidebar-nav nav\">\r\n\t\t\t<li>\r\n\t\t\t\t<a href=\"javascript:pager.page(1);\" style=\"color:#00c2a9;text-decoration:none\">Accueil<\/a>\r\n\t\t\t<li>\r\n\t\t\t<li class=\"hanging-indent\">\r\n\t\t\t\t<a href=\"javascript:pager.page(2);\" style=\"color:#00c2a9;text-decoration:none\">Frise<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li class=\"hanging-indent\">\r\n\t\t\t\t<a href=\"javascript:pager.page(6);\" style=\"color:#00c2a9;text-decoration:none\">Explications<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li>\r\n\t\t\t\t<a href=\"#\" style=\"color:#00c2a9;text-decoration:none\">Simulations<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li class=\"hanging-indent\">\r\n\t\t\t\t<a href=\"javascript:pager.page(9);\" style=\"color:#00c2a9;text-decoration:none\">Exemples<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li class=\"hanging-indent\">\r\n\t\t\t\t<a href=\"javascript:pager.page(10);\" style=\"color:#00c2a9;text-decoration:none\">A constituer<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t<li>\r\n\t\t\t\t<a href=\"javascript:pager.page(11);\" style=\"color:#00c2a9;text-decoration:none\">R\u00e9sultats<\/a>\r\n\t\t\t<\/li>\r\n\t\t\t\r\n\t\t\t\r\n\t\t<\/ul>\r\n\t<\/div>\r\n<\/div>\r\n<!-- \t\t\t\r\n<p class=\"sidebar-nav nav\" style=\"cursor:pointer;color:#00c2a9;position:absolute;top:100px;left:30px;\" onclick=\"pager.page(1);\">Accueil<\/p>\r\n\t\t\t<p style=\"cursor:pointer;color:#00c2a9;position:absolute;top:120px;left:45px;\" onclick=\"pager.page(2);\">Frise<\/p>\r\n<p style=\"cursor:pointer;color:#00c2a9;position:absolute;top:140px;left:45px;\" onclick=\"pager.page(6);\">Explications<\/p>\r\n\r\n<p style=\"color:#00c2a9;position:absolute;top:200px;left:30px;\">Simulations<\/p>\r\n<p style=\"cursor:pointer;color:#00c2a9;position:absolute;top:220px;left:45px;\" onclick=\"pager.page(9);\">Exemples<\/p>\r\n<p style=\"cursor:pointer;color:#00c2a9;position:absolute;top:240px;left:45px;\" onclick=\"pager.page(10);\">A constituer<\/p>\r\n\r\n<p style=\"cursor:pointer;color:#00c2a9;position:absolute;top:300px;left:30px;\" onclick=\"pager.page(11);\">R\u00e9sultats<\/p>\r\n-->\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n<div class=\"footer\" style=\"color:#00c2a9;text-align:center;\">\r\n\t<p  style=\"color:#00c2a9;\">M\u00e9thodes utilis\u00e9es : <\/p>\r\n\t<p  style=\"color:#00c2a9;\">Borda, Condorcet, pluralit\u00e9, Coombs, Copeland, Dodgson, Schulze, Tideman, Young,  &#8230;..<\/p>\r\n<\/div>\r\n<!-- fenetre d'info -->\r\n<div id=\"mydivCascourant\" class=\"fen_arrondie\" style=\"width:450px;margin-bottom:10px;display:none;z-index:1000\" >\r\n    <!-- Include a header DIV with the same name as the draggable DIV, followed by \"header\" -->\r\n      <div id=\"mydivCascourantheader\" class=\"fen_arrondie\" >\r\n          Cas en cours\r\n          <span id=\"titre_commentaire\" ><\/span>\r\n          <button type=\"button\" class=\"close\" onclick=\"closeModal('mydivCascourant');\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n            <span aria-hidden=\"true\">\u00d7<\/span>\r\n          <\/button>\r\n      <\/div>\r\n      <div id=\"div_corps_Cascourant\" style=\"overflow:auto;text-align:center;height:400px;background-color:#E5E4E2;color:#130b8c;padding:10px 10px 10px 10px\">\r\n      <\/div>\r\n  <\/div>\r\n\r\n<script type=\"text\/javascript\">\r\n    rougevenitien='#AE181E';\r\n    peche='#ffdfbf';\r\n    cadet='#5F9EA0';\r\n    olivedrab='#6B8E23';\r\n    vert=\"#069E1C\";\r\n    monjaune='#f9f9fb';\r\n    JXG.Options.text.useMathJax = true;\r\n    \/\/ fonction d'harmonisation des box : on prend tous les objets de class board et on les fixe \u00e0 la m\u00eame taille \r\n    const boards={\"boardG\":null,\"boardFr\":null,\"boardA\":null,\"boardB\":null,\"boardC\":null, \"boardP0\":null, \"boardP1\":null,\"boardP2\":null,\"boardExemple\":null, \"boardExempledetail\":null,\r\n    \"box0\":null, \"box1\":null, \"boxRes_condorcet1\":null,\"boxRes_condorcet2\":false, \"boxRes_condorcet3\":null,\"boxRes_pluralite\":null,\r\n    \"boxRes_antipluralite\":null, \"boxRes_majorite\":null,\"boxRes_antimajorite\":null,\"boxRes_aleatoire\":null,\"boxRes_roundrobin\":null,\r\n    \"boxRes_borda\":null,\"boxRes_nanson\":null,\"graphe_nanson\":null, \"boxRes_baldwin\":null,\"graphe_baldwin\":null,\r\n    \"boxRes_hare\":null,\"graphe_hare\":null, \r\n    \"boxRes_coombs\":null,\"graphe_coombs\":null,\"boxRes_copeland\":null,\"boxRes_young\":null,\"boxRes_dodgson\":null,\r\n    \"boxRes_schulze\":null,\"boxRes_tideman\":null,\"boxRes_tideman2\":false, \"boxRes_simpson\":null,\"boxRes_raynaud\":null };\r\n\r\n    Object.keys(boards).forEach((b)=> {\r\n\r\n        if (boards[b]!=false) {\r\n            boards[b]=JXG.JSXGraph.initBoard(b, {\r\n                pan: {enabled:false},\r\n                boundingbox: [-4,4, 10,-1],\r\n                axis:false,\r\n                withLines:false,\r\n                defaultAxes: {\r\n                    x: { ticks: {visible: false} },\r\n                    y: { ticks: {visible: false} },\r\n                },\r\n                showNavigation:false,\r\n                showCopyright:false,\r\n                showFullscreen:true\r\n            });\r\n            boards[b].renderer.container.style.backgroundColor = '#E5E4E2';\r\n            if (b!=\"boardExempledetail\") {\r\n                let p0_entete = boards[b].create(\"point\",[-4,4],{name:\"\",visible:false});\r\n                let p1_entete = boards[b].create(\"point\",[-4,3.6],{name:\"\",visible:false});\r\n                let p2_entete = boards[b].create(\"point\",[10,3.6],{name:\"\",visible:false});\r\n                let p3_entete = boards[b].create(\"point\",[10,4],{name:\"\",visible:false});\r\n                let rect_entete= boards[b].create(\"polygon\",[p0_entete,p1_entete,p2_entete,p3_entete],\r\n                {highlight:false,opacity:1,name:\"\",visible:true,color:\"#00c2a9\",fixed:true});\r\n            } else {\r\n                \/\/ positionner le board \u00e0 l'interieur en fonction du board boardExemple\r\n\r\n            }\r\n\r\n        }\r\n    });\r\n     \r\n    cadetBlue=\"#5F93A0\";\r\n    venetianRed=\"#c80815\";\r\n    grey=\"#d9d9d6\";\r\n    mauve=\"#E2ABBF\";\r\n    jauneImperial=\"#FAE22F\";\r\n    von=true;\r\n    vno=false;\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board G  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    \r\n    \/\/ const im = boards[\"boardG\"].create('image', ['.\/urne.png', [0,0], [6,3]]);\r\n    const im = boards[\"boardG\"].create('text', [0,2,\"<div style='cursor:pointer;' id='zone_rotation'><\/div>\"],{highlight:false,fixed:true});\r\n\r\n    const im_log = boards[\"boardG\"].create('image', ['\/personnalisation\/site_vote\/logo_spgoo_t.png', [-3.5,3.0], [1.5,0.5]],{highlight:false,fixed:true});\r\n    let textG0 = boards[\"boardG\"].create(\"text\",[0,-0.5,\"$\\\\textrm{Syst\u00e8mes de D\u00e9compte des Votes}$ \"],{strokeColor:\"#00c2a9\",fontSize:20,highlight:false,fixed:true});\r\n    let textG_1 = boards[\"boardG\"].create(\"text\",[-1,-0.75,\"$\\\\textrm{Quod Omnes Tangit Tab Omnibus Tractari et Aprobari Debet -- Code de Justinien (529)}$ \"],{strokeColor:\"#00c2a9\",visible:true,fontSize:10,highlight:false,fixed:true});\r\n    let textG_11 = boards[\"boardG\"].create(\"text\",[-1,-0.75,\"$\\\\textrm{Ce qui concerne tout le monde doit \u00eatre d\u00e9battu et approuv\u00e9 par tout le monde -- Code de Justinien (529)}$ \"],{strokeColor:'#AE181E',visible:false,fontSize:10,highlight:false,fixed:true});\r\n\r\n   textG_1.on('mouseover', function() {\r\n        textG_1.setAttribute({visible:false}); \r\n        textG_11.setAttribute({visible: true});\r\n        boards[\"boardG\"].containerObj.style.cursor = 'pointer';\r\n    });\r\n    textG_1.on('mouseout', function() {\r\n        textG_1.setAttribute({visible:true}); \r\n        textG_11.setAttribute({visible: false});\r\n    });        \r\n\r\n    const zone=document.getElementById(\"zone_rotation\");\r\n\tconst name=\"yvan\";\r\n\tlet flipcard=document.createElement(\"div\");\r\n\tflipcard.setAttribute(\"class\",\"flip-card\");\r\n\tflipcard.setAttribute(\"id\",\"flip-card_\"+name);\r\n\tzone.appendChild(flipcard);\r\n\tlet flipcardinner=document.createElement(\"div\");\r\n\tflipcardinner.setAttribute(\"class\",\"flip-card-inner\");\r\n\tflipcard.appendChild(flipcardinner);\r\n\tlet flipcardfront=document.createElement(\"div\");\r\n\tflipcardfront.setAttribute(\"class\",\"flip-card-front\");\r\n\tflipcardfront.setAttribute(\"style\",\"width:300px; height:300px;text-align:center;\");\r\n    const image=document.createElement(\"img\");\r\n    image.src=\"\/personnalisation\/site_vote\/urne_f1.png\";\r\n    image.setAttribute(\"style\",\"width:350px;height:350px;\")\r\n    flipcardfront.appendChild(image);\r\n\r\n\tflipcardinner.appendChild(flipcardfront);\r\n\tlet flipcardback=document.createElement(\"div\");\r\n\tflipcardback.setAttribute(\"class\",\"flip-card-back\");\r\n    const image_CP=document.createElement(\"img\");\r\n    image_CP.src=\"\/personnalisation\/site_vote\/urne_p1.png\";\r\n    image_CP.setAttribute(\"style\",\"width:350px;height:350px;\")\r\n    flipcardback.appendChild(image_CP);\r\n\tflipcardinner.appendChild(flipcardback);\r\n\r\n    const activation_event=function() {\r\n\t    jQuery('.flip-card').mouseleave(function() {\r\n\t\t    jQuery(this).toggleClass('hover');\r\n\t    });\r\n    }\r\n    activation_event();\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board A \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    boards[\"boardA\"].create(\"text\",[-3.4,3.9,\"$\\\\textrm{Vid\u00e9o explicative : \u00e0 venir CP}$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false,fixed:true});\r\n    \/*const vid0 = boards[\"boardA\"].create('foreignobject', [\r\n    '<video width=\"800\" height=\"600\" src=\"https:\/\/eucbeniki.sio.si\/vega2\/278\/Video_metanje_oge_.mp4\" type=\"html5video\" controls>',\r\n    [-1, -1.9], [9, 6]], {layer: 8, fixed: true}\r\n    );*\/ \r\n\r\n     \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board B \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    boards[\"boardB\"].create(\"text\",[-3.4,3.9,\"$\\\\textrm{Vid\u00e9o explicative : \u00e0 venir CP}$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false,fixed:true});\r\n    \/*const vid1 = boards[\"boardB\"].create('foreignobject', [\r\n    '<video width=\"800\" height=\"600\" src=\"https:\/\/eucbeniki.sio.si\/vega2\/278\/Video_metanje_oge_.mp4\" type=\"html5video\" controls>',\r\n    [-1, -1.9], [9, 6]], {layer: 8, fixed: true} ); *\/\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board C \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    \r\n    const imbC = boards[\"boardC\"].create('image', ['\/personnalisation\/site_vote\/urne1.png', [-1,.2], [3,3]]);\r\n    \r\n    const texbC = boards[\"boardC\"].create('text', [0,0, '$\\\\textrm{Premi\u00e8re Partie : les Diff\u00e9rents Syst\u00e8mes}$'],\r\n    {layer: 8, fixed: true, highlight:false, fontSize:20, color:'#c80815'}\r\n );\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board P0  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n\r\n let textP00 = boards[\"boardP0\"].create(\"text\",[-3.4,3.8,\"$\\\\textrm{Multiplicit\u00e9 des Syst\u00e8mes de D\u00e9compte des Votes (1\/3)}$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false,fixed:true});\r\n \r\n let textP01 = boards[\"boardP0\"].create(\"text\",[-3.4,3,\r\n'<div  style =  \"font-family:Katex-Main,serif;\"><p style=\"font-size: 16px; color: black;\">Malgr\u00e9 l\u2019usage fran\u00e7ais, qui se r\u00e9duit essentiellement au syst\u00e8me uninominal \u00e0 deux tours, il existe de nombreux systemes de votes.'+\r\n'    Les m\u00e9thodes de s\u00e9lection du vainqueur d\u2019une d\u00e9cision collective que nous retiendrons dans ce cahier sont :<\/p>'],{fixed:true,size:14,highlight:false});\r\n\r\nlet textP02 = boards[\"boardP0\"].create(\"text\",[-3.9,1., '<div  style =  \"font-family:Katex-Main,serif;\">'+\r\n'    <p style=\"font-size: 16px; color: black;\"><ol>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de la Pluralit\u00e9 <\/font>:  le vainqueur est celui qui r\u00e9colte le plus de voix.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de l\u2019Antipluralit\u00e9 <\/font>:  le vainqueur est celui qui r\u00e9colte le moins de voix contre sa candidature.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Vote \u00e0 la Majorit\u00e9 <\/font>:  un premier tour s\u00e9lectionne les deux candidats qui s\u2019affrontent au second tour.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Vote \u00e0 la Majorit\u00e9 Qualifi\u00e9e <\/font>:  est d\u00e9clar\u00e9 vainqueur le candidat qui rassemble plus de $\\\\frac{55}{100}$, $\\\\frac{2}{3}$,$\\\\frac{3}{5}\\\\ldots$<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Vote \u00e0 l\u2019Anti-Majorit\u00e9 <\/font>:  est d\u00e9clar\u00e9 vainqueur le candidat qui rassemble le moins de votre contre lui<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Vote \u00e0 l\u2019Anti-Majorit\u00e9 Qualifi\u00e9e <\/font>:  est d\u00e9clar\u00e9 vainqueur le candidat qui rassemble moins de $\\\\frac{55}{100}$, $\\\\frac{2}{3}$,$\\\\frac{3}{5}\\\\ldots$<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Vote Al\u00e9atoire <\/font>:  le vainqueur est tir\u00e9 au sort.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Condorcet (Tournois Round-Robin) <\/font>:  Tous les candidats se rencontrent en duels. Le vainqueur est celui qui gagne le plus de duels.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Borda <\/font>:  on donne des points en fonction du classement dans les ordres de pr\u00e9f\u00e9rences (Pour $n$ candidats, le premier class\u00e9 se'+\r\n'    voit attribuer $n$ points, le second $n-1\\\\ldots$). Les points sont somm\u00e9s et est d\u00e9clar\u00e9 vainqueur celui qui a le plus de points.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Nanson <\/font>:  on \u00e9limine les candidats qui ont un score de Borda inf\u00e9rieur ou \u00e9gal \u00e0 la moyenne des scores de Borda et on recommence jusqu\u2019\u00e0 ce qu\u2019il n\u2019en demeure plus qu\u2019un. <\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Baldwin <\/font>:  on \u00e9limine le candidats qui a le moins bon score de Borda, on redistribue les notes et on recommence jusqu\u2019\u00e0 ce qu\u2019il n\u2019en demeure plus qu\u2019un. <\/li>'+\r\n'<\/ol><\/p>'],{fixed:true,size:14,highlight:false});   \r\nlet textP03 = boards[\"boardP0\"].create(\"text\",[8,-0.75,'<div  style =  \"font-family:Katex-Main,serif;\"><p style=\"font-size: 18px; color: black;\">$\\\\ldots\\\\backslash\\\\ldots$<\/p>'],{fixed:true,size:14});\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board P1  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n let textP00_1 = boards[\"boardP1\"].create(\"text\",[-3.4,3.8,\"$\\\\textrm{Multiplicit\u00e9 des Syst\u00e8mes de D\u00e9compte des Votes (2\/3)}$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false});\r\n let textP010 = boards[\"boardP1\"].create(\"text\",[-3.5,1.5, '<div  style =  \"font-family:Katex-Main,serif;\">'+\r\n'    <p style=\"font-size: 16px; color: black;\"><ol start=\"12\">'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Hare-Andreae <\/font>:  on reprend la pluralit\u00e9 mais on \u00e9limine celui qui a le moins de votes en premier et on recommence jusqu\u2019\u00e0 ce qu\u2019il'+ \r\n'    n\u2019y ait plus que deux candidats. Le vainqueur est celui qui a alors le plus de votes.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Coombs <\/font>:  on reprend la pluralit\u00e9 mais on \u00e9limine celui qui est class\u00e9 en dernier par le plus grand nombre d\u2019\u00e9lecteurs et'+ \r\n'    on recommence jusqu\u2019\u00e0 ce qu\u2019il n\u2019y ait plus que deux candidats. Le vainqueur est celui qui a alors le plus de votes.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Copeland <\/font>:   on donne un point par victoire  et on en retire un par d\u00e9faite.  Le vainqueur est celui qui dispose du plus grand nombre de points. <\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Dogson<\/font>:  est d\u00e9clar\u00e9 vainqueur le vainqueur de Condorcet s\u2019il existe ou le candidat qui n\u00e9cessite le plus petit nombre de permutations pour devenir un vainqueur de Condorcet (NB : Pour des raisons de dimension il n\u2019est pas possible de traiter plus de 8 candidats).<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Min-Max de Simpson <\/font>:  on classe les candidats par le pire \u00e9cart de score dans leurs d\u00e9faites. Puis, on retient le candidat  qui a le plus petit \u00e9cart.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Min-Max de Raynaud-Arrow <\/font>:  on reprend la m\u00e9thode du Min-Max de Simpson, mais \u00e0 chaque tour on \u00e9limine le candidat qui a le plus grand \u00e9cart.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Kemeny-Young<\/font>:  Tout arrangement de $N$ candidats d\u00e9finit un vainqueur d\u00e9sir\u00e9 entre les candidats prix deux \u00e0 deux. On'+\r\n'   regarde alors dans les duels de Condorcet combien de fois le candidat le mieux class\u00e9 gagne contre le second. Le score de Kemeny-Young d\u2019un arrangement est alors la somme'+\r\n'   des scores de Condorcet qui viennent d\u2019\u00eatre calcul\u00e9s. Le candidat vainqueur est celui qui est le mieux class\u00e9 dans l\u2019arrangement qui a le meilleur score de Condorcet cumul\u00e9.<\/li>'+   \r\n' <\/ol><\/p>'],{fixed:true,size:14,highlight:false});\r\nlet textP04 = boards[\"boardP1\"].create(\"text\",[8,-0.75,'<div  style =  \"font-family:Katex-Main,serif;\"><p style=\"font-size: 18px; color: black;\">$\\\\ldots\\\\backslash\\\\ldots$<\/p>'],{fixed:true,size:14});\r\n\r\nlet textP00_2 = boards[\"boardP2\"].create(\"text\",[-3.4,3.8,\"$\\\\textrm{Multiplicit\u00e9 des Syst\u00e8mes de D\u00e9compte des Votes (3\/3)}$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false});\r\nlet textP020 = boards[\"boardP2\"].create(\"text\",[-3.5,2., '<div  style =  \"font-family:Katex-Main,serif;\">'+\r\n'    <p style=\"font-size: 16px; color: black;\"><ol start=\"19\">'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Tideman<\/font>:  On construit pour commencer le plus petit ensemble tel que chaque candidat qui appartient \u00e0 cet ensemble est invaincu dans un duel'+\r\n'   avec un candidat qui appartient \u00e0 l\u2019ensemble compl\u00e9mentaire (On parle d\u2019ensemble de Smith). Puis on retire de cet ensemble le candidat qui est class\u00e9 en premier par le moins grand nombre d\u2019\u00e9lecteurs.'+   \r\n'   On recommence jusqu\u2019\u00e0 ce qu\u2019il n\u2019y ait plus qu\u2019un seul \u00e9l\u00e9ment dans l\u2019ensemble de Smith.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">M\u00e9thode de Schulze<\/font>:  lorsqu\u2019il n\u2019y a aucun gagnant de Condorcet, la m\u00e9thode de Schulze prend en'+\r\n'   compte les d\u00e9faites indirectes. On dit qu\u2019un candidat A gagne indirectement contre un candidat B lorsqu\u2019il gagne directement contre B, ou  qu\u2019il bat  un candidat qui bat  un candidat C'+ \r\n'   qui bat B directement ou indirectement.<\/li>'+\r\n'<\/ol><\/p>'],{fixed:true,size:14,highlight:false});    \r\n\r\n   \r\nlet textP00_regle = boards[\"boardP2\"].create(\"text\",[-3.4,0.25,\"$\\\\textrm{R\u00e8gle appliqu\u00e9e en cas de match nul}$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false});\r\nlet textP00_2_regle = boards[\"boardP2\"].create(\"text\",[-3.4,-0.25,'<div  style =  \"font-family:Katex-Main,serif;\">'+\r\n'    <p style=\"font-size: 16px; color: black;\"><ol  type=\"a\">'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">Ordre alphab\u00e9tique <\/font>:   cet ordre permet de choisir une r\u00e8gle fixe. Par exemple, si on veut que le vainqueur soit le plus jeune ou le plus'+\r\n'    vieux, il suffit de classer les candidats dans l\u2019ordre ad\u00e9quat.<\/li>'+\r\n'   <li style=\"font-size: 16px; color: black;\"><font color=\"#AE181E\">Tirage au sort <\/font>:   cette r\u00e8gle est souvent appliqu\u00e9e. Mais elle brouille un peu l\u2019analyse.'+\r\n    '<\/ol><\/p>'],{strokeColor:\"#AE181E\",fontSize:20,highlight:false});\r\n\r\n\r\n     \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ boardExemple : Exemples  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n\r\n let textP20 = boards[\"boardExemple\"].create(\"text\",[-3.4,3.8,\"$\\\\textrm{Exemples : }$ \"],{strokeColor:\"#AE181E\",fontSize:20,highlight:false,fixed:true});\r\n let bP2_text041 = boards[\"boardExemple\"].create(\"text\",[-3,3.4,\r\n      '<div  style = \"width:150px; font-family:Katex-Main,serif;font-size:20px;font-style:normal;\">'+\r\n      '<select  size:\"2\" style=\"width:30;font-family:Katex-Main;width:300px;box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); color:#AE181E;font-size:16px;\"'+\r\n      'id=\"exemples-test\" onchange=\"chargement_exemple_detail(boardExempledetail);\">'+\r\n      '<option value=\"\">S\u00e9lectionnez un exemple<\/option>'+\r\n      '<\/select>'],{fixed:true,size:14});   \r\n\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Board 0 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n\r\n    let text00 = boards[\"box0\"].create(\"text\",[-3.4,3.8,\"$\\\\textrm{Syst\u00e8mes de D\u00e9compte des Votes}$\"],{strokeColor:\"#AE181E\",fontSize:20,fixed:true});\r\n    let text01 = boards[\"box0\"].create(\"text\",[-3,3.3,\"$\\\\bullet\\\\,\\\\, \\\\textrm{Nombre de Candidats (2-6) :}$ \"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    let text011 = boards[\"box0\"].create(\"text\",[2.9,3.325,'<div  style =  \"font-family:Katex-Main,serif;\"><input style= \"width:3em;color:#AE181E;font-size:20px;box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);\"  type=\"number\" id=\"numCandidats\" min=\"2\" max=\"5\" value=\"3\">'],{fixed:true,size:14,fixed:true});\r\n    let text02 = boards[\"box0\"].create(\"text\",[-3,2.8,\"$\\\\bullet\\\\,\\\\, \\\\textrm{Nombre d'\u00c9lecteurs :}$\"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    let text021 = boards[\"box0\"].create(\"text\",[2.9,2.845,'<div  style =\"font-family:Katex-Main,serif;font-size:20px;font-style:normal;\"><input  style=\"width:5em;font-family:Katex-Main;font-size:20px;color:#AE181E;box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);\" type=\"number\" onchange=\"modif_nb_electeurs();\" id=\"numElecteurs\" min=\"1\" value=\"100000\">'],{fixed:true,size:14,fixed:true});\r\n        \r\n    let text03 = boards[\"box0\"].create(\"text\",[-3,1.6,\"$\\\\bullet\\\\,\\\\, \\\\textrm{R\u00e9partition Libre des \u00c9lecteurs sur les classements :}$\"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    let text031 = boards[\"box0\"].create(\"text\",[6.9,1.6,'<div  style = width:150px; \"font-family:Katex-Main,serif;font-size:20px;font-style:normal;\"><select style=\"font-family:Katex-Main;width:160px;box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); color:#AE181E;font-size:20px;\" id=\"repartition\" onchange=\"generateTable()\"><option value=\"non\">Non (al\u00e9atoire)<\/option><option value=\"oui\">Oui<\/option><\/select>'],{fixed:true,size:14,fixed:true});\r\n    \r\n    let p0 = boards[\"box0\"].create(\"point\",[-3,0.5],{name:\"\",visible:false,fixed:true});\r\n    let p1 = boards[\"box0\"].create(\"point\",[9,0.5],{name:\"\",visible:false,fixed:true});\r\n    let s1 = boards[\"box0\"].create(\"segment\",[p0,p1],{color:\"#AE181E\", shadow: {enabled: true, strokeWidth:5,dash:2, color: 'black', blend: 1,highlight:false,fixed:true}});\r\n    \r\n    var button0 = boards[\"box0\"].create('button',   [3, 2.2, '$\\\\textrm{G\u00e9n\u00e9rer les Pr\u00e9f\u00e9rences et leur Poids dans la Population}$', function () {return generateTable()}], {fontSize:20,anchorX:'middle',cssClass:'mybutton', highlightCssClass: 'mybuttonh'});\r\n    var button1 = boards[\"box0\"].create('button',   [3, 1.1, '$\\\\textrm{G\u00e9n\u00e9rer les Classements et leur Poids dans la Population}$', function () {return generateTable()}], {fontSize:20,anchorX:'middle',cssClass:'mybutton', highlightCssClass: 'mybuttonh'});\r\n    \r\n\r\n    let p0_r = boards[\"box0\"].create(\"point\",[0.7,0.2],{name:\"\",visible:false});\r\n    let p1_r = boards[\"box0\"].create(\"point\",[6,0.2],{name:\"\",visible:false});\r\n    let p2_r = boards[\"box0\"].create(\"point\",[.7,0.4],{name:\"\",visible:false});\r\n    let p3_r = boards[\"box0\"].create(\"point\",[6,0.4],{name:\"\",visible:false});\r\n    let rect= boards[\"box0\"].create(\"polygon\",[p0_r,p1_r,p3_r,p2_r],{name:\"\",visible:true,color:\"white\",fixed:true});\r\n\r\n    let txt_electeurs = boards[\"box0\"].create(\"text\",[0.9,0.3,\"$\\\\textrm{D\u00e9compte des \u00c9lecteurs  : }$\"],{strokeColor:\"#AE181E\",fontSize:14,fixed:true});\r\n    let nb_elect=document.getElementById(\"numElecteurs\").value;\r\n    let txt_nb_electeurs = boards[\"box0\"].create(\"text\",[4,0.3,\"0\/\"+nb_elect],{strokeColor:\"#AE181E\",fontSize:14,fixed:true});\r\n    let text04 = boards[\"box0\"].create(\"text\",[-3,-0.1,\"$\\\\bullet\\\\,\\\\, \\\\textrm{Pr\u00e9f\u00e9rences et Voix  :}$\"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    let text041 = boards[\"box0\"].create(\"text\",[3.,-0.1,'<div  style = \"width:150px; font-family:Katex-Main,serif;font-size:20px;font-style:normal;\"><select  size:\"2\" style=\"width:30;font-family:Katex-Main;width:300px;box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); color:#AE181E;font-size:20px;\" id=\"arrangement-list\" onchange=\"updateElecteurCount()\"><option value=\"\">S\u00e9lectionnez un Arrangement<\/option><\/select><span  id=\"electeur-count-container\"><input style=\"margin:10px;width:5em;font-family:Katex-Main;font-size:20px;color:#AE181E;box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);\" type=\"number\" id=\"electeur-count\" onkeypress=\"setElecteurCount(event);\" min=\"0\" value=\"0\"><\/span>'],{fixed:true,size:14,fixed:true});   \r\n\r\n    let btnValiderManuel = boards[\"box0\"].create('button',   [3, -0.6, '$\\\\textrm{Valider}$', function () {return valider_manuel()}], {fontSize:20,anchorX:'middle',cssClass:'mybutton', highlightCssClass: 'mybuttonh'});\r\n\r\n    \r\n    \/*                                            PAGES RESULTATS                                            *\/ \r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Page CONDORCET  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    let condorcet_00 = boards[\"boxRes_condorcet1\"].create(\"text\",[-0.5,3.8,\"$\\\\textrm{D\u00e9tail du r\u00e9sultat de Condorcet}$\"],{strokeColor:\"#AE181E\",fontSize:20});\r\n    let condorcet_02 = boards[\"boxRes_condorcet3\"].create(\"text\",[-0.5,3.8,\"$\\\\textrm{D\u00e9tail du r\u00e9sultat de Condorcet}$\"],{strokeColor:\"#AE181E\",fontSize:20});\r\n\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Page CONDORCET  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    \/\/let antipluralite_02 = boards[\"boxRes_antipluralite\"].create(\"text\",[-0.5,3.8,\"$\\\\textrm{D\u00e9tail du r\u00e9sultats antipluralit\u00e9}$\"],{strokeColor:\"#AE181E\",fontSize:20,fixed:true});\r\n\r\n    \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Page CONDORCET  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n    \/\/let borda_00 = boards[\"boxRes_borda\"].create(\"text\",[-0.5,3.8,\"$\\\\textrm{D\u00e9tail du r\u00e9sultat Borda}$\"],{strokeColor:\"#AE181E\",fontSize:20,fixed:true});\r\n\r\n    const modif_nb_electeurs=function () {\r\n        let nb_elect=document.getElementById(\"numElecteurs\").value;\r\n        let encours=sum_electeurCounts();\r\n        txt_nb_electeurs.setText(encours+\"\/\"+nb_elect);\r\n    }\r\n\r\n\r\n    \/\/fonctions\r\n    let arrangements = [];\r\n    let electeurCounts = [];\r\n\r\n    function generatePermutations(list, size=list.length) {\r\n        if (size > list.length) return [];\r\n        else if (size == 1) return list.map(d=>[d]); \r\n        return list.flatMap(d => generatePermutations(list.filter(a => a !== d), size - 1).map(item => [d, ...item]));\r\n    }\r\n\r\n    function ps(a){\r\n        var res = [[]];\r\n        for (var i=0; i<a.length; i++){\r\n            while(res[res.length-1].length == i){\r\n            var l = res.pop();\r\n            for (var j=0; j<=l.length; j++){\r\n                var copy = l.slice();\r\n                copy.splice(j,0,a[i]);\r\n                res.unshift(copy);\r\n            }\r\n            }\r\n        }\r\n        return res;\r\n    }\r\n\r\n\r\n    function generateArrangements(arr) {\r\n        if (arr.length === 1) return [arr];\r\n        let result = [];\r\n        for (let i = 0; i < arr.length; i++) {\r\n            let first = arr[i];\r\n            let rest = arr.slice(0, i).concat(arr.slice(i + 1));\r\n            let innerPerms = generateArrangements(rest);\r\n            for (let perm of innerPerms) {\r\n                result.push([first].concat(perm));\r\n            }\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function generateTable() {\r\n        let numCandidats = parseInt(document.getElementById(\"numCandidats\").value);\r\n        let numElecteurs = parseInt(document.getElementById(\"numElecteurs\").value);\r\n        let repartition = document.getElementById(\"repartition\").value;\r\n\r\n        let candidats = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\"].slice(0, numCandidats);\r\n        arrangements = generateArrangements(candidats);\r\n        electeurCounts = new Array(arrangements.length).fill(0);\r\n\r\n        if (repartition === \"non\") {\r\n            for (let i = 0; i < numElecteurs; i++) {\r\n                electeurCounts[Math.floor(Math.random() * arrangements.length)]++;\r\n            }\r\n        }\r\n        modif_nb_electeurs();\r\n        updateDropdown();\r\n    }    \r\n    function updateDropdown() {\r\n        let arrangementList = document.getElementById(\"arrangement-list\");\r\n        arrangementList.innerHTML = `<option value=\"\">S\u00e9lectionnez un arrangement<\/option>`;\r\n\r\n        arrangements.forEach((arr, index) => {\r\n            let option = document.createElement(\"option\");\r\n            option.value = index;\r\n            option.textContent = `${index + 1}\/${arrangements.length}. ${arr.join(\" > \")} - ${electeurCounts[index]} votants`;\r\n            arrangementList.appendChild(option);\r\n        });        \r\n        document.getElementById(\"electeur-count-container\").style.display = \"none\";\r\n    }\r\n\r\n    function updateElecteurCount() {\r\n        let repartition = document.getElementById(\"repartition\").value;\r\n        let selectedIndex = document.getElementById(\"arrangement-list\").value;\r\n        if (selectedIndex !== \"\") {\r\n            document.getElementById(\"electeur-count-container\").style.display = \"block\";\r\n            document.getElementById(\"electeur-count\").value = electeurCounts[selectedIndex];\r\n        } else {\r\n            document.getElementById(\"electeur-count-container\").style.display = \"none\";\r\n        }\r\n        if (repartition === \"non\") {\r\n            document.getElementById(\"electeur-count-container\").style.display = \"none\";\r\n        }\r\n        \r\n    }\r\n\r\n    function setElecteurCount(event) {\r\n        console.log(event);\r\n        if (event.key==\"Enter\") {\r\n            let selectedIndex = document.getElementById(\"arrangement-list\").value;\r\n            if (selectedIndex !== \"\") {\r\n                let newCount = parseInt(document.getElementById(\"electeur-count\").value);\r\n                electeurCounts[selectedIndex] = newCount;\r\n                updateDropdown();\r\n            }\r\n        }\r\n        modif_nb_electeurs();\r\n    }\r\n\r\n    const sum_electeurCounts=function() {\r\n        return electeurCounts.reduce((e,i)=>e+i);\r\n    }\r\n\r\n    generateTable();\r\n\r\n\/\/ chargement de la liste des exemples dans le select de la page4 \r\nconst chargement_exemples=function() {\r\n    const selection=document.getElementById(\"exemples-test\");\r\n\r\n    Object.keys(tab_exemples).forEach((exemple)=> {\r\n        const option=document.createElement(\"option\");\r\n        option.value=exemple;\r\n        option.innerHTML=exemple;\r\n        \/\/ on differencie les exemples ayant une explication sur l'interpr\u00e9tation des r\u00e9sultats \r\n        if (tab_exemples[exemple].resultats!=undefined) {\r\n            if (Object.keys(tab_exemples[exemple].resultats).length>0) \r\n                option.setAttribute(\"style\",\"color:blue\");\r\n        }\r\n        selection.appendChild(option);\r\n    });\r\n}\r\n\r\n\r\n\/\/ chargement du detail de l'exemple dans le borad correspondant \r\nconst chargement_exemple_detail=function() {\r\n    JXG.JSXGraph.freeBoard(boards[\"boardExempledetail\"]);\r\n    boards[\"boardExempledetail\"] = JXG.JSXGraph.initBoard(\"boardExempledetail\",{\r\n        boundingbox: [-4,4, 10,-1],\r\n        axis:false,\r\n        withLines:false,\r\n        defaultAxes: {\r\n            x: { ticks: {visible: false} },\r\n            y: { ticks: {visible: false} },\r\n        },\r\n        showNavigation:false,\r\n        showCopyright:false,\r\n        showFullscreen:true\r\n    });  \r\n    \r\n    document.getElementById(\"boardExempledetail\").style.display=\"block\";\r\n    const valeur=document.getElementById(\"exemples-test\").value;\r\n\r\n    let buttonValider = boards[\"boardExempledetail\"].create('button',   [3, 3.2, '$\\\\textrm{Valider}$', function () {return valider_exemple()}], {fontSize:20,anchorX:'middle',cssClass:'mybutton', highlightCssClass: 'mybuttonh',fixed:true});\r\n\r\n    boards[\"boardExempledetail\"].create(\"text\",[-3,2.5,\"$\\\\bullet\\\\,\\\\, \\\\textrm{Candidats :}$ \"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    boards[\"boardExempledetail\"].create(\"text\",[0,2.5,\"$\\\\textrm{\"+tab_exemples[valeur]['candidats']+\"}$ \"],{strokeColor:\"cadetblue\",fontSize:16,highlight:false,fixed:true});\r\n    const nb_arrangements=Object.keys(tab_exemples[valeur][\"arrangements\"]).length;\r\n    boards[\"boardExempledetail\"].create(\"text\",[-3,2.0,\"$\\\\bullet\\\\,\\\\, \\\\textrm{[Arrangements\/Nb Voix] : \"+nb_arrangements+\"}$ \"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    \/\/ il faut creer une div avec la propriete overflow: scroll et ajouter les \u00e9l\u00e9ments dedans 3 par 3 \r\n    boards[\"boardExempledetail\"].create(\"text\",[-3.5,1.0,'<div id=\"zone_arrangements\" class=\"wrapper\" style=\"color:black;opacity:0.7;background:#5F9EA0;width:700px;height:150px;overflow-y:auto;font-family:Katex-Main,serif;font-size:16px;font-style:normal;\"><\/div>'],\r\n        {strokeColor:\"cadetblue\",fontSize:20,highlight:false});\r\n    const zone=document.getElementById(\"zone_arrangements\");\r\n    Object.keys(tab_exemples[valeur][\"arrangements\"]).forEach((arrange)=> {\r\n        const p=document.createElement(\"p\");\r\n        p.setAttribute(\"style\",\"margin : 20px;\");\r\n        p.innerHTML=tab_exemples[valeur][\"arrangements\"][arrange][\"arr\"]+\" \"+tab_exemples[valeur][\"arrangements\"][arrange][\"voix\"];\r\n        zone.appendChild(p);\r\n    })\r\n    boards[\"boardExempledetail\"].create(\"text\",[-3,0,\"$\\\\bullet\\\\,\\\\, \\\\textrm{Commentaires : }$ \"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    boards[\"boardExempledetail\"].create(\"text\",[-3,-0.3,\"$\\\\textrm{\"+tab_exemples[valeur]['commentaires']+\"}$ \"],{strokeColor:\"cadetblue\",fontSize:12,highlight:false,fixed:true});\r\n    boards[\"boardExempledetail\"].create(\"text\",[-3,-0.8,\"$\\\\bullet\\\\,\\\\, \\\\textrm{Refs : }$ \"],{strokeColor:\"cadetblue\",fontSize:20,highlight:false,fixed:true});\r\n    boards[\"boardExempledetail\"].create(\"text\",[-1,-0.8,'<p style=\"font-family:Katex-Main,serif;\">'+tab_exemples[valeur]['ref']+'<\/p>'],{strokeColor:\"cadetblue\",fontSize:12,highlight:false,fixed:true});\r\n}\r\nchargement_exemples();\r\n\r\nconst valider_exemple=function() {\r\n    \/\/ on recup\u00e8re la selection et on appelle l'affichage des r\u00e9sultats \r\n    const valeur=document.getElementById(\"exemples-test\").value;\r\n    const Cand=tab_exemples[valeur]['candidats'];\r\n    const Arplur=Object.values(tab_exemples[valeur].arrangements).map((e)=>e.arr);\r\n    const Vxplur=Object.values(tab_exemples[valeur].arrangements).map((e)=>e.voix);\r\n    \r\n    cas_courant={\"nom\":valeur,\"candidats\":Cand, \"arrangements\":tab_exemples[valeur].arrangements};\r\n    affiche_cas_courant(cas_courant);\r\n    calcul_resultats(valeur, Cand,Arplur,Vxplur);\r\n    pager.page(11);\r\n    \r\n}\r\n\r\n\r\n\/\/ validation du calcul manuel \r\nconst valider_manuel=function() {\r\n    let numCandidats = parseInt(document.getElementById(\"numCandidats\").value);\r\n    let candidats = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\"].slice(0, numCandidats);\r\n    calcul_resultats(\"Manuel\", candidats,arrangements,electeurCounts);\r\n    const Arrang={}\r\n    let indice=1;\r\n    arrangements.forEach((arr)=> {\r\n        Arrang[indice]={\"arr\":arr,\"voix\":electeurCounts[indice-1]};\r\n        indice++;\r\n    })\r\n    cas_courant={\"nom\":\"Manuel\",\"candidats\":candidats, \"arrangements\":Arrang};\r\n    pager.page(11);\r\n    affiche_cas_courant(cas_courant);\r\n}\r\n\r\n\/\/ ------------------------------------------------------------\r\n\/\/ affichage du contenu du cas en cours dans la fenetre mobile \r\n\/\/ ------------------------------------------------------------\r\nconst affiche_cas_courant=function(cas){\r\n    console.log(\"affiche_cas_courant\",cas);\r\n    const Z=document.getElementById(\"div_corps_Cascourant\");\r\n    Z.innerHTML=\"\";\r\n    \/\/ on ecrit le titre du cas \r\n    const title=document.createElement(\"p\");\r\n    title.setAttribute(\"style\",\"color:#AE181E;font-family:Katex-Main,serif;font-size:20px\");\r\n    title.setAttribute(\"id\",\"title\");\r\n    title.innerHTML=\"Nom du cas : \" + cas.nom;\r\n    Z.appendChild(title);\r\n    \/\/ on ecrit les candidats \r\n    const candidats=document.createElement(\"p\");\r\n    candidats.innerHTML=\"\";\r\n    candidats.setAttribute(\"style\",\"color:#AE181E;display:flex;justify-content: center;font-family:Katex-Main,serif;\");\r\n    cas.candidats.forEach((cand)=> {\r\n        const ca=document.createElement(\"span\");\r\n        ca.innerHTML=cand;\r\n        ca.setAttribute(\"style\",\"color:#AE181E;cursor:pointer;margin:0px 0px 10px 10px;font-family:Katex-Main,serif;\");\r\n        ca.addEventListener(\"click\",function() {\r\n            surbrillance_element(this);\r\n        });\r\n        candidats.appendChild(ca);\r\n    })\r\n    \/\/ candidats.innerHTML=\"Liste des candidats :\" + cas.candidats;\r\n    Z.appendChild(candidats);\r\n    const nb_candidats=cas.candidats.length;\r\n    \r\n    \/\/ ----- ajout de la zone d'inscription des valeurs de colonnes : aide borda \r\n    const zone_colonne=document.createElement(\"div\");\r\n    zone_colonne.setAttribute(\"class\",\"wrapper_4col\");\r\n    zone_colonne.setAttribute(\"style\",\"color:#AE181E;font-family:Katex-Main,serif;font-size:20px;display:none\");\r\n    zone_colonne.setAttribute(\"id\",\"zone_colonne\");\r\n    zone_colonne.innerHTML=\"\"\r\n    Z.appendChild(zone_colonne);\r\n    const premiere_col=document.createElement(\"div\");\r\n    premiere_col.setAttribute(\"style\",\"text-align:end;color:blue\");\r\n    premiere_col.setAttribute(\"id\",\"premier_col\");\r\n    premiere_col.innerHTML=nb_candidats;\r\n    const corps_col=document.createElement(\"div\");\r\n    corps_col.setAttribute(\"style\",\"color:blue\");\r\n    corps_col.setAttribute(\"id\",\"corps_col\");\r\n    corps_col.innerHTML=\".....\";\r\n    const dernier_col=document.createElement(\"div\");\r\n    dernier_col.setAttribute(\"style\",\"text-align:start;;color:blue\");\r\n    dernier_col.setAttribute(\"id\",\"dernier_col\");\r\n    dernier_col.innerHTML=\"1\";\r\n    const voix_col=document.createElement(\"div\");\r\n    voix_col.setAttribute(\"id\",\"voix_col\");\r\n    zone_colonne.appendChild(premiere_col);\r\n    zone_colonne.appendChild(corps_col);\r\n    zone_colonne.appendChild(dernier_col);\r\n    zone_colonne.appendChild(voix_col);\r\n\r\n\r\n\r\n    \/\/ on ecrit les arrangements  dans quatre colonnes pour avoir un effet par methode \r\n    const arrangements=document.createElement(\"div\");\r\n    arrangements.setAttribute(\"class\",\"wrapper_4col\");\r\n    \r\n    Z.appendChild(arrangements);\r\n    const premieres=document.createElement(\"div\");\r\n    premieres.setAttribute(\"style\",\"text-align:end;\");\r\n    premieres.setAttribute(\"id\",\"premiers\");\r\n    const corps=document.createElement(\"div\");\r\n    corps.setAttribute(\"id\",\"corps\");\r\n    const derniers=document.createElement(\"div\");\r\n    derniers.setAttribute(\"style\",\"text-align:start;\");\r\n    derniers.setAttribute(\"id\",\"derniers\");\r\n    const voix=document.createElement(\"div\");\r\n    voix.setAttribute(\"id\",\"voix\");\r\n    arrangements.appendChild(premieres);\r\n    arrangements.appendChild(corps);\r\n    arrangements.appendChild(derniers);\r\n    arrangements.appendChild(voix);\r\n\r\n    Object.keys(cas[\"arrangements\"]).forEach((arrange)=> {\r\n        \/\/ ecrire entete \r\n        const long=cas[\"arrangements\"][arrange].arr.length;\r\n        const p_premiers=document.createElement(\"p\");\r\n        p_premiers.setAttribute(\"style\",\"color:#AE181E;padding:0px 0px 2px 0px;font-family:Katex-Main,serif;\");\r\n        \/\/p.innerHTML=(\"\"+cas[\"arrangements\"][arrange].arr).replace(\/,\/g,\">\") + \" : \" + cas[\"arrangements\"][arrange].voix;\r\n        p_premiers.innerHTML=cas[\"arrangements\"][arrange].arr[0]+\">\";\r\n        premieres.appendChild(p_premiers);\r\n        \/\/ ecirture corp\u015d\r\n        const p=document.createElement(\"p\");\r\n        p.setAttribute(\"style\",\"color:#AE181E;padding:0px 0px 2px 0px;font-family:Katex-Main,serif;\");\r\n        \/\/p.innerHTML=(\"\"+cas[\"arrangements\"][arrange].arr).replace(\/,\/g,\">\") + \" : \" + cas[\"arrangements\"][arrange].voix;\r\n        \r\n        p.innerHTML=(\"\"+cas[\"arrangements\"][arrange].arr.slice(1,long-1)).replace(\/,\/g,\">\")  ;\r\n        corps.appendChild(p);\r\n        \/\/ ecirture derniers\r\n        const p_derniers=document.createElement(\"p\");\r\n        p_derniers.setAttribute(\"style\",\"color:#AE181E;padding:0px 0px 2px 0px;font-family:Katex-Main,serif;\");\r\n        \r\n        console.log(long);\r\n        p_derniers.innerHTML=\">\"+cas[\"arrangements\"][arrange].arr[long-1];\r\n        derniers.appendChild(p_derniers);\r\n\r\n        \/\/ ecirture voix\r\n        const p_voix=document.createElement(\"p\");\r\n        p_voix.setAttribute(\"style\",\"color:#AE181E;padding:0px 0px 2px 0px;font-family:Katex-Main,serif;\");\r\n        p_voix.innerHTML=\" : \" + cas[\"arrangements\"][arrange].voix;\r\n        voix.appendChild(p_voix);\r\n\r\n    })\r\n\r\n\r\n}\r\nconst surbrillance_element=function(obj) {\r\n    console.log(obj.innerHTML);\r\n    document.querySelectorAll(\"span\").forEach((e)=> {e.style.color=\"#AE181E\";});\r\n    document.querySelectorAll(\"span\").forEach((e)=> {\r\n        if (e.innerHTML.indexOf(obj.innerHTML)!=-1)\r\n            e.style.color=\"blue\";\r\n    })\r\n}\r\n\r\n\r\ndragElement(document.getElementById(\"mydivCascourant\"));\t\r\n\t\r\n\r\nfunction dragElement(elmnt) {\r\n  var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;\r\n  if (document.getElementById(elmnt.id + \"header\")) {\r\n    \/\/ if present, the header is where you move the DIV from:\r\n    document.getElementById(elmnt.id + \"header\").onmousedown = dragMouseDown;\r\n  } else {\r\n    \/\/ otherwise, move the DIV from anywhere inside the DIV:\r\n   elmnt.onmousedown = dragMouseDown;\r\n  }\r\n\r\n  function dragMouseDown(e) {\r\n    e = e || window.event;\r\n    e.preventDefault();\r\n    \/\/ get the mouse cursor position at startup:\r\n    pos3 = e.clientX;\r\n    pos4 = e.clientY;\r\n    document.onmouseup = closeDragElement;\r\n    \/\/ call a function whenever the cursor moves:\r\n    document.onmousemove = elementDrag;\r\n  }\r\n\r\n  function elementDrag(e) {\r\n    e = e || window.event;\r\n    e.preventDefault();\r\n    \/\/ calculate the new cursor position:\r\n    pos1 = pos3 - e.clientX;\r\n    pos2 = pos4 - e.clientY;\r\n    pos3 = e.clientX;\r\n    pos4 = e.clientY;\r\n    \/\/ set the element's new position:\r\n    elmnt.style.top = (elmnt.offsetTop - pos2) + \"px\";\r\n    elmnt.style.left = (elmnt.offsetLeft - pos1) + \"px\";\r\n  }\r\n\r\n  function closeDragElement() {\r\n    \/\/ stop moving when mouse button is released:\r\n    document.onmouseup = null;\r\n    document.onmousemove = null;\r\n  }\r\n}\t\t\r\n\r\nconst closeModal=function(id) {\r\n    document.getElementById(id).style.display=\"none\";\r\n}\r\n\r\n\r\nconst Couleur_onglet=function() {\r\n    const onglets=document.querySelectorAll(\".sui-pager-number\");\r\n    Object.keys(onglets).forEach(onglet=> {\r\n        const num=parseInt(onglets[onglet].innerHTML);\r\n        if (num>0 && num<5) {\r\n            onglets[onglet].style.backgroundColor=\"lightblue\";\r\n        }\r\n        if (num>4 && num<7) {\r\n            onglets[onglet].style.backgroundColor=\"blue\";\r\n        }\r\n    });\r\n\r\n}\r\n\/\/Couleur_onglet();\r\n\r\n\r\n\r\n\r\n\r\n<\/script>\r\n\r\n<!-- <script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/corps_.js\"><\/script> -->\r\n<!-- <script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/condorcet.js\"><\/script> -->\r\n<script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/graphes_.js\"><\/script>\r\n<!-- <script type=\"text\/javascript\" src=\"\/personnalisation\/site_vote\/frise.js\"><\/script> -->\r\n\r\n\r\n\n\n<script type='text\/javascript'>\nvar id = \"6475\";<\/script>\n<script type='text\/javascript' src='https:\/\/spgoo.org\/wp-content\/uploads\/winp-css-js\/6475.js?ver=1747744185'><\/script>\n\n\n<script type='text\/javascript'>\nvar id = \"6430\";<\/script>\n<script type='text\/javascript' src='https:\/\/spgoo.org\/wp-content\/uploads\/winp-css-js\/6430.js?ver=1747552625'><\/script>\n","protected":false},"excerpt":{"rendered":"<p>Syst\u00e8mes de D\u00e9compte des Votes<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6372","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/6372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spgoo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6372"}],"version-history":[{"count":13,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/6372\/revisions"}],"predecessor-version":[{"id":6602,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/6372\/revisions\/6602"}],"wp:attachment":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}