{"id":12317,"date":"2026-05-12T10:36:41","date_gmt":"2026-05-12T08:36:41","guid":{"rendered":"https:\/\/spgoo.org\/?page_id=12317"},"modified":"2026-05-12T11:32:27","modified_gmt":"2026-05-12T09:32:27","slug":"fct_utility-explication","status":"publish","type":"page","link":"https:\/\/spgoo.org\/?page_id=12317","title":{"rendered":"fct_utility : Explication"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Quelques explications :<\/h2>\n\n\n\n<p>Cette page est organis\u00e9e de diff\u00e9rentes parties : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>fct_utility_css <\/strong>: style de la partie basse de l&#8217;\u00e9cran pour l&#8217;affichage des successions de boards. On peut param\u00e9trer chaque visuel avec son propre style.  <\/li>\n\n\n\n<li><strong>fct_utility_fcts_js<\/strong> : liste des fonctions d&#8217;utilit\u00e9 param\u00e9tr\u00e9e par CP, qu&#8217;il faudra stocker dans la base de donn\u00e9es <span class='tooltipsall tooltipsincontent classtoolTips3'>MongoDB<\/span>. Sera utilis\u00e9 par l&#8217;\u00e9diteur de fonctions pour compl\u00e9ter et modifier si besoin pour les contributeurs.<\/li>\n\n\n\n<li><strong>fct_utility_html<\/strong> : description du contenu de la page principale style et html.<\/li>\n\n\n\n<li><strong>fct_utility_flip<\/strong> : fonctions js de manipulation des flips visuels. <\/li>\n\n\n\n<li><strong>fcts_utility_script_cp<\/strong> : script js permettant de g\u00e9rer l\u2019\u00e9v\u00e9nementiel de la page principale.<\/li>\n<\/ul>\n\n\n\n<p>Tout se passe autour de la variable configBoard qui permet de m\u00e9moriser les param\u00e8tres de trac\u00e9 des fonctions d&#8217;utilit\u00e9. Cette structure est constitu\u00e9e de 6 \u00e9l\u00e9ments pour les 6 boards \u00e0 constituer. Le contenu de cette structure permet de m\u00e9moriser la s\u00e9lection de la fonction, les dimensions du board \u00e0 tracer, les courbes \u00e0 tracer et la valeur des sliders associ\u00e9s.<\/p>\n\n\n\n<p>Exemple de l&#8217;initialisation de la variable : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const configBoard={\n1:{fct:\"0_0\",infx:-1.4, supx:2, infy:-1.4, supy:2, A_x:true, R_x:false, P_x:false, T_x:false, sliders:&#91;]},\n2:{fct:\"0_0\",infx:-1.4, supx:2, infy:-1.4,supy:2,A_x:true, R_x:false, P_x:false, T_x:false, sliders:&#91;]},\n3:{fct:\"0_0\",infx:-1.4, supx:2, infy:-1.4,supy:2,A_x:true, R_x:false, P_x:false, T_x:false, sliders:&#91;]},\n4:{fct:\"0_0\",infx:-1.4, supx:2, infy:-1.4,supy:2,A_x:true, R_x:false, P_x:false, T_x:false, sliders:&#91;]},\n5:{fct:\"0_0\",infx:-1.4, supx:2, infy:-1.4,supy:2,A_x:true, R_x:false, P_x:false, T_x:false, sliders:&#91;]},\n6:{fct:\"0_0\",infx:-1.4, supx:2, infy:-1.4,supy:2,A_x:true, R_x:false, P_x:false, T_x:false, sliders:&#91;]}\n};<\/code><\/pre>\n\n\n\n<p>Attributs des structures de m\u00e9morisation : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>fct : identification (0_0, 1_1 &#8230;) le&nbsp;premier num\u00e9ro indique la classe, et le deuxi\u00e8me le fonction dans cette classe.<\/li>\n\n\n\n<li>infx : valeur r\u00e9elle <\/li>\n\n\n\n<li>supx : valeur r\u00e9elle <\/li>\n\n\n\n<li>infy : valeur r\u00e9elle <\/li>\n\n\n\n<li>supy : valeur r\u00e9elle <\/li>\n\n\n\n<li>A_x : boolean  (true \/ false) <\/li>\n\n\n\n<li>R_x: boolean (true \/ false)<\/li>\n\n\n\n<li>P_x: boolean (true \/ false)<\/li>\n\n\n\n<li>T_x : boolean (true \/ false)<\/li>\n\n\n\n<li>sliders : []  tableau permettant de stocker les valeurs des sliders <\/li>\n<\/ul>\n\n\n\n<p>Attention lors de la modification et de la restitution des param\u00e8tres en fonction de l&#8217;objet jsxGraph utilis\u00e9 <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rappel pour un chekbox : checkbox.setAttribute({&#8216;checked&#8217;:configBoard[id].A_x});<\/li>\n\n\n\n<li>Rappel pour un slider : ne pas oublier le update du board apr\u00e8s la modification.\n<ul class=\"wp-block-list\">\n<li>configBoard[id].sliders.forEach((e,i)=> {<br>             paramSliders[i].setValue(e);<br>})<br>board.update();<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Rappel pour un select : document.getElementById(&#8220;uf_select&#8221;).value=configBoard[id].fct;<\/li>\n\n\n\n<li>Rappel pour un input : in0.value=Number(configBoard[id].infx);<\/li>\n<\/ul>\n\n\n\n<p class=\"has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-c6aae6bbfb5c1b5c3411156b7f2dbac8\">Explications sur le fonctionnement de cette page : <\/p>\n\n\n\n<p>On a une variable qui d\u00e9finit les valeurs par d\u00e9faut pour chaque visuel. Donc ce qu&#8217;il faut faire est de stocker quel est le board actuel (valeur entre 1 et 6) avant la permutation, de m\u00e9moriser les valeurs des param\u00e8tres fix\u00e9s par l&#8217;utilisateur dans la variable configBoard avec le bon indice. Ensuite charger et construire le nouveau board en prenant en compte les param\u00e8tres de la variable configBoard du nouvel indice. Tout se fait autour de cPanel et de la variable configBoard. On pourra par la suite stocker ces valeurs dans le cache du navigateur pour m\u00e9moriser la configuration fix\u00e9e par l&#8217;utilisateur dans son contexte. Il suffira au d\u00e9marrage ou au rechargement de la page, de r\u00e9actualiser la variable configBoard avec un contenu sp\u00e9cifique et le tour est jou\u00e9. (reste \u00e0 faire)<\/p>\n<script type=\"text\/javascript\"> toolTips('.classtoolTips3','<a style=\"text-decoration: none;\" href=\"https:\/\/www.mongodb.com\/fr-fr\"><img style=\"width: 180px; height: 50px;\" src=\"\/wp-content\/uploads\/2025\/01\/mongodb-logo-rgb-scaled.jpg\" \/><\/a>'); <\/script>","protected":false},"excerpt":{"rendered":"<p>Quelques explications : Cette page est organis\u00e9e de diff\u00e9rentes parties : Tout se passe autour de la variable configBoard qui permet de m\u00e9moriser les param\u00e8tres de trac\u00e9 des fonctions d&#8217;utilit\u00e9. Cette structure est constitu\u00e9e de 6 \u00e9l\u00e9ments pour les 6 boards \u00e0 constituer. Le contenu de cette structure permet de m\u00e9moriser la s\u00e9lection de la [&hellip;]<\/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-12317","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/12317","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=12317"}],"version-history":[{"count":24,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/12317\/revisions"}],"predecessor-version":[{"id":12350,"href":"https:\/\/spgoo.org\/index.php?rest_route=\/wp\/v2\/pages\/12317\/revisions\/12350"}],"wp:attachment":[{"href":"https:\/\/spgoo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}