1. Introduction

1.1 Pourquoi un tel projet ?

De nos jours, les tests psychologiques se trouvent partout. Que se soit dans le journal qu’on lit le matin avant d’aller au travail ou à l’école, dans magazine people qu’on lit le soir à la maison ou alors sur les pages internet que l’on visite. Personne ne peux nier qu’il ne sait jamais amusé à faire un de ces tests afin de savoir si il est plus chien ou chat ou alors si son travail prend trop d’espace dans sa vie. Mon projet consiste donc non seulement à créer l’un de ces tests mais aussi à permettre au gens de pouvoir créer leur propre test sans avoir à programmer mais simplement à changer les questions et réponses.

1.2 Quelles sont les limites ?

Il n'y a pas beaucoup de limites à un projet et je pourrais même dire qu'il n'y en a aucune car à partir du moment où il n'y a pas de hardware presque tout est possible à faire en programmation. La seul chose qui pourrait être une limite et que mon projet n'est pas quelque chose d'innovant et que cela a sûrement déjà été fait et refait par d'autres personne c'est pour cela qu'il faut éviter de s'imprimer d'autres travaux et réaliser quelque chose que l'on voit moins souvent pour ne pas créer un simple test psychologique ce que l'on trouve très simplement sur internet.

1.3 Quels sont les enjeux d'un tel projet ?

Comme dit précédemment mon but n’est pas seulement de créer un test psychologique mais aussi qu’il soit facilement modifiable. Mais les enjeux ne seulement pas seulement de résoudre ce problème mais aussi d’approfondir mes connaissances en programmation en html et php. Le fait de n’avoir rien au début et de changer cela en écrivant quelques ligne de code est une expérience qui m’a enrichit et qui m’aidera sûrement lors de mes futurs projets.

2. Matériel et méthodes

2.1 Matériel

Pour réaliser ce projet, je n’ai pas besoin de beaucoup de matériel. Seulement un ordinateur, on logiciel pour écrire le programme, ici Jedit, d’une base de donnée sur laquelle seront stockées les différentes question et réponses et de mes connaissances en programmation en html, php et mysql.

2.2 Méthode

2.2.1 Fonctionnement

Pour réaliser mon projet, j’ai d’abord du penser à quelle méthode utiliser pour que le programme sache quelle conclusion afficher. La méthode la plus simple étant d’attribuer un certain nombre de points à chaque réponse puis calculer le nombre total de points et afficher la bonne conclusion. Ici toutes les premières réponses valaient 0 points, les deuxièmes 1 points et les troisièmes 2 points. Ensuite la bonne conclusion s’affichait en fonction du nombre de points, de 0 à 5 points pour la première, de 6 à 11 pour la deuxième et de 12 à 20 pour la troisième.

2.2.2 HTML

Pour que le questionnaire s’affiche correctement et fonctionne, j’ai dû créer un formulaire avec la commande <form method= “get“>, cela permet notamment de saisir du texte sur la page web, de sélectionner des réponses et valider avec un bouton comme pour mon projet. Le “get“ est la manière par laquelle les données vont être envoyées. La particularité du “get“ est qu’il permet d’envoyer les informations à l’adresse de la page.
Tout le test psychologique fonctionne sur une page html. Afin que la personne qui fait le test puisse choisir une réponse, un point se situe devant chaque réponse sur lequel la personne n’a qu’à appuyer pour choir sa réponse. Pour d’afficher se genre de points, il suffit d’écrire la commande :

<input type=“radio“ name=“nom“ value=“chiffre“ />

“radio“ est la manière dont on veut donner la réponse, “nom“ est le nom que l’on donne à notre point et “chiffre“ est la valeur de la réponse. Pour chaque réponse de questions il faut utiliser le même nom pour que seul un choix soit possible.
fhi.png
Pour le bouton envoyer, j’ai utilisé la commande:

<input type= “submit“ value= “nom“/>

Où submit et encore la manière dont on veut donner la réponse et nom et le message qui doit être affiché sur le bouton, ici « envoyer ».

2.2.3 PHP

Afin que la page fonctionne correctement, j’ai utilisé du php. Ce language permet de rendre un site web dynamique, par exemple afficher la date et l’heure automatiquement. Tout mon test fonctionne grâce au php, comme on peut le voir dans le code il permet de calculer le total de points, d’afficher les bonnes réponses aux bons endroits et d’afficher la bonne conclusion lorsque l’on appuie sur le bouton « envoyer ».

2.2.4 MYSQL

J’ai décidé d’utiliser une base de donnée comme mysql afin de stocker toutes les informations que le programme aura besoin pour fonctionner. Cela rend le code moins long à écrire et cela me permet de pouvoir changer le questionnaire très rapidement en accédant aux différentes tables et en les modifiant. Pour mon test j’ai eu besoin de créer trois tables différentes.
La première tables est celle des questions avec trois champs différents comme vous pouvez le voir ci-dessous. Le premier champ est l'id qui permet de numéroter chaque question , le deuxième est le texte qui permet d'écrire la question que l'on veut poser et le troisième est la foreign key qui permet d'établir un lien entre plusieurs tables. Ici la foreign key permet d'établir un lien avec la tables des questionnaires qui n'a pas été utilisée.
questions.png
La deuxième table est celle des réponses. Elle est composée de 4 champs, les trois premiers étant les mêmes que ceux de la table des questions et le dernier étant le champs qui permet d’attribuer le nombre de points qu’aura chaque réponse.
questions.png
La dernière table est celle des conclusions. Elle est composée de 2 nouveaux champs qui sont le minimum de points et le maximum pour lequel la conclusion s’affichera.
conclusion.png
Pour afficher les informations des tables sur la page il faut utiliser la commande: mysql_query(select * from questions). Elle permet de faire une requête au serveur mysql. Dans la paranthèse il faut écrire ce que l’on veut prendre, par exemple le texte ou l'id et dans quelle table il se trouve.

3. Résultats

Au final, le test psychologique fonctionne correctement et il est très facilement modifiable en accédant à la base de donnée. Pour faire le test il suffit de stocker le code sur un serveur. Ensuite les 10 questions seront affichées et l’utilisateur aura le choix entre trois réponses différentes pour chaque question. Lorsqu’il aura répondu à toutes les question il lui suffit d’appuyer sur « envoyer » et de lire la conclusion qui sera affichée.
Une des choses que je pensais pouvoir faire mais que je n’ai pas faite est de faire une page sur laquelle l’utilisateur a le choix entre plusieurs questionnaires sûrement car je m’y suis pris trop tard. Mais cela n’est qu’une seule chose parmi toutes celles auxquelles j’ai pensé pour améliorer mon projet.

4. Discussion

Même si mon projet fonctionne correctement, il est possible de l’améliorer d’énormément de manière différentes.
Premièrement, comme je l’ai dit dans les résultats, il est possible de rajouter une page au début sur laquelle on pourrait choisir entre plusieurs questionnaires. Ensuite, il serait possible de rajouter la possibilité de se créer une session avec un nom et un mot de passe afin de consulter ses résultats à n’importe quel moment sans avoir besoin de refaire le questionnaire et ainsi pouvoir même partager ses résultats avec d’autres personnes.
Un dernier gros élément à améliorer serait aux niveaux esthétiques car il est vrai que mon test psychologique n’est pas très beau. Cela est faisable en rajoutant du css et ainsi pouvoir mettre un fond en couleur, centrer les questions…
Plein de petits éléments sont aussi améliorables, comme par exemple afficher les questions sur différentes pages, afficher un message d’erreur lorsque l’utilisateur ne répond pas à toutes les questions, ou alors donner la possibilité aux utilisateurs de créer leurs propre tests non sur mysql mais sur la page web.

5. Conclusion

Pour conclure je dirais que même si l’un des objectifs principaux de mon projet a été atteint, il aurait pu être beaucoup mieux si j’avais mieux respectés les délais. Un tel projet demande beaucoup de temps pour un débutant comme moi et je me suis rendu compte de ça seulement au moment où j’ai fini les différentes tables et j’ai commencé à programmer. Il est vrai que j’étais un peu perdu au début et je ne savais vraiment pas ce qu’il fallait que j’écrive mais après avoir relu mes notes de cours et avoir recherché quelques tutoriels sur internet, j’ai pu commencé à écrire le code mais malheureusement j’ai fais tout ça les derniers jours avant de rendre le projets et c’est pour cela qu’il est améliorable de plein de manières différentes.
Après deux projets entièrement harware avec un Arduino, un dans le cadre des cours d’informatique et un pour mon travails de maturité, j’ai voulu un plus toucher au software et comprendre le fonctionnement de certains site web et c’est pour cela que j’ai décide de faire ce projet. Ma seul erreur a été de tout faire au dernier moment et de ne pas me fixer des délais de travail, tout comme le premier projet…

6. Ressources

Foreign key
Mysql
Formulaires
HTML