Test de frappe

De Disposition de clavier francophone et ergonomique bépo

Cette page recense les diverses idées autour d’un test de frappe en ligne adapté à bépo. Tazzon est l’initiateur du projet (et seul développeur pour le moment).

Le code source est disponible sur le dépôt Github du projet.

Historique du projet

http://www.lecturel.com/ est un outil en ligne très sommaire et peu adapté à bépo. Il semble pourtant plus utilisé par les nouveaux utilisateurs que Xul Typist de Kaze, qui a pourtant intégré certains exercices d'apprentissage.

Sur IRC, les discussions à propos d’un nouvel outil en ligne revenaient fréquemment. Le premier test de frappe de Tazzon a de suite reçu de bons retours. À force d'en parler, on a voulu un peu plus de l'outil et l'idée de le développer en commun pour le projet bépo est venue. Cette page sert encore à mettre en forme les idées des uns et des autres et adapter le test à nos besoins réels.

La dernière version en ligne est accessible à cette adresse : http://dactylotest.free.fr

Documentation partielle

Interface de la première version du dactylotest.

La première version permet de choisir la langue du texte et de sauvegarder quelques options pour adapter la typographie des textes à son utilisation. Comme lecturel le test se fait sur 500 mots. Après le test on obtient des statistiques de sa session : vitesse de frappe, précision, types d'erreurs commise (couleurs), conseils.

Fonctionnalités actuelles

En date du 07 octobre 2020.

L’ensemble se compose comme une suite de trois modules spécialisés pour dactylographie et l’apprentissage de BÉPO :

  • Dactylotest : le test initiale ;
  • Tridactyl : l’apprentissage par les trigrammes ;
  • Bépodactyl : apprentissage progressif de la disposition BÉPO.

Dactylotest

  • plus de 130 textes en français et 12 textes en anglais ;
  • support des apostrophe typographiques, majuscules accentuées, ligatures, points de suspension, tirets cadratins, espace insécable et fines insécables, guillemets français ;
  • enregistrement de fantômes disponible à tout moment pour se mesurer au meilleures ;
  • replay du texte qui vient d’être tapé…

Tridactyl

Quatre jeux de leçons qui devraient permettre de satisfaire à tous les emplois du temps :

  • 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 pendant 1 mois ;
  • 19 leçons de 15 mots, 15 à 20 minutes par jour pendant 1 mois.

Bépodactyl

Basé sur les exercices venant de ce site, il permet l’apprentissage de la disposition bépo facilement avec la carte du clavier au dessus du texte.

Les fonctions supportées sont les suivantes :

  • 21 exercices allant de E, T, A, N pour débuter jusqu’aux pangrammes complexes et accentués ;
  • support des version 1.0 et 1.1 du BÉPO ;
  • support des espaces insécables et fines insécables ;
  • carte de clavier dynamique (réagit au shit et altGr)  : décalé, typematrix ou sans pour les plus chevronnés.



Développement du test

Votre aide est nécessaire pour faire avancer le dactylotest ! Testez !

Tout n'est pas forcément à prendre/faire, mettez vos idées en vrac, les idées doivent être débattu sur la page de discussion, il faut de la main d'œuvre pour les mettre ensuite en pratique. Globalement :

  • il faudrait commencer par voir ce qu'il y a tirer des différents logiciels existants/test en ligne (type de test, stats utilisées, etc.)
  • penser à l'ergonomie et l'accessibilité du site

Aspect ludique/pédagogique

Essayer d'intégrer de penser à tous les types d'utilisateurs possibles (toutes les étapes de l'apprentissage jusqu'à pouvoir contenter les « racers » à >100 mpm ou ceux qui sont en plein apprentissage et ont besoin de textes variés pour progresser) :

  • OK check mark.png faitpédagogique : intégrer les exercices d'apprentissage bepo
  • ludique : animer le test (par ex. deux animations sous Taptouche : bon ou mauvais), jeu sous forme de micro-compétition (contre soi-même voir multijoueur comme Typeracer)
  • côté utilitaire après l'aspect pédagogique (benchmark, test de perf, outil en ligne sérieux) : proposer plusieurs types tests différents, réflexes lettre par lettre débutant, home row seule… jusqu'à un test 500 caractères, test x minutes, test numérique… (quelques variables suffisent à créer certaines libertés). Chaque test pouvant être pratiqué à l'unité, un test d'ensemble générant une note globale (principe des petits jeux de QI sur console).
  • OK check mark.png faitsouligner ou surligner la faute. Sinon, quand, comme moi, on ne regarde que ce que l’on est en train de recopier, difficile de voir où est l’erreur, ça oblige à revenir en arrière doucement en attendant que le curseur change de couleur. Ce serait une facilité pour obtenir un meilleur score, mais ce serait, aussi, didactique.

Disposition(s?)

  • (idée de jd_) support live du bépo (= je suis en azerty je peux tester bépo) :
    • commencer par des phrases sur la rangée de repos
    • étendre à l'alphabet
    • voir ce qu'on peut supporter au maximum du bépo en « live ».
  • carte d'accessibilité/type de clavier (droit/tm) comme sur Xul typist pour stat de distance et « tracabilité » des doigts
  • support azerty/leboutte/dvoraj

Textes

  • choix des langues supportées
  • texte pour promouvoir bépo en français
  • import de WP ou autre base de texte francophone
  • import utilisateur (c/c)
  • statistiques sur le texte fonction de la dispo (cf. par ex. les outils de Comparateur_de_dispositions ou http://www.tomestla.info/bepo/ )
    • est-ce qu’à partir de ces statistiques (fréquence de digrammes rares, % d’alternance, % sur la rangée de base présence de chiffres, de caractères rares, etc.) on pourrait imaginer donner une note de difficulté aux textes ?
    • fonction de la note ci-dessus, utiliser le test pour l’apprentissage…
  • affiner les choix typo fonction des langues

Statistiques de la session

  • cpm/mpm/nbre d'erreurs/précision
  • viscosité/fluidité > comment la calculer
  • note par main/doigt
  • temps de réaction
  • distance parcourue, déplacements des doigts
  • replay de la session

Calculs de base

Vitesse de frappe

Durant la session de frappe, on conserve les temps « Δt » entre chaque caractères « i » frappés pour les exploiter dans les calculs.

Dans le cas de la vitesse de frappe, il est alors simple d'additionner tous les temps Δt(i) et ensuite et de le diviser par le nombre de caractères « α » pour obtenir le nombre de coup par seconde :

         α
cps = ————————
      i=α
       Σ Δt(i)
      i=1

En réalité le nombre de coups par seconde (qui est la fréquence de frappe moyenne) est le seul calcul qui soit réellement un indice de vitesse. Le nombre de mots par minute n'est lui qu'un indication en fonction de ce qui est choisi pour le nombre de caractère par mot (le plus souvent 5) d’ailleurs on peut mettre un véritable indicateur en calculant effectivement le nombre de mots ce qui forcerait à rajouter des textes et avoir une idée du nombre moyen de frappe par mot (fonction des langues).

La fluidité

En ce qui concerne la fluidité, on connait le fréquence le frappe moyenne (cps pour ceux qui ont suivi) et on peut également calculer la moyenne de la somme des fréquences de frappe (mal de crane en perspective ? :P), je vais la désigner par « msf » (ce nom est totalement arbitraire) :

      1  i=α   1
msf = — × Σ  —————
      α  i=1 Δt(i)

Une fois qu'on a cps et msf, on peut calculer quel est le rapport entre les deux (et en obtenir un pourcentage, c'est plus beau à présenter), ce sera la fluidité « fl » :

     cps
fl = ———
     msf
La précision

Le test a utilise pour l'instant un système de calcul de la précision peu adapté. Ce calcul se fait en prenant le nombre de fautes de frappe (le second résultat donné) que l'on divise pour le nombre de caractères frappés pour avoir un calcul d'imprécision, le tout soustrait de 1 pour avoir au final la précision.

                 err
precision = 1 − ——————
                nb_car

après quelques discussion sur la canal IRC, il s'avère que cette méthode (utiliser le nombre d'erreurs de frappe) pour avoir le nombre d'erreurs n'est pas idéale. La formule précédente reste correcte.

OK check mark.png fait. L'idée est d'utiliser le calcul de distance de Damerau-Levenshtein pour avoir une quantification des erreurs plus proche de la réalité.

Voici les résultats obtenus avec un texte frappé où les erreurs ont été passées dans un script pour en extraire une distance de Damerau-Levenshtein.

Le test donnait :

Erreurs : 13
Fautes de frappe : 32
précision : 93.6%

Le calcul de distance de Damerau-Levenshtein donne une distance de 21 ce qui fait donc une précision de 95.8% (1−21÷500).

Pour information, le test de lecturel aurait donné une précision de 87% car il considère qu'une erreur est un mot (5 caractères).

Conclusion : cette méthode de calcul semble donner des résultats plus proche de la réalité et sera intégrée sur dactylotest pour remplacer l'actuelle.

Types d'erreurs

  • double frappe râtée (nn mm ll) ;
  • majuscule râtée ;
  • caractères non alphabétique râté (ponctuation en gnl) ;
  • espace oublié.

Records/logs

  • enregistrer des records : perso/par texte/par type de test
  • les spammer sur irc « X a battu le record de Robipo sur le texte n° 482 avec 289 MPM, il accède au rang de bépodactyl-o-mains-d'argent ! »

Accessibilité

  • vérifier l'accessibilité du test sur les différents navigateurs