Simulateur de lecture empêchée…

Lorsque l’entrée visuelle est touchée, dans les dyslexies de surface, on peut très bien “imaginer” que la simulation ci-dessus soit proche de la réalité, ce qui explique l’impossibilité de se créer un lexique visuel du mot…et d’apprendre l’orthographe.

Cette simulation peut être un outil de sensibilisation des élèves, notamment quand, dans la classe, un élève utilise un ordinateur pour adapter les textes ou utiliser une synthèse vocale ou tout autre type d’adaptation et de compensation.

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<p>Extrait du "Paradis des chats" de Emile Zola<br>Une tante m’a légué un chat d’Angora qui est bien la bête la plus stupide que je connaisse. Voici ce que mon chat m’a conté, un soir d’hiver, devant les cendres chaudes. J’avais alors deux ans, et j’étais bien le chat le plus gras et le plus naïf qu’on pût voir. À cet âge tendre, je montrais encore toute la présomption d’un animal qui dédaigne les douceurs du foyer. Et pourtant que de remerciements je devais à la Providence pour m’avoir placé chez votre tante ! La brave femme m’adorait. J’avais, au fond d’une armoire, une véritable chambre à coucher, coussin de plume en triple couverture. La nourriture valait le coucher ; jamais de pain, jamais de soupe, rien que de la viande, de la bonne viande saignante.
</p><p>
Question : Où se trouvait la chambre à coucher du chat ?
</p><p>
Problèmes de mathématiques
</p><p>
1) Résous le problème suivant : /3<br>Une enseignante décide d’acheter des calculatrices pour ses 24 élèves. Le prix total est de 300 €. 
Quel est le prix d’une calculatrice ? 
</p><p>
2) Résous le problème suivant : /3<br>Ludovic programme l’enregistrement d’un film d’une durée de 85 minutes qui passe sur France 3. Le 
film commence à 20 h 30. Quelle heure de fin doit-il indiquer sur l’appareil pour enregistrer la totalité 
du film ? 
</p><p>
3) Résous le problème suivant : /3<br>
Pour se rendre à l’école, en partant de chez elle, Michel doit d’abord marcher jusqu’à l’arrêt du bus 
pendant cinq minutes, prendre le bus pour un trajet de douze minutes et marcher à nouveau jusqu’à 
l’école pendant deux minutes. L’école commence à 8 h 30. Avant quelle heure Michel doit-il partir de 
chez elle pour ne pas être en retard à l’école ? 
</p>
<p>
  <em>
  </em>
</p>

  
"use strict";

$(function(){

	var getTextNodesIn = function(el) {
	    return $(el).find(":not(iframe)").addBack().contents().filter(function() {
	        return this.nodeType == 3;
	    });
	};

	// var textNodes = getTextNodesIn($("p, h1, h2, h3"));
	var textNodes = getTextNodesIn($("*"));



	function isLetter(char) {
		return /^[\d]$/.test(char);
	}


	var wordsInTextNodes = [];
	for (var i = 0; i < textNodes.length; i++) {
		var node = textNodes[i];

		var words = []

		var re = /\w+/g;
		var match;
		while ((match = re.exec(node.nodeValue)) != null) {

			var word = match[0];
			var position = match.index;

			words.push({
				length: word.length,
				position: position
			});
		}

		wordsInTextNodes[i] = words;
	};


	function messUpWords () {

		for (var i = 0; i < textNodes.length; i++) {

			var node = textNodes[i];

			for (var j = 0; j < wordsInTextNodes[i].length; j++) {

				// Only change a tenth of the words each round.
				if (Math.random() > 1/10) {

					continue;
				}

				var wordMeta = wordsInTextNodes[i][j];

				var word = node.nodeValue.slice(wordMeta.position, wordMeta.position + wordMeta.length);
				var before = node.nodeValue.slice(0, wordMeta.position);
				var after  = node.nodeValue.slice(wordMeta.position + wordMeta.length);

				node.nodeValue = before + messUpWord(word) + after;
			};
		};
	}

	function messUpWord (word) {

		if (word.length < 3) {

			return word;
		}

		return word[0] + messUpMessyPart(word.slice(1, -1)) + word[word.length - 1];
	}

	function messUpMessyPart (messyPart) {

		if (messyPart.length < 2) {

			return messyPart;
		}

		var a, b;
		while (!(a < b)) {

			a = getRandomInt(0, messyPart.length - 1);
			b = getRandomInt(0, messyPart.length - 1);
		}

		return messyPart.slice(0, a) + messyPart[b] + messyPart.slice(a+1, b) + messyPart[a] + messyPart.slice(b+1);
	}

	// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
	function getRandomInt(min, max) {
		
		return Math.floor(Math.random() * (max - min + 1) + min);
	}


	setInterval(messUpWords, 50);
});

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*