From da3f56b62999d3ece784686d8c50b74413b00574 Mon Sep 17 00:00:00 2001 From: tazzon Date: Thu, 25 Sep 2014 16:37:10 +0200 Subject: [PATCH] Le reste des fichiers tridactyl --- tridactyl/index.html | 63 ++++++++++ tridactyl/js/fonctions_texte.js | 225 ++++++++++++++++++++++++++++++++++ tridactyl/js/functions_page.js | 260 ++++++++++++++++++++++++++++++++++++++++ tridactyl/js/lecon11.js | 29 +++++ 4 files changed, 577 insertions(+) create mode 100644 tridactyl/index.html create mode 100644 tridactyl/js/fonctions_texte.js create mode 100644 tridactyl/js/functions_page.js create mode 100644 tridactyl/js/lecon11.js diff --git a/tridactyl/index.html b/tridactyl/index.html new file mode 100644 index 0000000..70ae926 --- /dev/null +++ b/tridactyl/index.html @@ -0,0 +1,63 @@ + + + + +Tridactyl : perfectionnement de la frappe par les trigrammes + + + + + + + + + + + + + +
+ home + Dactylotest + Tridactyl + Bépodactyl +
+ +
+

— Tridactyl —


+ Perfectionnement de la frappe par les trigrammes. +
+ +
+

+
+
+

Javascript doit être activé ! Vous pouvez le faire en modifiant les préférences de votre navigateur. Si vous ne savez pas comment faire, consultez l'aide de celui-ci.

+

>> 

+
+
+ +
+ +
+ +
+ +
+

Options

+

+ Activer le curseur
+ Activer l’anti-correction
+

+

+ + +

+
+ + + + + + + diff --git a/tridactyl/js/fonctions_texte.js b/tridactyl/js/fonctions_texte.js new file mode 100644 index 0000000..0dc81a1 --- /dev/null +++ b/tridactyl/js/fonctions_texte.js @@ -0,0 +1,225 @@ +/******************************************************************************* +Toutes les fonctions liées à la frappe, erreurs, curseurs… +*******************************************************************************/ + +la_couleur_du_curseur = "#40e0d0"; +//cette fonction compare le texte tapé à « le_texte » +var val=""; //c'est le contenu du champ texte +var val_temp=""; //le texte juste avant pour l'anti-correction +var txt_frap = new Array; // on stock dans ce tableau les différentes lignes de texte que l'on vient de taper + +function test(e) +{ + // entrer retourne le code 13 + var touche = window.event ? e.keyCode : e.which; + //if (touche == 32) + //nb_sp++; + //alert(touche) + + if (touche == 16 || touche == 225 || touche == 17 || touche == 18 || touche == 27 || touche == 9 || touche == 20 || touche == 91 || touche == 93) // shift || ctrl || alt || échap || tab || caps-lock || super || menu + return; + + if (touche == 8 && anti_correct) // anti correction + { + document.getElementById("txt").value = val_temp; + return; + } + + val = document.getElementById("txt").value; //le texte qu'on tape + if (val.substr(val.length-1,1) != le_texte[l-1].substr(val.length-1,1) && val.length-1 != le_texte[l-1].length) + { + document.getElementById("txt").style.backgroundColor = "red"; + //var time=document.getElementById("set_time").value; + var time = 150; + setTimeout('document.getElementById("txt").style.backgroundColor = "inherit"',time); + } + + if (touche == 13 || val.length >= le_texte[l-1].length+1) + { + //alert(val.length +"-" +val.substr(val.length-1,1) + "-" ); + //alert(le_texte[l]) + if (val.substr(val.length-1,1) == " ") + val = val.substr(0,val.length-1); + //alert(val.length); + //var reg = new RegExp(" ","g") + //alert(val.replace(reg,"#")); + txt_frap[l-1] = val; + //nb_sp=0; + ligne_suivante(); + val_temp=""; + return; + } + + + val_temp=val; +} + +function next(e) +{ + var touche = window.event ? e.keyCode : e.which; + val = document.getElementById("txt").value; //le texte qu'on tape + if (le_texte[l-1].substr(val.length,1) == " " && touche != 8) // si c'est une espace qui est prévue et si c'est pas un retour un arrière car un cas de retour vu qu'on remet le car si c'est une esapace, ça fait qu'on passe au mot suivant + color_mot("next"); + if (le_texte[l-1].substr(val.length-1,1) == " " && touche == 8) + color_mot("prev"); +} + +// pour passer à la ligne suivante de la leçon +var l = 0; +//var pos_sp=new Array(); // la position de espaces dans la ligne courante pour que le curseur soit au bon endroit +function ligne_suivante() +{ + document.getElementById("txt").value = ""; + + if (l == le_texte.length) + { + l=0; + aff_result(); + } + else + { + var col_ligne = new Array("inherit","#bbbbbb","#d4d4d4","#eeeeee"); + var mark_ligne = new Array(">> ","   ","   ","   "); + var txt=""; + document.getElementById("rd_txt").innerHTML = ""; + + var ligne_tab = new Array(); + + for (var i=0 ; i<4 ; i++) + { + if (l+i < le_texte.length)// il faut qu'il reste des lignes + { + if (i==0) // première ligne pour avoir le curseur + { + //on compte le nombre d'espaces dans la ligne pour pouvoir positionner le curseur au bon endroit + + + //on découpe le tout pour le reconstituer ensuite avec des span identifiant chaque mot (pour le curseur) + var reg = new RegExp(" ","g"); + var ligne_tmp = le_texte[l+i].split(reg); + for (var j=0 ; j'+ligne_tmp[j]+''; + } + txt=ligne_tmp.join(" "); + } + else + txt=le_texte[l+i]; + //alert(txt) + ligne_tab[i] = ''+mark_ligne[i]+txt+'
'; + } + } + + + l++; + } + document.getElementById("rd_txt").innerHTML = ligne_tab.join(""); + /*for (var i=4 ; i>0 ; i--) + { + document.getElementById("rd_txt").innerHTML += ligne_tab[i-1]; + }*/ + color_mot("init"); +} + +function val_curseur(a) +{ + if(a) + { + col_cur = la_couleur_du_curseur; + cur_checked = "checked"; + } + else + { + col_cur = "inherit"; + cur_checked = ""; + } + color_mot(); +} + + +var anti_correct = true; +function val_anti_correct(a) +{ + + anti_correct = false; + if (a == true || a == "init") + anti_correct = true; + + + if (anti_correct) + document.getElementById("anti_correct").checked = "checked"; + else + document.getElementById("anti_correct").checked = ""; +} + +var colw = 0; +var col_cur = la_couleur_du_curseur; // couleur du curseur +function color_mot(a) +{ + /*if (!document.getElementById("val_cur").checked) // pas de curseur + return;*/ + + if (a == "init") + colw = 0; + else if (a == "next") + { + colw++; + if (document.getElementById("mot_"+(colw-1))) + document.getElementById("mot_"+(colw-1)).style.backgroundColor = "inherit"; + } + else if (a == "prev") + { + colw--; + if (document.getElementById("mot_"+(colw+1))) + document.getElementById("mot_"+(colw+1)).style.backgroundColor = "inherit"; + } + + if (document.getElementById("mot_"+colw)) + document.getElementById("mot_"+colw).style.backgroundColor = col_cur; +} + +function aff_result() // replacer les undefined par des espaces insécables (pour l'affichage) +{ + document.getElementById("rd_txt").innerHTML = ""; + var i=0; + var reg = new RegExp(" ","g"); + //alert("on est ici . "+txt_frap.length); + + while (txt_frap.length > i) + { + if (txt_frap[i] == le_texte[i]) + { + document.getElementById("resultats").innerHTML += '—OK— '+txt_frap[i].replace(reg," ")+"

"; + } + else + { + var le_texte_tmp = le_texte[i].replace(reg," "); + le_texte_tmp = le_texte_tmp.split(""); + var txt_frap_tmp = txt_frap[i].replace(reg," "); + txt_frap_tmp = txt_frap_tmp.split(""); + for (var j=0 ; j'; + } + var txt_frap_tmp = txt_frap_tmp.join(""); + + + document.getElementById("resultats").innerHTML += '  >> '+le_texte_tmp.join("")+'
-NK- '+txt_frap_tmp+"

"; + //document.getElementById("resultats").innerHTML += '  >> '+le_texte[i]+'
-NK- '+txt_frap[i]+"

"; + } + //alert(i); + i++; + } + txt_frap = new Array(); // ré-init variable +} + + + + + + + + diff --git a/tridactyl/js/functions_page.js b/tridactyl/js/functions_page.js new file mode 100644 index 0000000..725e66b --- /dev/null +++ b/tridactyl/js/functions_page.js @@ -0,0 +1,260 @@ +/******************************************************************************* +Toutes les fonctions liées à la page pour le gestion des cadres des options, +demande d'un nouveau texte… +*******************************************************************************/ + +//cette fonction permet d'avoir un nouveau texte +var lecon_mots = ""; // les mots de la leçon +var lecon_tri = ""; // les trigrammes de la leçon +var rep_mots = 8;//8 // le nombre de répétitions des mots +var rep_tri = 13;//13 // le nombre de répétitions des trigrammes +var tri_replace = 4; // tout les combiens remplacer par un trigramme différent pour tuer la monotonie +var le_texte = new Array; //c'est le texte avec les corrections typo validées dans les options +var lecon_nb; +var lecon_en_cours = 1; // le numéro de la leçon +var lecon = new Array; +var lecon_tab = new Array("lecon3","lecon7","lecon11","lecon15"); +var lecon_type = 0; +var cur_checked = "checked"; + + +var description = "

Leçons à partir de trigrammes les plus récurrents.

" + + "L’apprentissage existe en 4 jeux de leçons de longueur différentes répartis en suffisamment de trigrammes pour obtenir au moins 3, 7, 11 et 15 mots.
" + + "À chacun de choisir la longueur de l’apprentissage qui lui convient pour apprendre :
" + + "
" + + "— 30 leçons de 3 mots, 4 à 5 minutes par jour pendant 1 mois ;
" + + "— 30 leçons de 7 mots, 8 à 10 minutes par jour pendant 1 mois ;
" + + "— 24 leçons de 11 mots, 12 à 15 minutes par jour à la pause déjeuner pendant 1 mois ;
" + + "— 19 leçons de 15 mots, 15 à 20 minutes par jour à la pause déjeuner pendant 1 mois.
" + + "
" + + "Un accroissement de la vitesse et de la précision de seulement 20% devrait libérer environ 1 heure par jour pour tous les jour de votre vie au bureau.
" + + "Un doublement de la vitesse devrait permettre de libérer 1/2 journée par jour de clavier.
" + + "Même si pendant l’apprentissage votre vitesse se trouvait réduite de 50% cela devrait être compensée par moins de temps perdu en correction orthographique et une meilleur syntaxe.
" + + "Un enfant qui apprendrait la dactylographie à l’aveugle dispose d’un excellent moyen pour réduire la dyslexie et améliorer les résultats scolaires en terme d’efficacité et de présentation et cela en seulement 30 jours d’apprentissage.

"; + + +function change_type_lecon(a) +{ + if (lecon_type != a) + { + lecon_type = a; + //alert(lecon_tab[lecon_type]+'()'); + eval(lecon_tab[lecon_type]+'()'); + change_lecon("="); + } + + +} + + +function change_lecon(a) +{ + change_type_lecon(lecon_type); + if (a=="+" && lecon_en_cours1) + lecon_en_cours--; + + if (lecon_en_cours > lecon.length-1) + lecon_en_cours = lecon.length-1; + + new_text(lecon_en_cours); +} + + +function new_text(a) +{ + //on réinitialise les variables + le_texte = new Array; + l=0; + nb_sp=1; + // rien pour l'instant + if (!a) + a=1; + + // requète javascript pour récupérer numéro###credit###texte + /*var req = "new_text.php?t="+lecon_nb+"&l="+document.getElementById("lang").value; + if (document.getElementById("methode").value == "number") + { + var prompt_result = prompt("Indiquer ici le numéro du texte que vous souhaitez charger.",lecon_nb); + if (prompt_result == null) + return; + req += "&force="+prompt_result; + } + var req_text = request(req,"text_nmbr"); */ + + //var req_text = "1###que les lle des ent ant###vouvoiements desquelles entant lesquelles"; + + var req_text = lecon[a]; + + var reg = new RegExp("###","g"); + var t_get = req_text.split(reg); + lecon_mots = t_get[2]; + lecon_tri = t_get[1]; + lecon_nb = t_get[0]; + + + + document.getElementById("resultats").innerHTML = ""; + document.getElementById("txt").value = ""; //on efface le texte précédement tapé + document.getElementById("txt").focus(); + + reg = new RegExp(" ","g"); + var tab_tri = lecon_tri.split(reg); + var tab_mots = lecon_mots.split(reg); + + // mise en forme des leçons + var ligne=0; + + le_texte[ligne] = lecon_tri; + ligne++; + var j=0; + for (var i=0 ; i= tab_tri.length) + j=0; + + var k = j; + } + else + k=i; + + if (r < rep_tri-1) + { + le_texte[ligne] += tab_tri[k]+" "; + } + else + le_texte[ligne] += tab_tri[k]; + } + ligne++; + } + le_texte[ligne] = lecon_tri; + ligne++; + + le_texte[ligne] = lecon_mots; + ligne++; + + for (var i=0 ; i= 10) + space_sup = ""; + + document.getElementById("text_nmbr").innerHTML = 'Leçon nº'+lecon_en_cours+space_sup+' ' + +' ' + +' ' + +' ' + //+' Activer le curseur' + //+' Activer anti-correction' + +'' + +'
' + +'en mode ' + +'
' + +'— trigrammes : '+lecon_tri+" ;
— mots : "+lecon_mots+'.'; + + + + document.getElementById("but_+").style.color = "inherit"; + document.getElementById("but_+").style.borderColor = "inherit"; + document.getElementById("but_-").style.color = "inherit"; + document.getElementById("but_-").style.borderColor = "inherit"; + + if (lecon_en_cours == 1) + { + document.getElementById("but_-").style.color = "grey"; + document.getElementById("but_-").style.borderColor = "grey"; + } + if (lecon_en_cours == lecon.length-1) + { + document.getElementById("but_+").style.color = "grey"; + document.getElementById("but_+").style.borderColor = "grey"; + } +} + +function view_options(action) +{ + +if (action == "") + return; + +document.getElementById("options").style.display = action; +document.getElementById("voile").style.display = action; + +if (action == "block") + document.getElementById("txt").blur(); +if (action == "none") + document.getElementById("txt").focus(); + +} + +function options(e) +{ + //var touche = window.event ? e.keyCode : e.which; + //alert(touche); +} + + + +// cette fonction permet de sauver les préférences des options en enregistrant des cookies +/*function save_opt() +{ + var id_ = ""; // le nom temporaire de l'ID de l'input + var check_ = ""; // l'état temporaire du checkbox de l'input + + // url pour la requete + var url = "save_pref.php?"; + + // un tableau de tous les inputs qui se trouvent dans les options + var list = document.getElementById("options").getElementsByTagName("input"); + + for (var i=0 ; i"; + document.getElementById("resultats").style.border = "none"; + document.getElementById("resultats").style.backgroundColor = "inherit"; + setTimeout('val_result("resto")',1500); // restauration du champ de résultats dans 1s + +}*/ + + \ No newline at end of file diff --git a/tridactyl/js/lecon11.js b/tridactyl/js/lecon11.js new file mode 100644 index 0000000..b3d8ff1 --- /dev/null +++ b/tridactyl/js/lecon11.js @@ -0,0 +1,29 @@ +function lecon11() +{ + lecon = new Array; // ré-init des leçons + + lecon[1] = "1###que les lle des ent ait our ant men ion###desquelles entourait entourant entourent lesquelles menait menant mentait mentant mentent mention"; + lecon[2] = "2###con ons tio tre res ais ans dan eur par est###cons contions contres dansais danseur dansons parais pareur partions restais restions restons"; + lecon[3] = "3###com mme pas ire mai son pou tou rai ont tai ous###comme compas maire maison poutou raire raison sont tairai taire tous"; + lecon[4] = "4###nce ava che vai kiw iwi plu sse qui nte eux sur urs ain yeu éta###avance chevai kiwi pluche plusse quiche quintessence quinteux surs vain yeux étain"; + lecon[5] = "5###tes ble tte ure end ill lus tra pro ter out dez ren ort ran###blettes endure illustra protester protestes prout rendez rendort renter rentes rentrantes"; + lecon[6] = "6###ass ssi ins aut ses omm oir air cha and ati ère ten int###assassins assaut assises assommoir chair chand chasses chatière chaut insère intenses"; + lecon[7] = "7###ine cou ouv ver enc ave rie ier ess aie fai ien ser###couine couver encaver encrier essaie faine ouvrier rien serine verrier verser"; + lecon[8] = "8###ces sai iss ues lai anc tan nou age aux uve nne pre iqu ntr ven###cessai issues laissai laitances nouage nouveaux prenne preuve tanne tantriques ventrues venues"; + lecon[9] = "9###eme art nts app eau uis san lui mon ois ens sen sou ute tro voi vou###appartements appeau appuis luisants monts oiseau sens soute trois vois vouvoiements"; + lecon[10] = "10###ale nti emp pri ise ite tem moi ond nde mes per ers ist ste rou por###alenti empale emprise item moise moite onde permes persiste primes rouste stem temporale temporise"; + lecon[11] = "11###pos dis onn don nai for rte gra vie isa ard man qua uel pré dit rem ris###dispos donnai forte gravie isard manqua manuel prédis prédit quarte remisa risqua"; + lecon[12] = "12###ées all cor nes ssa dre jou uit ême mêm oin une ité van nta###allées cornes dressa jouit jouées même oindre unes vanité vannes vanta"; + lecon[13] = "13###err rre era rés leu lie ieu rès lon ndr peu pla cet lan rat ign tat sta tit###errera errés leurre liera lierre lieu londrès peupla placet planera ratera résignera stat titrés"; + lecon[14] = "14###cti ive act ule ang use ell cel ils deu sio bre mar rme orm pen nse nsi roi ide###active anguleuse cellule deuils deusio marbre marcel orme penseuse pensive roide"; + lecon[15] = "15###ron ndi arr ose tie emb bou ara gar mpl imp ore éri rit iti lit oit soi tur ura itu tri###arrondi arrose emboutie gara implore implose impose impéritie litron soit tritura"; + lecon[16] = "16###abl att ler ner cer min cul gue non ime nom ord rec oul sem onc éra ail###attabler cerner culminer guenon minime nominer record recouler reculer semoncer érailler"; + lecon[17] = "17###ali gne ita car der ret rta fin ini nda fon eut ple sui ici ile uti###aligne alita carder caret carta fini fonda fonder pleut suicider utile"; + lecon[18] = "18###nis ani isi sit cho uan sti cri dem emi mis ect dir her déc lla éco mat tin nan ace rap###anis choisit chouan cristi demis direct décher décolla matin nanan rapace"; + lecon[19] = "19###uer avo mps cla dev ina ari née enf foi rer nat tal omb mbr pui squ rav seu eul tiq###avouer clamps devina enfarinée foirer natal ombrer puisqu ravina seul tiquer"; + lecon[20] = "20###ole acc omp lis str aus ral nco fra nge ges ind tés iso ori lor ors rep été###accole accomplis austral franco franges indole indomptés isole listés lori lors replis étés"; + lecon[21] = "21###eva ach alo loi arc rch chi ica ili mie ate cro oup nté han eil sol len###acheva aloi archi chica chili chimie croate croup hanté soleil solen"; + lecon[22] = "22###ama ssé cen ton uss eus ert exp pet pli poi vre are rép teu nal ndu ong nna vis###amassé centon eussé expert peton plissé poissé poivre répare teuton tonal tondu tong tonna vissé"; + lecon[23] = "23###col rée olo den ena mou esp pér fic ela ett met ras ula réc rti sor tab vit épa###colorée denrée enamourée espérée ficela mettras moula récrée sortiras tabula vitrée épaula"; + lecon[24] = "24###rce erc ger erm mer ima toi sée###gerce germer imager toisée"; +} \ No newline at end of file