« TypeMaster » : différence entre les versions
(Page créée avec « == Présentation == Il s'agit de créer un site spécialisé sur l'écriture de textes au clavier. Liste des fonctionnalités souhaitées : - Très nombreux textes pour évi... ») |
m (saut de ligne) |
||
Ligne 2 : | Ligne 2 : | ||
Il s'agit de créer un site spécialisé sur l'écriture de textes au clavier. | Il s'agit de créer un site spécialisé sur l'écriture de textes au clavier. | ||
Liste des fonctionnalités souhaitées : | Liste des fonctionnalités souhaitées : | ||
- Très nombreux textes pour éviter l'effet mémoire qui fausse les stats. | - Très nombreux textes pour éviter l'effet mémoire qui fausse les stats. | ||
- Statistiques personnelles : graphique de progression, écart-type. | - Statistiques personnelles : graphique de progression, écart-type. | ||
- Statistiques globales : comparaison des utilisateurs avec disposition bépo et disposition azerty | - Statistiques globales : comparaison des utilisateurs avec disposition bépo et disposition azerty | ||
- Apprentissage : Aider à apprendre la frappe à 10 doigts en aveugle (à la Klavaro) | - Apprentissage : Aider à apprendre la frappe à 10 doigts en aveugle (à la Klavaro) | ||
- Compétition : Course entre plusieurs utilisateurs (à la typeracer) | - Compétition : Course entre plusieurs utilisateurs (à la typeracer) | ||
- Multilingue : Pourquoi se limiter au français ? | - Multilingue : Pourquoi se limiter au français ? | ||
- (Éventuellement) Comparaison de dispositions claviers : Une fois que l'on aura plein de textes en base de donnée, cela peut être intéressant d'ajouter cette fonctionnalité (genre sur les textes français, on parcours tant de fois moins de distance) | - (Éventuellement) Comparaison de dispositions claviers : Une fois que l'on aura plein de textes en base de donnée, cela peut être intéressant d'ajouter cette fonctionnalité (genre sur les textes français, on parcours tant de fois moins de distance) | ||
Ligne 16 : | Ligne 24 : | ||
Langages : xHTML/CSS/PHP/MySQL(InnoDB) + Ajax ou APE pour la partie compétition. | Langages : xHTML/CSS/PHP/MySQL(InnoDB) + Ajax ou APE pour la partie compétition. | ||
Multilingue : Avec fichier contenant tout les textes, pour que des volontaires puissent aider à traduire aisément sans avoir tout le code source. | Multilingue : Avec fichier contenant tout les textes, pour que des volontaires puissent aider à traduire aisément sans avoir tout le code source. | ||
Graphiques : Quelle bibliothèque utiliser ? | Graphiques : Quelle bibliothèque utiliser ? | ||
- Google chart ? | - Google chart ? | ||
-> --[[Utilisateur:Robipo|Robipo]] 6 mars 2010 à 13:32 (CET) Personnellement, je suis contre google chart (même si je l'utilise dans mon stage), je préfère éviter d'être dépendant des serveurs google. | -> --[[Utilisateur:Robipo|Robipo]] 6 mars 2010 à 13:32 (CET) Personnellement, je suis contre google chart (même si je l'utilise dans mon stage), je préfère éviter d'être dépendant des serveurs google. | ||
- Artichow ? | - Artichow ? | ||
Ligne 25 : | Ligne 38 : | ||
À première vue, je pense à une structure de ce style : | À première vue, je pense à une structure de ce style : | ||
Lang(lang,name) [ex : "fr","Français"] | Lang(lang,name) [ex : "fr","Français"] | ||
Layout(layout,name) [ex : "bépo","Bépo"] // pas encore sûr, mais faudra rajouter plus d'informations je pense (surtout pour la partie tuto/apprentissage) | Layout(layout,name) [ex : "bépo","Bépo"] // pas encore sûr, mais faudra rajouter plus d'informations je pense (surtout pour la partie tuto/apprentissage) | ||
User(uid,nick,pass,email,lang,layout) [ex : 1,"Robipo","4bce3c61e607d88a05274afee6ad3d3d","robipo@typemaster.org","fr","bépo") | User(uid,nick,pass,email,lang,layout) [ex : 1,"Robipo","4bce3c61e607d88a05274afee6ad3d3d","robipo@typemaster.org","fr","bépo") | ||
Text(tid,lang,len,data) [ex : 1,"fr",500,"Un responsable principal fixe les ..."] | Text(tid,lang,len,data) [ex : 1,"fr",500,"Un responsable principal fixe les ..."] | ||
Type(uid,tid,ts,duration) [ex : 1,1,1267878511,42,500] // Représente un texte tapé | Type(uid,tid,ts,duration) [ex : 1,1,1267878511,42,500] // Représente un texte tapé | ||
Ligne 37 : | Ligne 55 : | ||
- User-generated content (les utilisateurs entrent des textes eux-mêmes) | - User-generated content (les utilisateurs entrent des textes eux-mêmes) | ||
-> Problème de qualité des textes | -> Problème de qualité des textes | ||
--> Les textes doivent être modérés, mais dans ce cas il faut une équipe de modération, donc plus difficile à maintenir | --> Les textes doivent être modérés, mais dans ce cas il faut une équipe de modération, donc plus difficile à maintenir | ||
--> Système de notation par les autres membres, si le texte a une moyenne < 1/5 avec plus de 3 votes, on le vire. Après on pourrait même faire un système de confiance aux utilisateurs (si un utilisateur a déjà posté plusieurs textes de bonne qualité, alors son texte sera accepté, pour les nouveaux, ça passerait par un système de validation, ou dans le genre) | --> Système de notation par les autres membres, si le texte a une moyenne < 1/5 avec plus de 3 votes, on le vire. Après on pourrait même faire un système de confiance aux utilisateurs (si un utilisateur a déjà posté plusieurs textes de bonne qualité, alors son texte sera accepté, pour les nouveaux, ça passerait par un système de validation, ou dans le genre) | ||
- Wikipédia (de très nombreux textes à libre disposition) | - Wikipédia (de très nombreux textes à libre disposition) | ||
-> Page aléatoire (http://fr.wikipedia.org/wiki/Sp%C3%A9cial:Page_au_hasard) | -> Page aléatoire (http://fr.wikipedia.org/wiki/Sp%C3%A9cial:Page_au_hasard) | ||
Problèmes des textes trop courts ou trop techniques | Problèmes des textes trop courts ou trop techniques | ||
--> Prendre une autre page si trop court ou trop technique (mais comment détecter les pages trop techniques ?) | --> Prendre une autre page si trop court ou trop technique (mais comment détecter les pages trop techniques ?) | ||
-> Téléchargement de la base de donnée entière | -> Téléchargement de la base de donnée entière | ||
--> Problème de data-mining et de stoquage : D'abord il faudrait réussir à extraire que la partie texte des articles (data-mining), ensuite, vu la taille colossale de la base de donnée, il risque d'y avoir des problèmes pour les récupérer à partir de php. | --> Problème de data-mining et de stoquage : D'abord il faudrait réussir à extraire que la partie texte des articles (data-mining), ensuite, vu la taille colossale de la base de donnée, il risque d'y avoir des problèmes pour les récupérer à partir de php. | ||
- Livres | - Livres | ||
-> Où trouver une base de données de livres ? | -> Où trouver une base de données de livres ? | ||
-> Problème de copyright | -> Problème de copyright | ||
-> gutenberg, wikisources, google books, etc | |||
Problème : récupérer que du texte à partir de divers formats |
Version du 6 mars 2010 à 16:16
Présentation
Il s'agit de créer un site spécialisé sur l'écriture de textes au clavier.
Liste des fonctionnalités souhaitées :
- Très nombreux textes pour éviter l'effet mémoire qui fausse les stats.
- Statistiques personnelles : graphique de progression, écart-type.
- Statistiques globales : comparaison des utilisateurs avec disposition bépo et disposition azerty
- Apprentissage : Aider à apprendre la frappe à 10 doigts en aveugle (à la Klavaro)
- Compétition : Course entre plusieurs utilisateurs (à la typeracer)
- Multilingue : Pourquoi se limiter au français ?
- (Éventuellement) Comparaison de dispositions claviers : Une fois que l'on aura plein de textes en base de donnée, cela peut être intéressant d'ajouter cette fonctionnalité (genre sur les textes français, on parcours tant de fois moins de distance)
Cahier des charges
Le site en lui même
Langages : xHTML/CSS/PHP/MySQL(InnoDB) + Ajax ou APE pour la partie compétition.
Multilingue : Avec fichier contenant tout les textes, pour que des volontaires puissent aider à traduire aisément sans avoir tout le code source.
Graphiques : Quelle bibliothèque utiliser ?
- Google chart ?
-> --Robipo 6 mars 2010 à 13:32 (CET) Personnellement, je suis contre google chart (même si je l'utilise dans mon stage), je préfère éviter d'être dépendant des serveurs google.
- Artichow ?
Base de donnée du site
À première vue, je pense à une structure de ce style :
Lang(lang,name) [ex : "fr","Français"]
Layout(layout,name) [ex : "bépo","Bépo"] // pas encore sûr, mais faudra rajouter plus d'informations je pense (surtout pour la partie tuto/apprentissage)
User(uid,nick,pass,email,lang,layout) [ex : 1,"Robipo","4bce3c61e607d88a05274afee6ad3d3d","robipo@typemaster.org","fr","bépo")
Text(tid,lang,len,data) [ex : 1,"fr",500,"Un responsable principal fixe les ..."]
Type(uid,tid,ts,duration) [ex : 1,1,1267878511,42,500] // Représente un texte tapé
Acquisition des textes
Une des parties principales du site est l'acquisition de textes, pour cela plusieurs moyens (éventuellement combinables) :
- User-generated content (les utilisateurs entrent des textes eux-mêmes)
-> Problème de qualité des textes
--> Les textes doivent être modérés, mais dans ce cas il faut une équipe de modération, donc plus difficile à maintenir
--> Système de notation par les autres membres, si le texte a une moyenne < 1/5 avec plus de 3 votes, on le vire. Après on pourrait même faire un système de confiance aux utilisateurs (si un utilisateur a déjà posté plusieurs textes de bonne qualité, alors son texte sera accepté, pour les nouveaux, ça passerait par un système de validation, ou dans le genre)
- Wikipédia (de très nombreux textes à libre disposition)
-> Page aléatoire (http://fr.wikipedia.org/wiki/Sp%C3%A9cial:Page_au_hasard)
Problèmes des textes trop courts ou trop techniques
--> Prendre une autre page si trop court ou trop technique (mais comment détecter les pages trop techniques ?)
-> Téléchargement de la base de donnée entière
--> Problème de data-mining et de stoquage : D'abord il faudrait réussir à extraire que la partie texte des articles (data-mining), ensuite, vu la taille colossale de la base de donnée, il risque d'y avoir des problèmes pour les récupérer à partir de php.
- Livres
-> Où trouver une base de données de livres ?
-> Problème de copyright
-> gutenberg, wikisources, google books, etc
Problème : récupérer que du texte à partir de divers formats