diff --git a/tetras_extraction/macao_12/result/macao_content.ttl b/tetras_extraction/macao_12/result/macao_content.ttl index a6941235628e0e452b5105f3cc1e6464fbabb0b0..26854ab7af0a4055ef589fef99372639e033ed84 100644 --- a/tetras_extraction/macao_12/result/macao_content.ttl +++ b/tetras_extraction/macao_12/result/macao_content.ttl @@ -31,8 +31,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (9)" ; :__protege_display_name "18 | pg1000 | Choisir une transcription (9)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_leadplomb.png\" id=\"MosImg263\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_leadmener.png\" id=\"MosImg297\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il s'agit d'un verbe qui signifie <i>mener</i>. <br><br>L'autre prononciation <img align="center" border="0" src="../media/phon_leadplomb.png" id="MosImg266" style="visibility:hidden"><br>existe : il s'agit d'un nom qui signifie <i>plomb</i>.<br>Vous pouvez écouter et ainsi différencier les deux mots :</p> @@ -101,8 +105,16 @@ owl:NamedIndividual ; rdfs:label "Choisir une prononciation (3)" ; :__protege_display_name "09 | pg108 | Choisir une prononciation (3)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV2', 'bt_think.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 1 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV84', 'bt_thing.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond au premier mot entendu : <i>thing</i>. </div> @@ -120,15 +132,33 @@ owl:NamedIndividual ; rdfs:label "Choisir l'accentuation adéquate (2)" ; :__protege_display_name "08 | pg112 | Choisir l'accentuation adéquate (2)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_desert_2.png\" id=\"MosImg31\" style=\"visibility:hidden\"></span></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_desert_2.png\" id=\"MosImg50\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"><font color=\"#a60a69\"><i><b></b></i></font></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><font color=\"#a60a69\"></font></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><font color=\"#a60a69\">...before reaching the <i><b>desert</b></i>.</font></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_desert_1.png\" id=\"MosImg71\" style=\"visibility:hidden\"></span></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><font color=\"#a60a69\">The soldier decided to <i><b>desert </b></i>...</font></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_desert_1.png\" id=\"MosImg32\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 7 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p> @@ -158,8 +188,14 @@ owl:NamedIndividual ; rdfs:label "Choisir entre deux mots (1)" ; :__protege_display_name "12 | pg149 | Choisir entre deux mots (1)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">cow + </div>""" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">cough + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p> <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur transcription :</p> @@ -218,8 +254,14 @@ owl:NamedIndividual ; rdfs:label "Distinguer d'éventuelles variantes (4)" ; :__protege_display_name "07 | pg155 | Distinguer d'éventuelles variantes (4)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><p align="">IN ne se prononce + pas de la même façon dans les deux énoncés.</p></div>""" ; + :index 1 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">IN se prononce de + la même façon dans les deux énoncés.</p></div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Vous avez bien entendu. La préposition <i>in</i> est prononcée dans les deux énoncés sans différence notable.</p> <p align=""> @@ -323,8 +365,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (7)" ; :__protege_display_name "06 | pg205 | Choisir une transcription (7)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_hear_faux.png\" id=\"MosImg97\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_hear.png\" id=\"MosImg90\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align="">Vous vous êtes trompé. La bonne @@ -343,8 +389,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (11)" ; :__protege_display_name "20 | pg2051 | Choisir une transcription (11)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_use_utiliser.png\" id=\"MosImg74\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_use_usage.png\" id=\"MosImg43\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il s'agit d'un nom qui signifie <i>usage</i>. </p> <p align="">L'autre prononciation <img align="center" border="0" src="../media/phon_use_utiliser.png" id="MosImg7410" style="visibility:hidden"><br><br>existe et correspond @@ -407,8 +457,13 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (1)" ; :__protege_display_name "00 | pg217 | Choisir une transcription (1)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_thin.png\" id=\"MosImg9\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><img align="center" border="0" src="../media/phon_thin_faux.png" id="MosImg84" style="visibility:hidden"> + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est @@ -425,9 +480,21 @@ owl:NamedIndividual ; rdfs:label "Spécificité des voyelles (3)" ; :__protege_display_name "16 | pg220 | Spécificité des voyelles (3)" ; - :aReponseCorrecte 2 ; - :aReponseIncorrecte 0, - 1 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">la voyelle contient un son + unique et stable + </div>""" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">la voyelle est composée de 2 + sons prononcés de manière égale + </div>""" ; + :index 1 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep3" onmouseover="exo.changerBouton(3,true);" onmouseout="exo.changerBouton(3,false);" onclick="exo.action(3)">la voyelle est composée de 2 + sons prononcés de manière inégale + </div>""" ; + :index 2 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est la bonne réponse.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Ce n'est pas la bonne réponse. Il y a bien deux @@ -444,8 +511,16 @@ owl:NamedIndividual ; rdfs:label "Spécificité des voyelles (5)" ; :__protege_display_name "19 | pg226 | Spécificité des voyelles (5)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">il est difficile d'établir une + différence de longueur entre les 2 voyelles + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">la voyelle en orange est plus + longue que la voyelle en violet + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">C'est inexact ; réécoutez attentivement les deux @@ -462,15 +537,33 @@ owl:NamedIndividual ; rdfs:label "Choisir l'accentuation adéquate (4)" ; :__protege_display_name "10 | pg228 | Choisir l'accentuation adéquate (4)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_intimate_1.png\" id=\"MosImg847\" style=\"visibility:hidden\"></span></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><font color=\"#a60a69\">...to my most <i><b>intimate</b></i> friend ?</font></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_intimate_2.png\" id=\"MosImg85\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><font color=\"#a60a69\"></font></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_intimate_1.png\" id=\"MosImg95\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 7 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_intimate_2.png\" id=\"MosImg78\" style=\"visibility:hidden\"></span></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"><font color=\"#a60a69\"><i><b></b></i></font></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><font color=\"#a60a69\">How can I <b><i>intimate </i></b>this<font color=\"#a60a69\">...</font></font></div>" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"><span style="FONT-SIZE: 90%"><font color="#a60a69"><br><br><br><br>Voici le corrigé :<br><br>How can<br></font><font color="#a60a69">I <i><b>intimate</b></i> this to my most <i><b>intimate</b></i> friend ? </font></span></font><font color="#a60a69"><br><br> <img align="center" border="0" src="../media/phon_intimate_1.png" id="MosImg844436" style="visibility:hidden"> <img align="center" border="0" src="../media/phon_intimate_2.png" id="MosImg6495426" style="visibility:hidden"></font> @@ -569,15 +662,34 @@ owl:NamedIndividual ; rdfs:label "Choisir l'accentuation adéquate (5)" ; :__protege_display_name "11 | pg293 | Choisir l'accentuation adéquate (5)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><font color=\"#a60a69\">...their music on a colour <i><b>record</b></i>. </font></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_record_2.png\" id=\"MosImg311\" style=\"visibility:hidden\"></span></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_record_1.png\" id=\"MosImg832\" style=\"visibility:hidden\"></span></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><font color=\"#a60a69\"></font></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_record_1.png\" id=\"MosImg97\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 7 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"><font color=\"#a60a69\"><i><b></b></i></font></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_record_2.png\" id=\"MosImg58\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><font color="#a60a69">The Beatles wanted the technicians to + <i><b>record</b></i>...</font></div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p> @@ -655,10 +767,18 @@ owl:NamedIndividual ; rdfs:label "Lire des transcriptions phonétiques (2)" ; :__protege_display_name "14 | pg313 | Lire des transcriptions phonétiques (2)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('3')\" onclick=\"enrPosClic(event,'3')\"><img align=\"center\" border=\"0\" src=\"../media/phon_photographer_14.png\" id=\"MosImg13\" style=\"visibility:hidden\"></a><br><br></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('2')\" onclick=\"enrPosClic(event,'2')\"><img align=\"center\" border=\"0\" src=\"../media/phon_philosophy14.png\" id=\"MosImg568\" style=\"visibility:hidden\"></a><br><br></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><p align=\"\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('1')\" onclick=\"enrPosClic(event,'1')\"><img align=\"center\" border=\"0\" src=\"../media/phon_psychology_juste.png\" id=\"MosImg1\" style=\"visibility:hidden\"></a><br><br></p></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('4')\" onclick=\"enrPosClic(event,'4')\"><img align=\"center\" border=\"0\" src=\"../media/phon_criticism.png\" id=\"MosImg253\" style=\"visibility:hidden\"></a></div>" ; + :index 3 ] ; :commentaireInfo """<div id="divCmt1" onclick="SPE_clicDansBulle(event,'divCmt1')"><br><br><br><br><br><br><br><br><br><br> <script type="text/javascript">ajDocW(PF_clipAV('clipAV97', 'bt_psycho.swf', '17', '17', 'false', 'Flash', 'false', 'middle', 'Quality:high;wmode:transparent', 'cmt'));</script> <img align="center" border="0" src="../media/phon_psychology_juste.png" id="MosImg12" style="visibility:hidden"></div> @@ -867,8 +987,15 @@ owl:NamedIndividual ; rdfs:label "L'auxiliaire MUST (1)" ; :__protege_display_name "00 | pg381 | L'auxiliaire MUST (1)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">l'auxiliaire MUST n'est pas + prononcé de façon identique. + </div>""" ; + :index 1 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">l'auxiliaire MUST + est prononcé de façon identique.</p></div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> <br><br><br><br><br><br><br><br>Bien !</p> <p align="">L'auxiliaire est effectivement prononcé dans les deux énoncés avec la forme <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">réduite</a></b> @@ -891,8 +1018,16 @@ owl:NamedIndividual ; rdfs:label "Choisir une prononciation (2)" ; :__protege_display_name "08 | pg386 | Choisir une prononciation (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV91', 'bt_hear.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV83', 'bt_ear.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond au second mot entendu : <i>ear</i>. </div> @@ -947,10 +1082,19 @@ owl:NamedIndividual ; rdfs:label "Lire des transcriptions phonétiques (1)" ; :__protege_display_name "13 | pg400 | Lire des transcriptions phonétiques (1)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('2')\" onclick=\"enrPosClic(event,'2')\"><img src=\"../media/phon_university__162.png\" id=\"MosImg387\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></a><br><br></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('4')\" onclick=\"enrPosClic(event,'4')\"><img align=\"center\" border=\"0\" src=\"../media/phon_eighty.png\" id=\"MosImg43\" style=\"visibility:hidden\"></a></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('3')\" onclick=\"enrPosClic(event,'3')\"><img align=\"center\" border=\"0\" src=\"../media/phon_eighteen.png\" id=\"MosImg19\" style=\"visibility:hidden\"></a><br><br></div>" ; + :index 2 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align=""><a class="STY_lienComt" href="javascript:CRS_afficherDetail('1')" onclick="enrPosClic(event,'1')"><img align="center" border="0" src="../media/phon_about.png" id="MosImg21" style="visibility:hidden"></a><br><br> + </p></div>""" ; + :index 0 ] ; :commentaireInfo """<div id="divCmt1" onclick="SPE_clicDansBulle(event,'divCmt1')"><br><br><br><br><br><br><br><br><br> <script type="text/javascript">ajDocW(PF_clipAV('clipAV77', 'bt_about.swf', '17', '17', 'false', 'Flash', 'false', 'middle', 'Quality:high;wmode:transparent', 'cmt'));</script> <img align="center" border="0" src="../media/phon_about.png" id="MosImg2149" style="visibility:hidden"></div> @@ -982,8 +1126,15 @@ owl:NamedIndividual ; rdfs:label "L'auxiliaire BE (2)" ; :__protege_display_name "15 | pg401 | L'auxiliaire BE (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">l'auxiliaire est + prononcé de façon identique.</p></div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">l'auxiliaire n'est pas + prononcé de façon identique. + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> <br><br><br><br><br><br><br><br><br><br>Effectivement.</p> <p align="">On observe des degrés différents dans la <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">réduction @@ -1016,9 +1167,21 @@ owl:NamedIndividual ; rdfs:label "Spécificité des voyelles (4)" ; :__protege_display_name "17 | pg41 | Spécificité des voyelles (4)" ; - :aReponseCorrecte 2 ; - :aReponseIncorrecte 0, - 1 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep3" onmouseover="exo.changerBouton(3,true);" onmouseout="exo.changerBouton(3,false);" onclick="exo.action(3)">la voyelle est composée de 2 + sons prononcés de manière inégale + </div>""" ; + :index 2 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">la voyelle est composée de 2 + sons prononcés de manière égale + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">la voyelle contient un son + unique et stable + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est la bonne réponse.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Ce n'est pas la bonne réponse. Il y a bien deux @@ -1154,8 +1317,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (4)" ; :__protege_display_name "03 | pg491 | Choisir une transcription (4)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_dark_faux.png\" id=\"MosImg29\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_dark.png\" id=\"MosImg85\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est @@ -1267,8 +1434,15 @@ owl:NamedIndividual ; rdfs:label "L'auxiliaire CAN (2)" ; :__protege_display_name "11 | pg531 | L'auxiliaire CAN (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">l'auxiliaire CAN + est prononcé de façon identique.</p></div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">l'auxiliaire CAN n'est pas + prononcé de façon identique. + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> <br><br><br><br><br><br><br><br><br><br>Exact.</p> <p align="">L'auxiliaire du premier énoncé comporte une <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">voyelle @@ -1362,8 +1536,14 @@ owl:NamedIndividual ; rdfs:label "Choisir entre deux mots (5)" ; :__protege_display_name "16 | pg561 | Choisir entre deux mots (5)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">boat + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">bought + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p> <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur transcription :</p> @@ -1422,8 +1602,16 @@ owl:NamedIndividual ; rdfs:label "Choisir une prononciation (1)" ; :__protege_display_name "07 | pg576 | Choisir une prononciation (1)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV11', 'bt_test.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV21', 'bt_chest.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond au premier mot entendu : <i>test</i>. </div> @@ -1532,15 +1720,36 @@ owl:NamedIndividual ; rdfs:label "Vérifier la place de l'accent primaire (4) " ; :__protege_display_name "03 | pg6121 | Vérifier la place de l'accent primaire (4) " ; - :aReponseCorrecte 1, - 7 ; - :aReponseIncorrecte 0, - 2, - 3, - 4, - 5, - 6, - 8 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><span style="FONT-SIZE: 250%">• <img align="absMiddle" src="../media/psychologie2.gif" width="97" height="21" id="MosImg50" border="0"></span> + </div>""" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/photographer2.gif\" id=\"MosImg12\" border=\"0\" align=\"center\"></span></div>" ; + :index 7 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><span style="FONT-SIZE: 250%">• <img align="absMiddle" src="../media/psychologie.gif" width="93" height="21" id="MosImg45" border="0"></span> + </div>""" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep3" onmouseover="exo.changerBouton(3,true);" onmouseout="exo.changerBouton(3,false);" onclick="exo.action(3)"><span style="FONT-SIZE: 250%">• <img align="absMiddle" src="../media/psychologie3.gif" width="97" height="21" id="MosImg24" border="0"></span> + </div>""" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">• <img align=\"absMiddle\" src=\"../media/photographer4.gif\" id=\"MosImg4\" border=\"0\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><span style=\"FONT-SIZE: 250%\"></span></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><span style=\"FONT-SIZE: 250%\">• <img align=\"absMiddle\" src=\"../media/photographer.gif\" id=\"MosImg25\" border=\"0\"></span></div>" ; + :index 6 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> </p> <p align=""> </p> <p align=""> En effet, voici la transcription qui convient pour chaque mot :<br><br><br><br></p> @@ -1631,8 +1840,14 @@ owl:NamedIndividual ; rdfs:label "Choisir entre deux mots (3)" ; :__protege_display_name "14 | pg6361 | Choisir entre deux mots (3)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">think + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">sink + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p> <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur transcription :</p> @@ -1691,9 +1906,21 @@ owl:NamedIndividual ; rdfs:label "Spécificité des voyelles (2)" ; :__protege_display_name "15 | pg639 | Spécificité des voyelles (2)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1, - 2 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">la voyelle contient un son + unique et stable + </div>""" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep3" onmouseover="exo.changerBouton(3,true);" onmouseout="exo.changerBouton(3,false);" onclick="exo.action(3)">la voyelle est composée de 2 + sons prononcés de manière inégale + </div>""" ; + :index 2 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">la voyelle est composée de 2 + sons prononcés de manière égale + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Vous avez raison.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous trompez. La voyelle n'est pas composée de @@ -1730,15 +1957,37 @@ owl:NamedIndividual ; rdfs:label "Choisir l'accentuation adéquate (1)" ; :__protege_display_name "07 | pg665 | Choisir l'accentuation adéquate (1)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"><font color=\"#a60a69\"><i><b></b></i></font></div>" ; + :index 5 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep8" onmouseover="exo.changerBouton(8,true);" onmouseout="exo.changerBouton(8,false);" onclick="exo.action(8)"><span style="FONT-SIZE: 250%">•</span><img align="center" border="0" src="../media/phon_produce_13.png" id="MosImg45" style="visibility:hidden"> + </div>""" ; + :index 7 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><span style="FONT-SIZE: 250%">•</span><img align="center" border="0" src="../media/phon_produce_13.png" id="MosImg458" style="visibility:hidden"> + </div>""" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"> <font color=\"#a60a69\">The farmer refused to <i><b>produce</b></i> ...</font></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><font color=\"#a60a69\">...organic <i><b>produce.</b></i></font></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><font color=\"#a60a69\"></font></div>" ; + :index 4 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep9" onmouseover="exo.changerBouton(9,true);" onmouseout="exo.changerBouton(9,false);" onclick="exo.action(9)"><span style="FONT-SIZE: 250%">•</span><img align="center" border="0" src="../media/phon_produce_2_.png" id="MosImg69" style="visibility:hidden"> + </div>""" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep3" onmouseover="exo.changerBouton(3,true);" onmouseout="exo.changerBouton(3,false);" onclick="exo.action(3)"><span style="FONT-SIZE: 250%">•</span><img align="center" border="0" src="../media/phon_produce_2_.png" id="MosImg693" style="visibility:hidden"> + </div>""" ; + :index 2 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p> @@ -1792,21 +2041,55 @@ owl:NamedIndividual ; rdfs:label "Vérifier la place de l'accent primaire (2) " ; :__protege_display_name "01 | pg6811 | Vérifier la place de l'accent primaire (2) " ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep15" onmouseover="exo.changerBouton(15,true);" onmouseout="exo.changerBouton(15,false);" onclick="exo.action(15)"><span style="FONT-SIZE: 250%">•</span><img src="../media/characters3.gif" id="MosImg91" border="0" align="center"> + </div>""" ; + :index 14 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep13\" onmouseover=\"exo.changerBouton(13,true);\" onmouseout=\"exo.changerBouton(13,false);\" onclick=\"exo.action(13)\"><span style=\"FONT-SIZE: 250%\">•</span><img src=\"../media/characters.gif\" id=\"MosImg44\" border=\"0\" align=\"center\"></div>" ; + :index 12 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep10\" onmouseover=\"exo.changerBouton(10,true);\" onmouseout=\"exo.changerBouton(10,false);\" onclick=\"exo.action(10)\"></div>" ; + :index 9 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><span style=\"FONT-SIZE: 250%\"></span></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/theory2.gif\" id=\"MosImg24\" border=\"0\" align=\"center\"></span></div>" ; + :index 7 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/theory.gif\" id=\"MosImg37\" border=\"0\" align=\"center\"></span></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep12\" onmouseover=\"exo.changerBouton(12,true);\" onmouseout=\"exo.changerBouton(12,false);\" onclick=\"exo.action(12)\"></div>" ; + :index 11 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/theory3.gif\" id=\"MosImg38\" border=\"0\" align=\"center\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"></div>" ; + :index 5 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><span style="FONT-SIZE: 250%">• <img src="../media/phon_narrator_juste1.gif" id="MosImg57" border="0" align="center"></span> + </div>""" ; + :index 0 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep3" onmouseover="exo.changerBouton(3,true);" onmouseout="exo.changerBouton(3,false);" onclick="exo.action(3)"><span style="FONT-SIZE: 250%">• <img align="center" border="0" src="../media/narrator.gif" id="MosImg2"></span> + </div>""" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep11\" onmouseover=\"exo.changerBouton(11,true);\" onmouseout=\"exo.changerBouton(11,false);\" onclick=\"exo.action(11)\"></div>" ; + :index 10 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep14" onmouseover="exo.changerBouton(14,true);" onmouseout="exo.changerBouton(14,false);" onclick="exo.action(14)"><span style="FONT-SIZE: 250%">•</span><img src="../media/characters2.gif" id="MosImg93" border="0" align="center"> + </div>""" ; + :index 13 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/narrator_juste.gif\" id=\"MosImg22\" border=\"0\" align=\"center\"></span></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""><br> </p> <p align="">En effet, voici la transcription qui convient pour chaque mot :<br><br><br></p> <p align=""> </p> @@ -1849,8 +2132,14 @@ owl:NamedIndividual ; rdfs:label "Choisir entre deux mots (4)" ; :__protege_display_name "15 | pg699 | Choisir entre deux mots (4)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">thin + </div>""" ; + :index 1 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">thing + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p> <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur transcription :</p> @@ -1909,15 +2198,33 @@ owl:NamedIndividual ; rdfs:label "Choisir l'accentuation adéquate (6)" ; :__protege_display_name "12 | pg71 | Choisir l'accentuation adéquate (6)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><font color=\"#a60a69\">...gave me <i><b>content</b></i> and joy.. </font></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><font color=\"#a60a69\">The <i><b>content</b></i> of her letter...</font></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"><font color=\"#a60a69\"><i><b></b></i></font></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><font color=\"#a60a69\"></font></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_content_2.png\" id=\"MosImg61\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_content_2.png\" id=\"MosImg5210\" style=\"visibility:hidden\"></span></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_content_1.png\" id=\"MosImg571\" style=\"visibility:hidden\"></span></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_content_1.png\" id=\"MosImg86\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 7 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p> @@ -1946,8 +2253,16 @@ owl:NamedIndividual ; rdfs:label "Spécificité des voyelles (6)" ; :__protege_display_name "20 | pg713 | Spécificité des voyelles (6)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">la voyelle en orange est plus + longue que la voyelle en violet + </div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">il est difficile d'établir une + différence de longueur entre les 2 voyelles + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">C'est inexact ; réécoutez attentivement les deux @@ -1989,15 +2304,34 @@ owl:NamedIndividual ; rdfs:label "Choisir l'accentuation adéquate (3)" ; :__protege_display_name "09 | pg740 | Choisir l'accentuation adéquate (3)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_subject_2.png\" id=\"MosImg70\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 8 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><font color=\"#a60a69\"></font></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_subject_1.png\" id=\"MosImg43\" style=\"visibility:hidden\"></span></div>" ; + :index 1 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/phon_subject_2.png\" id=\"MosImg656\" style=\"visibility:hidden\"></span></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">•<img src=\"../media/phon_subject_1.png\" id=\"MosImg37\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></span></div>" ; + :index 7 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><font color=\"#a60a69\">...the <i><b>subject</b></i> to a series of tests.</font></div>" ; + :index 6 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><font color="#a60a69"> <font color="#a60a69">I had to <i><b>subject</b></i> + ...</font></font></div>""" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"><font color=\"#a60a69\"><i><b></b></i></font></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"></div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align=""><font color="#a60a69"></font> </p> @@ -2031,8 +2365,14 @@ owl:NamedIndividual ; rdfs:label "Choisir entre deux mots (2)" ; :__protege_display_name "13 | pg758 | Choisir entre deux mots (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">though + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)">thought + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Bonne réponse ! </p> <p align="">Vous pouvez comparer les deux mots, en remarquant leur prononciation, leur écriture et leur transcription :</p> @@ -2091,8 +2431,16 @@ owl:NamedIndividual ; rdfs:label "Choisir une prononciation (4)" ; :__protege_display_name "10 | pg76 | Choisir une prononciation (4)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV96', 'bt_kater.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 1 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV35', 'bt_cat.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond au premier mot entendu : <i>cat</i>. </div> @@ -2120,8 +2468,14 @@ owl:NamedIndividual ; rdfs:label "Distinguer d'éventuelles variantes (3)" ; :__protege_display_name "05 | pg769 | Distinguer d'éventuelles variantes (3)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">TO se prononce de + la même façon dans les deux énoncés.</p></div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><p align="">TO ne se prononce + pas de la même façon dans les deux énoncés.</p></div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement.</p> <p align=""> <script type="text/javascript">ajDocW(PF_clipAV('clipAV166', 'e29_macao1_2b52.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script> @@ -2160,8 +2514,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (3)" ; :__protege_display_name "02 | pg7691 | Choisir une transcription (3)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_bring_faux.png\" id=\"MosImg45\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_bring.png\" id=\"MosImg75\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est @@ -2234,8 +2592,14 @@ owl:NamedIndividual ; rdfs:label "Distinguer d'éventuelles variantes (5)" ; :__protege_display_name "09 | pg813 | Distinguer d'éventuelles variantes (5)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">FOR se prononce de + la même façon dans les deux énoncés.</p></div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><p align="">FOR ne se prononce + pas de la même façon dans les deux énoncés.</p></div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement. </p> <p align=""> <script type="text/javascript">ajDocW(PF_clipAV('clipAV51', 'e29_macao1_2b92.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script> @@ -2273,8 +2637,14 @@ owl:NamedIndividual ; rdfs:label "Distinguer d'éventuelles variantes (1)" ; :__protege_display_name "01 | pg825 | Distinguer d'éventuelles variantes (1)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><p align="">OF ne se prononce + pas de la même façon dans les deux énoncés.</p></div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">OF se prononce de + la même façon dans les deux énoncés.</p></div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement.</p> <p align=""> <script type="text/javascript">ajDocW(PF_clipAV('clipAV190', 'e29_macao1_2b12.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script> @@ -2310,8 +2680,15 @@ owl:NamedIndividual ; rdfs:label "L'auxiliaire WILL (2)" ; :__protege_display_name "03 | pg8251 | L'auxiliaire WILL (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">l'auxiliaire WILL n'est pas + prononcé de façon identique. + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">l'auxiliaire WILL + est prononcé de façon identique.</p></div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> <br><br><br><br><br><br><br><br><br><br>Bien !</p> <p align="">L'auxiliaire de la première réponse comporte une <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">voyelle @@ -2363,21 +2740,51 @@ owl:NamedIndividual ; rdfs:label "Vérifier la place de l'accent primaire (3) " ; :__protege_display_name "02 | pg8412 | Vérifier la place de l'accent primaire (3) " ; - :aReponseCorrecte 0, - 7, - 13 ; - :aReponseIncorrecte 1, - 2, - 3, - 4, - 5, - 6, - 8, - 9, - 10, - 11, - 12, - 14 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep10\" onmouseover=\"exo.changerBouton(10,true);\" onmouseout=\"exo.changerBouton(10,false);\" onclick=\"exo.action(10)\"></div>" ; + :index 9 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep15\" onmouseover=\"exo.changerBouton(15,true);\" onmouseout=\"exo.changerBouton(15,false);\" onclick=\"exo.action(15)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/beginning3.gif\" id=\"MosImg0\" border=\"0\" align=\"center\"></span></div>" ; + :index 14 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep8\" onmouseover=\"exo.changerBouton(8,true);\" onmouseout=\"exo.changerBouton(8,false);\" onclick=\"exo.action(8)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/communicate2.gif\" id=\"MosImg21\"></span></div>" ; + :index 7 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep13\" onmouseover=\"exo.changerBouton(13,true);\" onmouseout=\"exo.changerBouton(13,false);\" onclick=\"exo.action(13)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/beginning1.gif\" id=\"MosImg3\" border=\"0\" align=\"center\"></span></div>" ; + :index 12 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep12\" onmouseover=\"exo.changerBouton(12,true);\" onmouseout=\"exo.changerBouton(12,false);\" onclick=\"exo.action(12)\"></div>" ; + :index 11 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/heroin2.gif\" id=\"MosImg10\" border=\"0\" align=\"center\"></span></div>" ; + :index 1 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/heroin.gif\" id=\"MosImg16\" border=\"0\" align=\"center\"></span></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep5\" onmouseover=\"exo.changerBouton(5,true);\" onmouseout=\"exo.changerBouton(5,false);\" onclick=\"exo.action(5)\"><span style=\"FONT-SIZE: 250%\"></span></div>" ; + :index 4 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep6\" onmouseover=\"exo.changerBouton(6,true);\" onmouseout=\"exo.changerBouton(6,false);\" onclick=\"exo.action(6)\"></div>" ; + :index 5 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/heroin3.gif\" id=\"MosImg90\" border=\"0\" align=\"center\"></span></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep7\" onmouseover=\"exo.changerBouton(7,true);\" onmouseout=\"exo.changerBouton(7,false);\" onclick=\"exo.action(7)\"><span style=\"FONT-SIZE: 250%\">•<img align=\"center\" border=\"0\" src=\"../media/communicate1.gif\" id=\"MosImg43\"></span></div>" ; + :index 6 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep11\" onmouseover=\"exo.changerBouton(11,true);\" onmouseout=\"exo.changerBouton(11,false);\" onclick=\"exo.action(11)\"></div>" ; + :index 10 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep9\" onmouseover=\"exo.changerBouton(9,true);\" onmouseout=\"exo.changerBouton(9,false);\" onclick=\"exo.action(9)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/communicate.gif\" id=\"MosImg13\" border=\"0\" align=\"center\"></span></div>" ; + :index 8 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep14\" onmouseover=\"exo.changerBouton(14,true);\" onmouseout=\"exo.changerBouton(14,false);\" onclick=\"exo.action(14)\"><span style=\"FONT-SIZE: 250%\">• <img src=\"../media/beginning.gif\" id=\"MosImg14\" border=\"0\" align=\"center\"></span></div>" ; + :index 13 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> </p> <p align=""></p> <p style="MARGIN-BOTTOM: 0cm" align="">En effet, voici la transcription qui convient pour chaque mot :</p> @@ -2661,8 +3068,15 @@ owl:NamedIndividual ; rdfs:label "L'auxiliaire HAVE (2)" ; :__protege_display_name "07 | pg879 | L'auxiliaire HAVE (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)">l'auxiliaire HAVE n'est pas + prononcé de façon identique. + </div>""" ; + :index 1 ], + [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">l'auxiliaire HAVE + est prononcé de façon identique.</p></div>""" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align=""> <br><br><br><br><br><br><br><br><br><br>Effectivement.</p> <p align="">L'auxiliaire du premier énoncé comporte une <b><a class="STY_lienDansZoneComt" href="javascript:parent.SCO_ouvrirDoc('voyelle_reduite','htm')">voyelle @@ -2739,8 +3153,14 @@ owl:NamedIndividual ; rdfs:label "Distinguer d'éventuelles variantes (2)" ; :__protege_display_name "03 | pg890 | Distinguer d'éventuelles variantes (2)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"><p align="">AT se prononce de + la même façon dans les deux énoncés.</p></div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"><p align="">AT ne se prononce + pas de la même façon dans les deux énoncés.</p></div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">Effectivement.</p> <p align=""> <script type="text/javascript">ajDocW(PF_clipAV('clipAV662', 'e29_macao1_2b33.swf', '80', '40', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', 'cmt'));</script> @@ -2781,8 +3201,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (6)" ; :__protege_display_name "05 | pg893 | Choisir une transcription (6)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_shine_faux.png\" id=\"MosImg12\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_shine.png\" id=\"MosImg2\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align="">Vous vous êtes trompé. La bonne @@ -2799,8 +3223,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (8)" ; :__protege_display_name "17 | pg894 | Choisir une transcription (8)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_tearlarme.png\" id=\"MosImg35\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_teardechire.png\" id=\"MosImg72\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il s'agit d'un nom qui signifie <i>larme</i>. <br><br>L'autre prononciation <img align="center" border="0" src="../media/phon_teardechire.png" id="MosImg7235" style="visibility:hidden"><br>existe : il s'agit d'un verbe qui signifie <i>déchirer</i>.<br>Vous pouvez écouter et ainsi différencier les deux mots @@ -2901,8 +3329,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (10)" ; :__protege_display_name "19 | pg93 | Choisir une transcription (10)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_woundblesser.png\" id=\"MosImg524\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_woundenroule.png\" id=\"MosImg116\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')"><p align="">C'est la bonne réponse. Il s'agit d'un verbe ou d'un nom signifiant respectivement <i>blesser</i> et <i>blessure</i>.<br><br>L'autre prononciation <img align="center" border="0" src="../media/phon_woundenroule.png" id="MosImg119" style="visibility:hidden"> <br><br>correspond soit au prétérit ou au participe passé du @@ -2966,8 +3398,16 @@ owl:NamedIndividual ; rdfs:label "Choisir une prononciation (5)" ; :__protege_display_name "11 | pg933 | Choisir une prononciation (5)" ; - :aReponseCorrecte 1 ; - :aReponseIncorrecte 0 ; + :aReponse [ :correct false ; + :html """<div class="STY_reponseQC" id="lienRep1" onmouseover="exo.changerBouton(1,true);" onmouseout="exo.changerBouton(1,false);" onclick="exo.action(1)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV59', 'bt_grin.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 0 ], + [ :correct true ; + :html """<div class="STY_reponseQC" id="lienRep2" onmouseover="exo.changerBouton(2,true);" onmouseout="exo.changerBouton(2,false);" onclick="exo.action(2)"> + <script type="text/javascript">ajDocW(PF_clipAV('clipAV96', 'bt_green.swf', '18', '18', 'false', 'Flash', 'false', '', 'Quality:high;wmode:transparent', ''));</script> + </div>""" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">Effectivement, la transcription correspond au second mot entendu : <i>green</i>. </div> @@ -3021,8 +3461,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (2)" ; :__protege_display_name "01 | pg965 | Choisir une transcription (2)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_then_faux.png\" id=\"MosImg81\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ], + [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_then.png\" id=\"MosImg96\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')"><p align="">Vous vous êtes trompé. La bonne @@ -3039,10 +3483,18 @@ owl:NamedIndividual ; rdfs:label "Lire des transcriptions phonétiques (3)" ; :__protege_display_name "15 | pg966 | Lire des transcriptions phonétiques (3)" ; - :aReponseIncorrecte 0, - 1, - 2, - 3 ; + :aReponse [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep3\" onmouseover=\"exo.changerBouton(3,true);\" onmouseout=\"exo.changerBouton(3,false);\" onclick=\"exo.action(3)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('3')\" onclick=\"enrPosClic(event,'3')\"><img align=\"center\" border=\"0\" src=\"../media/phon_chicago14.png\" id=\"MosImg28010\" style=\"visibility:hidden\"></a><br><br></div>" ; + :index 2 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><p align=\"\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('1')\" onclick=\"enrPosClic(event,'1')\"><img align=\"center\" border=\"0\" src=\"../media/phon_optimistic14.png\" id=\"MosImg841\" style=\"visibility:hidden\"></a><br><br></p></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep4\" onmouseover=\"exo.changerBouton(4,true);\" onmouseout=\"exo.changerBouton(4,false);\" onclick=\"exo.action(4)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('4')\" onclick=\"enrPosClic(event,'4')\"><img align=\"center\" border=\"0\" src=\"../media/phon_kitchenette14.png\" id=\"MosImg4108\" style=\"visibility:hidden\"></a></div>" ; + :index 3 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><a class=\"STY_lienComt\" href=\"javascript:CRS_afficherDetail('2')\" onclick=\"enrPosClic(event,'2')\"><img align=\"center\" border=\"0\" src=\"../media/phon_technology14.png\" id=\"MosImg2269\" style=\"visibility:hidden\"></a><br><br></div>" ; + :index 1 ] ; :commentaireInfo """<div id="divCmt1" onclick="SPE_clicDansBulle(event,'divCmt1')"><br><br><br><br><br><br><br><br><br><br> <script type="text/javascript">ajDocW(PF_clipAV('clipAV77', 'bt_optimistic.swf', '17', '17', 'false', 'Flash', 'false', 'middle', 'Quality:high;wmode:transparent', 'cmt'));</script> <img align="center" border="0" src="../media/phon_optimistic14.png" id="MosImg84" style="visibility:hidden"> @@ -3078,8 +3530,12 @@ owl:NamedIndividual ; rdfs:label "Choisir une transcription (5)" ; :__protege_display_name "04 | pg98 | Choisir une transcription (5)" ; - :aReponseCorrecte 0 ; - :aReponseIncorrecte 1 ; + :aReponse [ :correct true ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep1\" onmouseover=\"exo.changerBouton(1,true);\" onmouseout=\"exo.changerBouton(1,false);\" onclick=\"exo.action(1)\"><img src=\"../media/phon_measure.png\" id=\"MosImg93\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 0 ], + [ :correct false ; + :html "<div class=\"STY_reponseQC\" id=\"lienRep2\" onmouseover=\"exo.changerBouton(2,true);\" onmouseout=\"exo.changerBouton(2,false);\" onclick=\"exo.action(2)\"><img src=\"../media/phon_measure_faux.png\" id=\"MosImg66\" border=\"0\" align=\"center\" style=\"visibility:hidden\"></div>" ; + :index 1 ] ; :commentaireSucces """<div id="divCmtSucces" onclick="SPE_clicDansBulle(event,'divCmtSucces')">C'est exact.</div> """ ; :commentaireSugg """<div id="divSugg1" onclick="SPE_clicDansBulle(event,'divSugg1')">Vous vous êtes trompé. La bonne transcription est diff --git a/tetras_extraction/macao_12/script/extract_page.py b/tetras_extraction/macao_12/script/extract_page.py index 59134f75e49c68b6b862e442e2f675a4abd0f67e..8c8fb57fe9a73c39daf03ebb467b3dcc27e70ebd 100644 --- a/tetras_extraction/macao_12/script/extract_page.py +++ b/tetras_extraction/macao_12/script/extract_page.py @@ -1,12 +1,14 @@ import re import sys +from abc import abstractmethod +from dataclasses import dataclass from pprint import pprint from typing import Any, List, Optional import esprima as es from lxml import etree, html from lxml.etree import _Element -from rdflib import RDF, Graph, Literal +from rdflib import RDF, BNode, Graph, Literal from common import * @@ -22,48 +24,150 @@ class Comment: return str(self.__dict__) -class Page: +class Activity: id: str + """The ID of the page this activity is in (`pg###`)""" title: str - type: str # cours ou exercice + """Human-readable title of the activity""" + description: str + """Description of the activity's body (HTML), + e.g. the instructions for an exercise activity""" comment_success: Comment - comments_sugg: List[Comment] - comments_misc: List[Comment] - - def __init__(self) -> None: - self.comments_sugg = [] - self.comments_misc = [] + """Comment displayed on success, if applicable""" + comments_sugg: List[Comment] = [] + """Help comments displayed on failure, if applicable""" + comments_misc: List[Comment] = [] + """Any other comments, if present""" + + def save(self, graph: Graph): + """Save activity data to the graph. Subclasses extend this method + to save their specific data.""" + graph.add((NS[self.id], RDF.type, NS[self.get_name()])) + + def get_name(self) -> str: + return type(self).__name__ + + @classmethod + def from_typename(cls, name: str): + """Convenience function to create an `Activity` subclass from a name""" + match name: + case "Cours": + return Cours() + case "ExerciceQC": + return ExerciceQC() + case "ExerciceQM": + return ExerciceQM() + case "ExerciceTAT": + return ExerciceTAT() + case "ExerciceGD": + return ExerciceGD() + case _: + raise NameError(name=name) def __repr__(self): - return str(self.__dict__) + return self.get_name() + str(self.__dict__) + + +class Cours(Activity): + pass + + +@dataclass +class Choice: + """A possible answer for a question, correct or not""" + + index: int = 0 + is_correct: bool = False + html: str = "" + + +class ChoiceGroup: + label: str + items: List[Choice] + + +class ExerciceQC(Activity): + is_qcm: bool + choices: List[Choice] + + def __init__(self, is_qcm=False) -> None: + super().__init__() + self.is_qcm = is_qcm + self.choices = [] + + def get_name(self) -> str: + return "ExerciceQC_QCM" if self.is_qcm else "ExerciceQC_QCU" + + def save(self, graph: Graph): + super().save(graph) + for choice in self.choices: + choice_node = BNode() + graph.add((choice_node, NS["index"], Literal(choice.index))) + graph.add((choice_node, NS["correct"], Literal(choice.is_correct))) + graph.add((choice_node, NS["html"], Literal(choice.html))) + graph.add((NS[self.id], NS["aReponse"], choice_node)) + + def set_correct(self, choice_index: int, correct: bool): + """Set the choice at `choice_index` as correct or not, creating it if needed.""" + self._get_or_create(choice_index).is_correct = correct + + def set_html(self, choice_index: int, html: str): + """Set the `html` attribute for the choice at `choice_index`, creating it if needed.""" + self._get_or_create(choice_index).html = html + + def _get_or_create(self, index: int) -> Choice: + """Returns the choice at `index`, creating it if needed.""" + for i in range(len(self.choices), index + 1): + self.choices.append(Choice(i)) + return self.choices[index] + + +class ExerciceQM(Activity): + questions: List[ChoiceGroup] + + +class ExerciceTAT(Activity): + text: str # can be HTML + gaps: List[ChoiceGroup] + + +class ExerciceGD(Activity): + targets: List[str] + draggables: List[List[Choice]] -class RegexParser: +class JSParser: + @abstractmethod + def parse(self, js, output=sys.stdout) -> Activity: + """Parse a string of JavaScript code and returns an instance of the + correct `Activity` subclass, partially populated with data found in the code. + """ + pass + + def __str__(self) -> str: + return type(self).__name__ + + +class RegexParser(JSParser): def __init__(self, graph: Graph, act_id: str) -> None: self.graph = graph self.act_id = act_id - def parse(self, js, output=sys.stdout): + def parse(self, js) -> Activity: # Find function declaration and only keep code after it func_split = re.split(r"\s*?function entrerDonnees\(\s*?\)\s*?{", js) if len(func_split) < 2: raise ParseError("Failed to find function 'entrerDonnees'") body = func_split[1] - activity_type, activity_var_name = self._parse_activity_constructor(body) - # Save to graph - self.graph.add((NS[self.act_id], RDF.type, NS[activity_type])) - print(activity_type, end="", file=output) + activity, activity_var_name = self._parse_activity_constructor(body) + if isinstance(activity, ExerciceQC): + # Parse correct answers + self._parse_qc_answers(body, activity) - if activity_type.startswith("ExerciceQC"): - # Parse correct answers and add them to the graph - correct_answers = self._parse_qc_answers(body) - print(" ", correct_answers, end="", file=output) - for i, correct in enumerate(correct_answers): - property = NS["aReponseCorrecte" if correct else "aReponseIncorrecte"] - self.graph.add((NS[self.act_id], property, Literal(i))) + return activity - def _parse_activity_constructor(self, code: str) -> tuple[str, str]: + def _parse_activity_constructor(self, code: str) -> tuple[Activity, str]: """ Find activity constructor call, return the activity type and resulting variable name. @@ -80,15 +184,16 @@ class RegexParser: ) if constructor_match is None: raise ParseError("Failed to parse activity constructor") - # Handle case of QC variants + var_name, act_type, args = constructor_match.groups() - if act_type == "ExerciceQC" and args in ('"QCU"', '"QCM"'): - act_type += "_" + args.replace('"', "") - return act_type, var_name + activity = Activity.from_typename(act_type) + # Handle case of QC variants + if isinstance(activity, ExerciceQC) and args == '"QCM"': + activity.is_qcm = True + return activity, var_name - def _parse_qc_answers(self, code: str) -> list[bool]: - """Parse the correct answers for a QCU activity, as a list of booleans""" - correct_choices = [] + def _parse_qc_answers(self, code: str, exo: ExerciceQC) -> None: + """Parse the correct answers for a QCU activity""" index = 0 for line in code.splitlines(): line = line.strip() @@ -98,17 +203,13 @@ class RegexParser: index = int(m.group(1)) - 1 # question indexes start at 1 elif line == "exo.tabStylesR[nr] = CODE_F;": # "incorrect answer" line - insert_grow(correct_choices, index, False, fill_value=False) + exo.set_correct(index, False) elif line == "exo.tabStylesR[nr] = CODE_V;": # "correct answer" line - insert_grow(correct_choices, index, True, fill_value=False) - return correct_choices - - def __str__(self) -> str: - return "RegexParser" + exo.set_correct(index, True) -class XpathParser: +class XpathParser(JSParser): """A parser for the JS portion of an activity, that uses XPath to query an XML representation of Esprima's abstract syntax tree (AST)""" @@ -123,37 +224,36 @@ class XpathParser: '*//NewExpression/callee/Identifier[@name="Cours" or starts-with(@name, "Exercice")]' ) - def __init__(self): - pass - - def parse(self, js, output=sys.stdout): + def parse(self, js) -> Activity: jstree = es.parseScript(js, None) # Convert Esprima object tree to XML etree xml = self.to_xml(jstree.toDict(), "jstree") try: self.fun = self.request_function(xml)[0] - act_type = self._parse_activity_type() - print(act_type, end="", file=output) - if act_type.startswith("ExerciceQC"): - print(" ", self._parse_qc_answers(), end="", file=output) + activity = self._parse_activity_type() + if isinstance(activity, ExerciceQC): + self._parse_qc_answers(activity) + return activity except Exception as e: raise ParseError(e) - def _parse_activity_type(self) -> str: + def _parse_activity_type(self) -> Activity: constructor_id = self.request_constructor_id(self.fun)[0] match constructor_id.get("name"): case "ExerciceQC": arg = constructor_id.xpath("../../arguments/Literal/@value")[0] - if arg not in ["QCU", "QCM"]: + if arg == "QCM": + return ExerciceQC(is_qcm=True) + elif arg == "QCU": + return ExerciceQC() + else: raise ParseError(f"ExerciceQC: invalid argument '{arg}'") - return f"ExerciceQC_{arg}" case other: - return other + return Activity.from_typename(other) - def _parse_qc_answers(self) -> list[bool]: - """Parse the correct answers for a QCU activity, as a list of booleans""" + def _parse_qc_answers(self, activity: ExerciceQC) -> None: + """Parse the correct answers for a QC activity""" indexes_and_values = self.request_index_and_values(self.fun) - correct_choices = [] index = 0 for e in indexes_and_values: value = e.xpath("@value") @@ -162,9 +262,7 @@ class XpathParser: index = int(value[0]) - 1 # question indexes start at 1 else: # "correct" or "incorrect" line - correct = e.get("name") == "CODE_V" - insert_grow(correct_choices, index, correct, fill_value=False) - return correct_choices + activity.set_correct(index, e.get("name") == "CODE_V") def to_xml(self, obj, tag_name: Optional[str] = None): """Recursively convert an object structure to an XML `ElementTree`. @@ -220,24 +318,24 @@ class XpathParser: leaf_tag.text = str(obj) return leaf_tag - def __str__(self) -> str: - return "XpathParser" - -class MatchParser: +class MatchParser(JSParser): """A parser for the JS portion of an activity, that uses Python match statements to navigate the abstract syntax tree (AST) produced by Esprima""" + activity: Activity + def __init__(self, graph: Graph, act_id: str) -> None: self.graph = graph self.act_id = act_id - def parse(self, js, output=sys.stdout): + def parse(self, js, output=sys.stdout) -> Activity: self.output = output jstree = es.parseScript(js, None) # Try to match our template with one of the top-level statements for statement in jstree.body: self.match_function(statement.toDict()) + return self.activity def match_constructor_call(self, new_expr: dict): match new_expr: @@ -251,28 +349,24 @@ class MatchParser: }: match typ: case "Cours" | "ExerciceQM" | "ExerciceTAT" | "ExerciceGD": - self.print(typ) - self.graph.add((NS[self.act_id], RDF.type, NS[typ])) + self.activity = Activity.from_typename(typ) case "ExerciceQC": match args: case [{"type": "Literal", "value": "QCU"}, *_]: typ += "_QCU" + self.activity = ExerciceQC() case [{"type": "Literal", "value": "QCM"}, *_]: typ += "_QCM" + self.activity = ExerciceQC(is_qcm=True) case _: raise ParseError( f"ExerciceQC: Invalid argument '{args}'" ) - self.print(typ) - self.graph.add((NS[self.act_id], RDF.type, NS[typ])) case _: raise ParseError(f"Unknown activity type '{typ}'") case _: pass - def print(self, s: str): - print(s, end="", file=self.output) - def match_function(self, func: dict): """Checks if `func` matches a function declaration named `entrerDonnees`, and search its body if successful @@ -289,9 +383,6 @@ class MatchParser: # Find constructor calls (e.g. `new Thing()`) recursively recurse_prefix(statement, self.match_constructor_call) - def __str__(self) -> str: - return "MatchParser" - def recurse_prefix(t, f): """Depth-first prefixed recursion: calls a function on an object, then on @@ -314,42 +405,49 @@ regex_comment = re.compile(r"(\D*)(\d*)") def parse_page(graph: Graph, filepath: str, id: str): - page = Page() - # Parse with lxml + # Activity data is spread across HTML and JS code, which are parsed + # differently. Additionally, some pieces of data are specific to the + # activity type (Cours, ExerciceQC...) and this type is in the JS portion. + # This requires parsing the JS code first, to get the type, then proceed + # with HTML to get the rest of the type-specific data. + + # We still need to find the inline scripts before parsing them tree = html.parse(filepath) root = tree.getroot() - # Collect all inline scripts (no external 'src') and join them in a # block of JS code - # scripts = root.cssselect('script[type="text/javascript"]:not([src])') scripts: List[html.HtmlElement] = root.xpath( '/html/head/script[@type="text/javascript" and not(@src)]' ) js = "\n".join((s.text_content() for s in scripts)) + activity = Activity() # Try different parsers, each writing to a different file to compare their results for parser in [XpathParser(), MatchParser(graph, id), RegexParser(graph, id)]: with open(f"/tmp/{str(parser)}_debuglog.txt", "a") as f: print(f"\n{id:8}", end="", file=f) try: - parser.parse(js, output=f) + activity: Activity = parser.parse(js) + print(activity, end="", file=f) except ParseError as e: - print(f"{parser} -> {id}: Parsing error: {e}", file=sys.stderr) + eprint(f"{parser} -> {id}: Parsing error: {e}") + eprint("Treating this as a generic Activity.") - if ( - graph[NS[id] : RDF.type : NS["ExerciceQC_QCU"]] - or graph[NS[id] : RDF.type : NS["ExerciceQC_QCM"]] - ): - ze = root.get_element_by_id("STY_zoneExercice") + # Temporary: parsing QC attributes + if isinstance(activity, ExerciceQC): + # Find question description question = root.get_element_by_id("STY_question") - - print(f"ExerciceQC {{\n question: '{to_html(question).strip()}'\n choices: [") + activity.description = to_html(question).strip() + # Find question choices for choice in root.find_class("STY_reponseQC"): + # Choices have an 'id' attribute in the form 'lienRepX' + # where X is their index (starting at 1) index = int(choice.attrib["id"].replace("lienRep", "")) - print(f" {index}: '{to_html(choice).strip()}'") - print("\n]}") - pass + activity.set_html(index - 1, to_html(choice).strip()) + # Parse generic activity attributes + activity.id = id + activity.title = root.xpath("/html/head/title")[0].text # Parse comments zi = root.get_element_by_id("zoneInvisible") for cmt_div in zi: @@ -364,15 +462,17 @@ def parse_page(graph: Graph, filepath: str, id: str): match m.groups(): case ["divCmt", num]: comment.num = int(num) - page.comments_misc.append(comment) + activity.comments_misc.append(comment) graph.add((NS[id], NS["commentaireInfo"], Literal(comment.html))) case ["divSugg", num]: comment.num = int(num) - page.comments_sugg.append(comment) + activity.comments_sugg.append(comment) graph.add((NS[id], NS["commentaireSugg"], Literal(comment.html))) case ["divCmtSucces", _]: - page.comment_success = comment + activity.comment_success = comment graph.add((NS[id], NS["commentaireSucces"], Literal(comment.html))) case [other, _]: pass - # pprint(page) + # Save everything to the graph + activity.save(graph) + # pprint(activity)