Page 1 sur 1
Tableau de conjugaisons
Posté : 27 févr. 2005, 23:26
par William
Bonsoir à tous,
Je débute dans le PHP mais je connais assez bien le HTML. Seulement, pour réaliser mon projet, j'aurai besoin de quelques conseils PHP... Je n'y connais pas grand chose, juste afficher du texte, créer et utiliser des variables et des fonctions, ainsi que les conditions (à peine...).
Voilà ce que je voudrai faire :
Créer une page HTML avec un champs texte de formulaire dans lequel le visiteur devra taper un verbe à l'infinitif. En cliquant sur le bouton Conjuguer, il faudrait qu'il accède à une page php (disons conjugaisons.php) sur laquelle s'affichera la conjugaison du verbe qu'il aura préalablement tapé dans le champs texte. En clair, il faut que le tableau de conjugaison change en fonction du verbe tapé dans le champs texte de la page html. Evidemment, j'imagine que le contenu de ce tableau devra être écrit en html. En fait, c'est pour le jeu de lettre, le Scrabble, pour lequel je gère un site internet. Je souhaiterai intégrer ce service et peux être plus tard la même chose mais avec les définitions des mots acceptés au Scrabble.
Bref, peut-on m'aider ? Par email ou via ce forum.
Merci à tous et bonne soirée

Posté : 28 févr. 2005, 14:04
par Cyrano
Salut,
on peut peut-être t'aider via ce forum, mais ça risque fort d'être un peu long.
La première chose qu'il te faut analyser, ce sont les données que tu devras manipuler de façon à construire une base de données. Il va de soi qu'il est impensable de créer autant de pages en HTML que tu as de verbes. Il faudra donc construire ces pages dynamiquement à partir d'une base de données. Tu dois donc construire ce qu'on appelle un Modèle Conceptuel de Données: genre de tableau contenant les différentes entités constituant ta base (les tables) et pour chaque entité ses propriétés (les champs de la table)
Par exemple, tu peux déjà avoir une table "verbes" avec des champs "infinitif", "imparfait", passe_simple", "futur", etc... À moins que tu n'envisages d'avoir les conjugaisons complètes pour les personnes "je", "tu", "il", "nous", etc... Je réfléchis au fur et à mesure que je rédige ce post: tu n'es pas sorti de l'auberge, mais techniquement, c'est parfaitement faisable à ce détail près que tu vas avoir une quantité de données à insérer dans ta table assez considérable. En admettant que tu peux avoir des terminaisons communes selon la personne pour les verbes réguliers, tu devras avoir des terminaisons particulière pour une bonne quantité de verbes irréguliers.... le tout de façon à construire dynamiquement les verbes en fonction des personnes et des temps souhaités.
Vaste programme. essaye de cerner le plus précisément le programme et ce qu'il doit réaliser en fonction de données clairement identifiées. Partant de là, tu pourras commencer à coder, mais le plus gros du travail va résider dans l'analyse.
Je te souhaite bon courage. Essaye de revenir avec des points de code plus précis à cerner et on pourra t'assister, mais au plan général, c'est difficile de te donner satisfaction tout de suite.
Posté : 28 févr. 2005, 16:08
par William
Salut,
Tout d'abord, merci pour ta réponse ! En effet, je le constate, y a du boulot ! Je ne connais pas grand chose sur les bases de données mais je sais déjà comment ça fonctionne et comment créer les tables. Mais tu as raison, il faut analyser avant toute chose et je vais m'y mettre. Je vais créer un fichier Excel qui représentera en gros la base de données et les tables afin de ne rien oublier. Je ne compte pas inclure tous les verbes de la francophonie sinon, je n'ai pas fini, mais seulement les verbes de bases (par exemple, une seule conjugaison pour tous les verbes du premier groupe, infinitif en -ER et n'ayant pas d'irrégularité (comme les verbes appeler, jeter, becqueter, ... dont la consonne double dans certaines conjugaisons). Chaque verbe à un code, 10 pour les verbe en -ER réguliers comme AIMER. Tous les verbes de ce type (manger, parler, voter, etc...) se conjugueront de la même manière que le verbe AIMER donc inutile de les mettre dans la base de données. De plus, je n'utiliserai que les temps simples vu que les temps composés ne comportent aucune graphie qui ne soit déjà mentionnée dans les temps simples. Je mettrai un exemple sur mon site et je donnerai le lien ici pour qu'on voit exactement ce que je veux faire.
Bon, dès que possible, je m'y mets ;o) Merci encore pour la réponse, et j'espère qu'on continuera à m'aider ainsi ;o)
PS : C'est pas faux ta citation ;o)
Posté : 28 févr. 2005, 17:17
par Cyrano
Pas de problème

En fait, quand je parlais de construire dynamiquemenr les verbes conjugué, je pensais à un exemple : prennons le verbe "aimer" qui va donner "aime", "aimais", "aimeront" etc... mais on retrouve une constante : "aim" auquel on rajoute selon le temps et la personne "e", "ais", "eront" etc... Tu peux donc isoler une série de verbes selon le groupe et déterminer toutes les terminaisons selon le temps et la personne de façon à regrouper tout ce qui est commun soit à un verbe en particulier soit à tous les verbes d'un même groupe selon le temps et la personne: Des fonctions PHP peuvent te permettre si tu enregistres dans ta base le verbe "aimer" de n'enregistrer en réalité que "aim" dans le champ "nom" d'une table "verbe", "1" dans un champ "id_groupe" de cette même table, clé étrangère faisant référence à la clé primaire d'une table "groupe" à laquelle correspond l'intitulé "permier groupe"; cette table groupe peut avoir un autre champ "infinitif" dans lequel on trouvera vis à vis de la clé 1 la valeur "er"
Ensuite, tu peux avoir autant de tables qu'il y a de temps dans les conjugaison avec pour chaque table les terminaisons pour chaque personne avec également la clé étrangère du groupe. En faisant une jointure double, tu retrouveras instantanément la conjugaison du verbe "aimer" à la 2ieme personne du pluriel à l'imparfait du subjonctif (dur à faire au scrabble, mais ça doit être payant

)
Enfin bon, si d'autres personnes voient une solution encore plus simple, j'en serai enchanté, ceci n'est qu'un schéma de travail de base.
Bon courage, à mon avis, tu vas en avoir besoin

Posté : 28 févr. 2005, 17:25
par ImBrOgLiO
Une autre solution est de bien chercher sur le web. Un truc comme ça, ça existe car j'ai vu des scripts Open Source il y a quelques mois à la fois en anglais et en espagnol et je me rappelle avoir vu un demo très bien fait (genre type de verbe, temps de conjugaison, caractéristiques, exceptions, verbes similaires, etc...).
Malheureusement je ne me rappelle pas où. Peut-être une des nombreuses newsletters venant de
http://www.phpsclasses.org (PHP Classes).
Posté : 28 févr. 2005, 20:43
par William
Oui en fait, un verbe se divise en deux parties : le radical ("aim" pour le verbe aimer) et l'infinitif ("er" pour le même verbe). Il faudra donc créer une table pour le radical du verbe et une pour l'infinitif (plus les sujets), c'est ça ? Plus une pour chaque terminaisons à chaque temps. Par exemple : pour le présent de l'indicatif, la table radical (aim) + terminaison = (je) aime, (tu) aimes, (il) aime, (nous) aimons, (vous) aimez, (ils) aiment.
En bref, une table pour le radical du verbe, une pour l'infinitif, une pour le sujet et une pour les terminaisons, sans oublier une table pour chaque temps (10 sans les temps composés). Est-ce que j'en oublie là ?
Je suis en train de me demander si ça ne serait pas plus simple et plus rapide à faire si je faisais tout en HTML... Une page sommaire avec la liste des verbes principaux sur lesquels cliquer pour avoir la conjugaison, non ? Dans l'ODS (Officiel Du Scrabble, dictionnaire de référence du Scrabble francophone) il existe 108 verbes différents dans les tableaux des conjugaisons. En quelques jours, en HTML, ça devrait être fait... Je peux au moins faire ça pour faire patienter les visiteurs en attendant la version dynamique. J'attends vos avis
@+
Posté : 01 mars 2005, 09:35
par Cyrano
Si tu te sens beaucoup plus à l'aise avec du html, tu peux toujours faire ça pour commencer: les limites du html cependant sont le coté statique: l'intérêt du traitement dynamique est qu'il t'éviterait d'avoir à créer un nombre conséquent de pages en construisant dynamiquement les pages pour chaque verbe. Par contre, monter tes pages en html peut te servir pour creuser le problème des différents éléments constituants susceptibles de devenir des tables ou des champs de table de base de donnée.
Pour ma part, je trouve le défi intéressant et d'ici deux semaines, je vais passer quelques temps chez mes parents, grands amateurs de scrabble: comme ils ont l'officiel du scrabble, j'y jeterai un oeil pour voir comment on pourrait développer une application sérieuse et je te donnerai un retour là dessus... si je trouve 5 minutes à y consacrer

Je ne te promets rien du tout, mais je vais y penser quand même.
Reste aussi l'idée suggérée par ImBrOgLiO de regarder ce qui existe sur le Net en la matière, peut-être du coté des sites universitaires, je ne sais pas trop.
Posté : 01 mars 2005, 11:13
par William
Ok c'est sympa de faire ça mais en attendant, voici un aperçu : le tableau des conjugaisons du verbe ETRE, construit de la même manière que les tableaux de l'ODS (Officiel Du Scrabble) :
http://www.tout-isc.com/verbes/etre.html
Dis moi ce que t'en penses

Posté : 01 mars 2005, 12:30
par Cyrano
Excellent, ça me semble être un excellent point de départ pour isoler des constantes. Le verbe "être" n'est peut-être pas l'exemple parfait de verbe régulier, mais peu importe, la structure de la base peut se dessiner à partir de ce tableau. Partant de là, si la base est correctement structurée, il est envisageable d'avoir un petit formulaire de recherche dans lequel on inscrit le nom d'un verbe pour faire afficher exactement ce tableau avec le verbe choisi.
Il restera à détermier comment gérer les exceptions des verbes irréguliers ou de certains comme"être" et "avoir". (Que mes cours de grammaire sont donc lointains

)
Dans l'immédiat, je manque vraiment de temps, mais je vais me pencher sur la question.
Re: Tableau de conjugaisons
Posté : 07 mars 2005, 15:10
par Tournebroche
bonjour
il existe ce site
http://www.leconjugueur.com/
et aussi
http://www.capeutservir.com/verbes/ et pour les mots :
http://www.capeutservir.com/mots/
et puis ce script en allemand
http://sourceforge.net/projects/phptrainer
je suis moi-même à la recherche d'un script en français ou en anglais en open source pour faire la même chose que
www.leconjugueur.com pour une autre langue.
je suis totalement débutant en php