Randrianarimanana Stéphanie

Transcription

Randrianarimanana Stéphanie
Projet ISN - dossier réalisé par Randrianarimanana Stéphanie
Titre du projet : Site de rencontre
le nom de notre site de rencontre : Linkymeet
l'équipe :
Randrianariamanana Stéphanie
Charlène Doudou
Mathieu Coupé
( tout astérisque* signifie voir annexe)
Lien de mon CV écrit en HTML* :http://isn.codelab.info/e-portfolio/eportfolios-du-groupe-vendredi/stephanie-ts2/mes-mini-projets-isn/mon-cv/
 Pourquoi ai je choisi le projet : site de rencontre ?
J'ai choisi ce projet, car aujourd'hui il existe beaucoup de sites de
rencontre,ainsi il est très intéressant de voir comment un site de rencontre
peut être fait.
 L'état de l'art : ce que l'on connaît déjà sur les sites de rencontre
et comment fonctionnent-ils ?
Aujourd'hui les sites de rencontre se développent énormément notamment
sur la messagerie, en effet à part la messagerie interne, existent aussi la
messagerie instantanée et l'appel en visioconférence. Ensuite il existe aussi
les forums pour discuter lorsque par exemple des utilisateurs ont des
problèmes ou bien des forums par thème pour discuter .
Dans les sites de rencontre il existe aussi des tests par affinité, ainsi
lorsqu'une personne sélectionne des critères, et qu'on retrouve cette
personnalité chez une autre personne, il y a affinité et les deux personnes
sont reliés. Nous comptons développer cette partie du programme.
 Quels sont nos objectifs ?
Notre objectif est de créer une interface simple avec une page d'accueil et
une page profil, puis des interactions possibles que nous comptons
développer avec la messagerie par mél et la messagerie instantanée, un
formulaire de contact et un moteur de recherche de profils.
Comme sur chaque site de rencontre ou autre, il faut imposer des règles
d'utilisation à l'utilisateur ainsi nous allons élaborer une condition générale
d'utilisation en expliquant à l'utilisateur ce qu'il a le droit de faire ou non
sur le site . On peut aussi étudier ce que les administrateurs peuvent
dévoiler au public c’est-à-dire aux autres utilisateurs par rapport à un autre
utilisateur.
 Comment allons-nous réaliser notre projet ?
Nous allons tout d'abord créer une page d'inscription qui sera visible dès
que quelqu'un se connecte sur le site . Elle sera codée en HTML et mise en
forme en CSS* puis traitée en PHP. Elle conduira ensuite à un espace
membre avec une recherche de profils selon des critères simples (affinités)
et reposant sur une base de données SQL* et enfin sur un espace de
dialogue pour mettre en contact les membres soit directement ou
indirectement par l'intermédiaire d'un formulaire codé en HTML et traité
en PHP.
 Comment avons-nous réparti nos tâches ?
Randrianarimanana Stéphanie : développer la messagerie interne
et traiter un questionnaire pour organiser les rencontres par affinité.
Mathieu coupé : coder le site en PHP*
Doudou Charlène : coder le questionnaire, coder un formulaire
d'inscription en HTML
Ce que nous avons fait ensemble : nous avons vu l'aspect du site ensemble
et le nom qu'il portera.
Notre planning :
Tâches
Nombre de séancesNoms
État de l'art
1 séance
Stéphanie R.
Recherche sur les sites
1 séance
Mathieu C.
dynamiques
Structure et organisation du site 5 séances*
Mathieu C. et Charlène D.
Module inscription
2 séances
Mathieu C.
Rédaction des CGU
1 séance
Charlène .D
Formulaire de contact
2 séances
Charlène .D
Espace membre (connexion et
2 séances
Mathieu C.
déconnexion )
Pages statiques
2 séances
Charlène .D
Ébauche de design
1 séance
Mathieu C. et Charlène D.
Création Base de données
1 séance
Mathieu C.
Champs de profils personnalisés 2 séances
Charlène .D
Corrections bugs
1 séance
Mathieu C.
Intégration des formulaires
1 séance
Charlène .D
menus
Messagerie
1 séance
Mathieu C.
Révision des formulaires
2 séances
Charlène .D
Algorithme de compatibilité
9 séances
Stéphanie R.
Mise en ligne
1 séance
Mathieu C.
Total
10 séances
* travail effectué en même
temps que d'autres séances
➢ Ma Première partie : La messagerie
Les difficultés étaient que je n'avais aucune compétence pour programmer.
Alors j'ai demandé de l'aide auprès de mes coéquipiers. On a alors fait de
la recherche sur internet pour voir si un programme similaire a déjà été
crée ou pas. Enfin, on trouvé une solution que j'ai trouvé assez simple, à
mettre dans le serveur PHP puisqu'elle était suffisamment détaillée pour la
comprendre.
Ma Deuxième partie : mon programme sur le partage de fiche
Il s'agit de créer un programme pour relier deux personnes par affinité
c’est-à-dire deux personnes qui cherchent le même profil. Au début, j'ai
pensé que cela consistait à créer un algorithme tel que si l'utilisateur
sélectionne les critères qu'il recherche chez une autre personne, le
programme cherchait dans chaque profil s’il y a des critères semblables à
ce que la personne recherchait. Si les critères sont à peu près semblables, il
y a alors affinité et donc on peut lier les deux personnes. J'ai demandé
l'avis de mes professeurs qui mont conseillé d'utiliser des matrices c’est-àdire des tableaux pour pouvoir comparer les profils.
J'ai alors décidé de faire un prototype de ce qui pourrait être fait en rendant
cela plus simple : des filles répondent à un questionnaire par exemple sur
leurs goûts et les garçons répondent à ce même questionnaire. Si un garçon
et une fille ont un certain nombre de réponses communnes alors ils
peuvent partager leur fiche entre eux.
J'ai imaginé le prototype comme ceci :
Chaque ligne correspond à la réponse d'une personne et chaque colonne
aux questions. Dans cet exemple, 3 filles répondent au questionnaire.
Sur la première ligne, la première fille choisit la réponse 0 à la première
question, puis la réponse 1 à la seconde question, 2 à la troisième et 3 à la
quatrième. La deuxième fille répond 3 à la première question, 2 à la
seconde, 1 à la troisième et 0 à la quatrième et ainsi de suite...
Voici le tableau affiché par mon programme :
4 garçons répondent également au même questionnaire et le premier
garçon a donné les mêmes réponses que la première fille.
On transpose le tableau des garçons, on change les lignes en colonnes et
les colonnes en ligne, ainsi donc chaque ligne correspond à une question et
chaque colonne correspond à la réponse d'un garçon. Cette transposée de
matrice permettra de calculer le nombre d'occurrences c’est-à-dire le
nombre de réponses communes entre la matrice filles et la matrice garçons.
On obtient alors une nouvelle matrice dans le cadre rouge.
Le 4 encadré en rose signifie qu'il y a 4 réponses en commun entre le
premier garçon et la première fille, on doit alors partager leur fiche. Au
premier tour on ne partage pas la fiche de la première fille et du deuxième
garçon, car la fille a déjà partagé sa fiche avec le premier. Une perspective
pour aller plus loin serait que si le premier garçon n'intéresse finalement
pas la fille, le deuxième garçon et la fille partageraient alors leur fiche.
On pourrait arrêter le rapprochement avec un seuil d'une réponse en
commun entre une fille et un garçon.
Je me suis servie aussi d'une double boucle pour mon programme :
cette double boucle permet d'accéder à chaque case du tableau ligne par
ligne et colonne par colonne pour chaque ligne.
➔Bilans et perspectives :
Ce que je proposerai pour améliorer mon projet : aller vers la messagerie
instantanée et l'appel en visioconférence pour être plus moderne et
améliorer le programme sur le partage de fiche
➔Ce que j'ai appris en travaillant sur ce projet :
J'ai beaucoup appris avec ce projet du fait que je n'ai pas beaucoup
d'expérience en programmation à part ce que l'on m'a appris cette année,
j'ai appris à utiliser une base de données, à comprendre ce qu'est le PHP et
le SQL grâce aux explications de mes coéquipiers.
Annexes :
PHP : c'est un langage de programmation libre qui permet de rendre une
page plus dynamique
CSS :( feuille de style en cascade) elle permet la mise en forme de la page
comme mettre de la couleur par exemple
HTML : c'est le langage universel utilisé par tous les navigateurs web.
Base de donnée SQL : c'est un langage de définition de données c’est-àdire qu'elle permet de créer des tables dans une base de données et on peut
modifier ou supprimer .
Programme sur le partage de fiche :
PFont f;
//int[][] réponsefille = {
{
0, 1, 2, 3
}
,
{
3, 2, 1, 0
}
,
{
0, 1, 0, 0
}
};
int[][] réponsegarçon = {
{
0, 1, 2, 3
}
,
{
0, 1, 2, 3
}
,
{
0, 1, 0, 0
}
,
{
1, 0, 1, 0
}
};
void setup() {
int[][] result;
int[][] t_réponsegarçon;
printMatrix(réponsefille);
println();// pour eviter que les réponses de chaque fille soit sur la même
ligne
printMatrix(réponsegarçon);
println();
t_réponsegarçon=transposeMatrix(réponsegarçon);// transposer la matrice
signifie qu'on échange les colonnes en lignes.
printMatrix(t_réponsegarçon);
println();
result=(multiMatrix(réponsefille, t_réponsegarçon));
printMatrix(result);
}
void draw() {
}
void printMatrix(int[][] matrix) {
for (int i=0 ; i<matrix.length ; i=i+1)//length: à chaque fois qu'on ajoute
une personne on n'a pas beson de changer tout le programme
{
for (int j=0 ; j<matrix[0].length ; j=j+1)// au lieu de mettre j<5
{
print("["+matrix[i][j]+"]");
}
println();
}
}
int[][] transposeMatrix(int[][] matrix) {
int[][] result;
result = new int[matrix[0].length][matrix.length];
for (int i=0 ; i<result.length ; i=i+1)
{
for (int j=0 ; j<result[0].length ; j=j+1)
{
result[i][j] =matrix[j][i];
}
}
return result;
}
int[][] multiMatrix(int[][] tableaufille, int[][] tableaugarçon) {
int[][] result;
result = new int[tableaufille.length][tableaugarçon[0].length];
for (int i=0 ; i<result.length ; i=i+1)
{
for (int j=0 ; j<result[0].length ; j=j+1)
{
result[i][j] = 0;
for (int k=0 ; k<tableaugarçon.length ; k=k+1)
{
if (tableaufille[i][k]==tableaugarçon[k][j]) result[i][j] =result[i][j]+1;
}
}
}
return result;
}

Documents pareils