diff --git a/.DS_Store b/.DS_Store index 1163199..3263b54 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4fe9335..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "files.associations": { - "stdio.h": "c", - "stdbool.h": "c", - "tp2.h": "c" - } -} \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100755 index 99b8dec..0000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# WikiFantasyWeb - diff --git a/citation.txt b/citation.txt deleted file mode 100644 index 0ec9e71..0000000 --- a/citation.txt +++ /dev/null @@ -1,372 +0,0 @@ - -Dans le monde il n’y a pas d’un côté le bien et le mal, il y a une part de lumière et d’ombre en chacun de nous. Ce qui compte c’est celle que l’on choisit de montrer dans nos actes, ça c’est ce que l’on est vraiment.; Harry Potter et L’ordre du Phoenix; Sirius Black; 2001; https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137&h=195&c=7&r=0&o=5&pid=1.7 - -Il faut du courage pour affronter ses ennemis mais il en faut encore plus pour affronter ses amis…; Harry Potter à l’école des sorciers; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Ce ne sont pas vos ressemblances qui comptent Harry, ce sont vos différences.; Harry Potter et L’ordre du Phoenix; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Le problème, c’est que les humains ont un don pour désirer ce qui leur fait le plus de mal.; Harry Potter à l’école des sorciers; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Ce dont vous avez le plus peur est la peur elle-même, c’est une preuve de sagesse.; Harry Potter et le prisonnier d’Azkaban; Remus Lupin; 2001; https://tse1.mm.bing.net/th/id/OIP.01EekTJQq0yQ9QQ_aNq87gHaJ-?w=162&h=218&c=7&r=0&o=5&pid=1.7 - -J’ai tout appris dans les livres. Mais il y a des choses beaucoup plus importantes, le courage, l’amitié.; Harry Potter à l’école des sorciers; Hermione; 2001; https://tse2.mm.bing.net/th/id/OPEC.aBKNyvpNlyyj9g474C474?w=186&h=241&o=5&pid=1.7 - -Tout est possible du moment qu’on a assez de cran.; Harry Potter et L’ordre du Phoenix; Ginny Weasley; 2001; https://tse3.mm.bing.net/th/id/OIP.QwHMbOI-N9zfJ_Re9I65ggHaJ1?w=140&h=187&c=7&r=0&o=5&pid=1.7 - -Ça ne fait pas grand bien de s’installer dans les rêves en oubliant de vivre…; Harry Potter à l’école des sorciers; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Nous avons parié, mon père et moi. Je ne crois pas que tu tiendras dix minutes dans ce tournoi. Lui, il n’est pas d’accord, il croit que tu n’en tiendras pas cinq.; Harry Potter et la coupe de feu; Drago Malefoy; 2001; https://tse2.mm.bing.net/th/id/OIP.CthWIxuLm0a8THOguTDB_AAAAA?w=157&h=207&c=7&r=0&o=5&pid=1.7 - -C’est de la force des convictions que dépend la réussite, pas du nombre des partisans.; Harry Potter et les reliques de la mort - 2e partie; Remus Lupin; 2001; https://tse1.mm.bing.net/th/id/OIP.01EekTJQq0yQ9QQ_aNq87gHaJ-?w=162&h=218&c=7&r=0&o=5&pid=1.7 - -Je me fiche éperdument de ce que pense ton père, Malefoy. Il est vil et cruel. Et toi, tu es pathétique.; Harry Potter et la coupe de feu; Harry; 2001; https://tse3.mm.bing.net/th/id/OIP.IV9gltTWHTVtnezyCVXjwAHaJ4?w=120&h=180&c=7&r=0&o=5&pid=1.7 - -J’ai lu dans ton cœur, et ton cœur est mien.; Harry Potter et les reliques de la mort - 1re partie; Lord Voldemort; 2001; https://tse2.mm.bing.net/th/id/OIP.B9RbuWnpmV-7fI8v-H0G8gHaEK?w=290&h=180&c=7&r=0&o=5&pid=1.7 - -Dans le monde il n’y a pas d’un côté le bien et le mal, il y a une part de lumière et d’ombre en chacun de nous. Ce qui compte c’est celle que l’on choisit de montrer dans nos actes, ça c’est ce que l’on est vraiment.; Harry Potter et L’ordre du Phoenix; Sirius Black; 2001; https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137&h=195&c=7&r=0&o=5&pid=1.7 - -Il faut du courage pour affronter ses ennemis mais il en faut encore plus pour affronter ses amis…; Harry Potter à l’école des sorciers; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Ce ne sont pas nos capacités qui déterminent ce que nous sommes, Harry, ce sont nos choix !; Harry Potter et la chambre des secrets; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Ce ne sont pas vos ressemblances qui comptent Harry, ce sont vos différences.; Harry Potter et L’ordre du Phoenix; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Le problème, c’est que les humains ont un don pour désirer ce qui leur fait le plus de mal.; Harry Potter à l’école des sorciers; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Ce dont vous avez le plus peur est la peur elle-même, c’est une preuve de sagesse.; Harry Potter et le prisonnier d’Azkaban; Remus Lupin; 2001; https://tse1.mm.bing.net/th/id/OIP.01EekTJQq0yQ9QQ_aNq87gHaJ-?w=162&h=218&c=7&r=0&o=5&pid=1.7 - -J’ai tout appris dans les livres. Mais il y a des choses beaucoup plus importantes, le courage, l’amitié.; Harry Potter à l’école des sorciers; Hermione; 2001; https://tse1.mm.bing.net/th/id/OIP.DNVVrGRcxyoXfy8Nqn4DnwHaJ4?w=194&h=259&c=7&r=0&o=5&pid=1.7 - -Tout est possible du moment qu’on a assez de cran.; Harry Potter et L’ordre du Phoenix; Ginny Weasley; 2001; https://tse3.mm.bing.net/th/id/OIP.QwHMbOI-N9zfJ_Re9I65ggHaJ1?w=140&h=187&c=7&r=0&o=5&pid=1.7 - -Ça ne fait pas grand bien de s’installer dans les rêves en oubliant de vivre…; Harry Potter à l’école des sorciers; Dumbledore; 2001; https://tse4.mm.bing.net/th/id/OIP.3i5U6ihAOUsTFvLLT-RKtAHaJd?w=68&h=180&c=7&r=0&o=5&pid=1.7 - -Nous avons parié, mon père et moi. Je ne crois pas que tu tiendras dix minutes dans ce tournoi. Lui, il n’est pas d’accord, il croit que tu n’en tiendras pas cinq.; Harry Potter et la coupe de feu; Drago Malefoy; 2001; https://tse2.mm.bing.net/th/id/OIP.CthWIxuLm0a8THOguTDB_AAAAA?w=157&h=207&c=7&r=0&o=5&pid=1.7 - -C’est de la force des convictions que dépend la réussite, pas du nombre des partisans.; Harry Potter et les reliques de la mort - 2e partie; Remus Lupin; 2001; https://tse1.mm.bing.net/th/id/OIP.01EekTJQq0yQ9QQ_aNq87gHaJ-?w=162&h=218&c=7&r=0&o=5&pid=1.7 - -Je me fiche éperdument de ce que pense ton père, Malefoy. Il est vil et cruel. Et toi, tu es pathétique.; Harry Potter et la coupe de feu; Harry; 2001; https://tse3.mm.bing.net/th/id/OIP.IV9gltTWHTVtnezyCVXjwAHaJ4?w=120&h=180&c=7&r=0&o=5&pid=1.7 - -J’ai lu dans ton cœur, et ton cœur est mien.; Harry Potter et les reliques de la mort - 1re partie; Lord Voldemort; 2001; https://tse2.mm.bing.net/th/id/OIP.B9RbuWnpmV-7fI8v-H0G8gHaEK?w=290&h=180&c=7&r=0&o=5&pid=1.7 - -N’essaie pas ! Fais-le, ou ne le fais pas ! Il n’y a pas d’essai.; Star Wars : Episode 5 - L’empire contre-attaque; Yoda; 1977; https://tse4.mm.bing.net/th/id/OIP.n7EwvRfr2000cw-wPd84BwHaEo?w=244&h=180&c=7&r=0&o=5&pid=1.7 - -Que la Force soit avec toi…; Star Wars : Episode 4 - Un nouvel espoir; Obi-Wan; 1977; https://tse3.mm.bing.net/th/id/OIP.J7Kmtok0f2mQT7iX_JA_5QHaE8?w=218&h=180&c=7&r=0&o=5&pid=1.7 - -Je suis ton père.; Star Wars : Episode 5 - L’empire contre-attaque; Dark Vador; 1977; https://tse3.mm.bing.net/th/id/OIP.r0YMrIo2bkQFbcmZLdrVVAHaEK?w=294&h=180&c=7&r=0&o=5&pid=1.7 - -La prophétie voulait que tu détruises les Sith pas que tu deviennes comme eux !; Star Wars : Episode 3 - La revanche des sith; Obi-Wan; 1977; https://tse3.mm.bing.net/th/id/OIP.J7Kmtok0f2mQT7iX_JA_5QHaE8?w=218&h=180&c=7&r=0&o=5&pid=1.7 - -Il y en a toujours un pour manger l’autre !; Star Wars : Episode 1 - La menace fantôme; Qui-Gon Jinn; 1977; https://tse2.mm.bing.net/th/id/OIP.oZP8cTT95_4nR6VK5uB7QgHaKH?w=133&h=183&c=7&r=0&o=5&pid=1.7 - -Qui est le plus fou des deux, le fou ou le fou qui le suit ?; Star Wars : Episode 4 - Un nouvel espoir; Obi-Wan; 1977; https://tse3.mm.bing.net/th/id/OIP.J7Kmtok0f2mQT7iX_JA_5QHaE8?w=218&h=180&c=7&r=0&o=5&pid=1.7 - -S’il y a un point central dans cet univers, tu es sur la planète qui en est le plus éloigné…; Star Wars : Episode 4 - Un nouvel espoir; Luke; 1977; https://tse2.mm.bing.net/th/id/OIP.N2JpjF9aPxvz9vZYEOjc2QHaFj?w=177&h=180&c=7&r=0&o=5&pid=1.7 - -Si c’est pour l’argent que vous faites ça, alors c’est tout ce que vous recevrez !; Star Wars : Episode 4 - Un nouvel espoir; Leia; 1977; https://tse2.mm.bing.net/th/id/OIP.P5CMgdStIPfYvfNky4Kh7QHaLF?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Je sais ce qu’il faut que je fasse mais je ne sais pas si j’en aurai la force.; Star Wars : Episode 7 - Le réveil de la force; Kylo Ren; 1977; https://tse1.mm.bing.net/th/id/OIP.HlRkAcz7BjIBsRU59L4owAHaHa?w=149&h=180&c=7&r=0&o=5&pid=1.7 - -La mort est une partie naturelle de la vie.; Star Wars : Episode 3 - La revanche des sith; Yoda; 1977; https://tse4.mm.bing.net/th/id/OIP.n7EwvRfr2000cw-wPd84BwHaEo?w=244&h=180&c=7&r=0&o=5&pid=1.7 - -Votre manque de foi me consterne.; Star Wars : Episode 4 - Un nouvel espoir; Dark Vador; 1977; https://tse3.mm.bing.net/th/id/OIP.r0YMrIo2bkQFbcmZLdrVVAHaEK?w=294&h=180&c=7&r=0&o=5&pid=1.7 - -Il ne faut jamais sous-estimer un droïde.; Star Wars : Episode 9 - L'ascension de Skywalker; Leia; 1977; https://tse2.mm.bing.net/th/id/OIP.P5CMgdStIPfYvfNky4Kh7QHaLF?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Tu as peur de ne jamais être aussi fort que Dark Vador.; Star Wars : Episode 7 - Le réveil de la force; Rey; 1977; https://tse3.mm.bing.net/th/id/OIP.pPDkRAfYT1rldQW1FRuxaAHaJQ?w=123&h=180&c=7&r=0&o=5&pid=1.7 - -Vous ne passerez pas !; Le seigneur des anneaux : la communauté de l’anneau; Gandalf; 2001; https://tse2.mm.bing.net/th/id/OIP.ztKYa5HLhCKgVkY0GZ4rSAHaJ4?w=71&h=180&c=7&r=0&o=5&pid=1.7 - -Il y a du bon dans ce monde, et il faut se battre pour cela.; Le seigneur des anneaux : la communauté de l’anneau; Sam; 2001; https://tse4.mm.bing.net/th/id/OIP.edxwKxyoPXfV7_DSTeerFAHaHa?w=180&h=180&c=7&r=0&o=5&pid=1.7 - -Je ne vous dirais pas de ne pas pleurer car toutes les larmes ne sont pas un mal.; Le Seigneur des anneaux : le retour du roi; Gandalf; 2001; https://tse2.mm.bing.net/th/id/OIP.ztKYa5HLhCKgVkY0GZ4rSAHaJ4?w=71&h=180&c=7&r=0&o=5&pid=1.7 - -Je ne peux le porter pour vous, mais je peux vous porter vous !; Le Seigneur des anneaux : le retour du roi; Sam; 2001; https://tse4.mm.bing.net/th/id/OIP.edxwKxyoPXfV7_DSTeerFAHaHa?w=180&h=180&c=7&r=0&o=5&pid=1.7 - -Et bien, c’est plus gai dans un cimetière…; Le seigneur des anneaux : les deux tours; Gimli; 2001; https://tse1.mm.bing.net/th/id/OIP.RzN-g8st6li9R5HA3IIrQgHaF3?w=215&h=180&c=7&r=0&o=5&pid=1.7 - -Mon précieux.; Le seigneur des anneaux : la communauté de l’anneau; Gollum; 2001; https://tse2.mm.bing.net/th/id/OIP.s8Egh2FBsKGr6QdkdWEPnwHaE6?w=212&h=180&c=7&r=0&o=5&pid=1.7 - -Je vous aurais suivi mon frère, mon capitaine, mon roi.; Le seigneur des anneaux : la communauté de l’anneau; Boromir; 2001; https://tse1.mm.bing.net/th/id/OIP._uHLsNbgnf1m1vK3ZWE2UAHaEo?w=217&h=180&c=7&r=0&o=5&pid=1.7 - -On nous a envoyé sauver la Comté Sam, et elle a été sauvée. Mais, pas pour moi…; Le Seigneur des anneaux : le retour du roi; Frodon; 2001; https://tse2.mm.bing.net/th/id/OIP.PPIESqZaNDa-qUcfSDXhdQHaGK?w=210&h=180&c=7&r=0&o=5&pid=1.7 - -Et mon arc est vôtre !; Le seigneur des anneaux : la communauté de l’anneau; Legolas; 2001; https://tse1.mm.bing.net/th/id/OIP.-8TP3nkEc30yCD1PolGRbQHaJW?w=194&h=245&c=7&r=0&o=5&pid=1.7 - -Toutes les larmes ne sont pas un mal.; Le Seigneur des anneaux : le retour du roi; Gandalf; 2001; https://tse2.mm.bing.net/th/id/OIP.ztKYa5HLhCKgVkY0GZ4rSAHaJ4?w=71&h=180&c=7&r=0&o=5&pid=1.7 - -Je suis Gandhalf le blanc, et je reviens vers vous en ce moment décisif.; Le seigneur des anneaux : les deux tours; Gandalf; 2001; https://tse2.mm.bing.net/th/id/OIP.ztKYa5HLhCKgVkY0GZ4rSAHaJ4?w=71&h=180&c=7&r=0&o=5&pid=1.7 - -Tout ce que nous avons à décider, c’est ce que nous devons faire du temps qui nous est imparti.; Le seigneur des anneaux : la communauté de l’anneau; Gandalf; 2001; https://tse2.mm.bing.net/th/id/OIP.ztKYa5HLhCKgVkY0GZ4rSAHaJ4?w=71&h=180&c=7&r=0&o=5&pid=1.7 - -Si par ma vie ou ma mort je peux vous protéger je le ferai ! - Mon épée est votre !; Le seigneur des anneaux : la communauté de l’anneau; Aragorn; 2001; https://tse1.mm.bing.net/th/id/OIP.GQ9p5tZGZBKv3fURChVROwE7DG?w=260&h=180&c=7&r=0&o=5&pid=1.7 - -Pour Frodon.; Le Seigneur des anneaux : le retour du roi; Aragorn; 2001; https://tse1.mm.bing.net/th/id/OIP.GQ9p5tZGZBKv3fURChVROwE7DG?w=260&h=180&c=7&r=0&o=5&pid=1.7 - -Mes amis… ce n’est pas à vous de vous incliner.; Le Seigneur des anneaux : le retour du roi; Aragorn; 2001; https://tse1.mm.bing.net/th/id/OIP.GQ9p5tZGZBKv3fURChVROwE7DG?w=260&h=180&c=7&r=0&o=5&pid=1.7 - -Si Dieu est tout puissant, alors il ne peut pas être tout bienfaisant. Et s’il est tout bienfaisant, c’est qu’il ne peut pas être tout puissant.; Batman v Superman : l’aube de la justice; Lex Luthor; 1989; https://tse3.mm.bing.net/th/id/OIP.S4q6m2na1Rxkc7xZ1lcfKQHaJe?w=135&h=180&c=7&r=0&o=5&pid=1.7 - -Je ne vais pas vous tuer… mais rien ne m’oblige à vous sauver.; Batman begins; Batman; 1989; https://tse1.mm.bing.net/th/id/OIP.k-xCm-NCW6Dxah3T2FlcFQHaEK?w=326&h=183&c=7&r=0&o=5&pid=1.7 - -Ne compte pas me mettre au frais !; Batman & Robin; Mr. Freeze; 1989; https://tse1.mm.bing.net/th/id/OIP.c5hOJMCbBn2CugR3e1ltNQHaIh?w=194&h=223&c=7&r=0&o=5&pid=1.7 - -Que la farce soit avec toi.; Batman, la série animée; le Joker; 1989; https://tse2.mm.bing.net/th/id/OIP.RrJkua2jY_o24eUG7wmk8QHaE-?w=232&h=180&c=7&r=0&o=5&pid=1.7 - -Tu sais, si t’as l’intention de voler des voitures, te déguises pas en voleur de voitures.; The Amazing Spider-Man; Peter Parker; 2002; https://tse1.mm.bing.net/th/id/OIP.OpPUQy_RrqL5sMd_KR7D8gHaD4?w=283&h=180&c=7&r=0&o=5&pid=1.7 - -Ne t’excuse jamais d’être le plus malin de la bande.; Spider-Man : Far From Home; Quentin Beck; 2002; https://tse4.mm.bing.net/th/id/OIP._ROT4QN7TDwCQHn6OLEswAHaEK?w=299&h=180&c=7&r=0&o=5&pid=1.7 - -Tu en fais trop : les études, le boulot, tout le temps que tu passes avec moi… Tu n’es pas Superman tu sais !; Spider-Man; May Parker; 2002; https://tse1.mm.bing.net/th/id/OIP.Fzb2IGNnUPn1wc_ne1cqgAHaL2?w=119&h=191&c=7&r=0&o=5&pid=1.7 - -Jarvis, il faut parfois savoir courir avant de savoir marcher.; Iron Man; Tony Stark; 2008; https://tse2.mm.bing.net/th/id/OIP.s4nqc0QluImn7arGZTfurQHaI7?w=131&h=180&c=7&r=0&o=5&pid=1.7 - -Les records sont fait pour être battus !; Iron Man; Tony Stark; 2008; https://tse2.mm.bing.net/th/id/OIP.s4nqc0QluImn7arGZTfurQHaI7?w=131&h=180&c=7&r=0&o=5&pid=1.7 - -Absorbez la pression, ne me la transmettez pas.; Iron Man; Tony Stark; 2008; https://tse2.mm.bing.net/th/id/OIP.s4nqc0QluImn7arGZTfurQHaI7?w=131&h=180&c=7&r=0&o=5&pid=1.7 - -C’est comme dans un rêve.; Iron Man; Tony Stark; 2008; https://tse2.mm.bing.net/th/id/OIP.s4nqc0QluImn7arGZTfurQHaI7?w=131&h=180&c=7&r=0&o=5&pid=1.7 - -La merde se crée toute seule, je ne fais que la remuer.; Deadpool; Wade / Deadpool; 2016; https://tse3.mm.bing.net/th/id/OIP.wYPg61JNUvsouPzwUhr0-QHaHa?w=162&h=180&c=7&r=0&o=5&pid=1.7 - -µ; Je parie que Vulverine en a une jolie paire dans son slip kangourou.; Deadpool; Wade / Deadpool; 2016; https://tse3.mm.bing.net/th/id/OIP.wYPg61JNUvsouPzwUhr0-QHaHa?w=162&h=180&c=7&r=0&o=5&pid=1.7 - -La plupart des gens sont condamnés à ne jamais rien voir au delà de ce que leurs yeux leur disent…; X-men 2; Kurt Wagner; 2000; https://tse3.mm.bing.net/th/id/OIP.hyDe8SvEEvDhmKfsQBqWEwHaJ8?w=194&h=261&c=7&r=0&o=5&pid=1.7 - -Disons que je suis le monstre de Frankenstein, et que je cherche mon créateur.; X-Men : Le commencement; Magneto; 2000; https://tse2.mm.bing.net/th/id/OIP.7eXM4Na7unM6BWLJcapqVwHaJ4?w=194&h=259&c=7&r=0&o=5&pid=1.7 - -Tu vaux tellement plus que ce que tu ne crois. Il n’y a pas que la douleur, la colère, tu as du cœur aussi, je l’ai vu en toi. Ce n’est pas qu’à moi que tu tournes le dos. Ici tu as une chance de faire partie d’une chose beaucoup plus grande que toi, une chose qui a besoin de toi.; X-Men : Apocalypse; Professeur Charles Xavier; 2000; https://tse3.mm.bing.net/th/id/OIP.lDzxwo1weGaA-hRMfV6bYwHaGp?w=194&h=174&c=7&r=0&o=5&pid=1.7 - -Elle ne me laisse pas faire !; X-men 2; Kurt Wagner; 2000; https://tse3.mm.bing.net/th/id/OIP.hyDe8SvEEvDhmKfsQBqWEwHaJ8?w=194&h=261&c=7&r=0&o=5&pid=1.7 - -Si je suis venu, c’est que je n’avais pas le choix. Je suis venu sauver mon monde, les personnes que j’aime. Et je suis venu parce-que le trident est leur seul espoir. Et si ça suffit pas comme raison, tu peux aller te faire foutre.; Aquaman; Arthur; 2018; https://tse3.mm.bing.net/th/id/OIP.Vbj0KGYQt_M2kAZNEdX3lQHaLb?w=194&h=299&c=7&r=0&o=5&pid=1.7 - -Un homme qui ne passe pas de temps avec sa famille n’est pas vraiment un homme.; Le parrain; Vito Corleone; 1972; https://tse2.mm.bing.net/th/id/OIP.jzIdpLlEe-MQogtqU8kAxAHaHa?w=149&h=180&c=7&r=0&o=5&pid=1.7 - -Il ne faut pas surestimer le pouvoir de pardonner.; Le Parrain, 3ème partie; Michael Corleone; 1972; https://tse2.mm.bing.net/th/id/OIP.2tQ82oaA3J3wmLyBBjrgWAHaJF?w=138&h=180&c=7&r=0&o=5&pid=1.7 - -Il ne faut pas que sa mère le voit dans cet état.; Le parrain; Vito Corleone; 1972; https://tse2.mm.bing.net/th/id/OIP.jzIdpLlEe-MQogtqU8kAxAHaHa?w=149&h=180&c=7&r=0&o=5&pid=1.7 - -Le pouvoir ça se donne pas ça se prend.; Le Parrain, 3ème partie; Michael Corleone; 1972; https://tse2.mm.bing.net/th/id/OIP.2tQ82oaA3J3wmLyBBjrgWAHaJF?w=138&h=180&c=7&r=0&o=5&pid=1.7 - -Ce qui ne me tue pas me rend plus… bizarre.; The Dark Knight: Le Chevalier noir; le Joker; 2008; https://tse4.mm.bing.net/th/id/OIP.FKM9RHVwmPE_eTQm6cvlbgHaLL?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Je suis comme un chien enragé qui court après une voiture, mais si j’en attrape une je ne sais pas à quoi elle me serait utile.; The Dark Knight: Le Chevalier noir; le Joker; 2008; https://tse4.mm.bing.net/th/id/OIP.FKM9RHVwmPE_eTQm6cvlbgHaLL?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Bien le bonsoir, je suis l’animation de la soirée !; The Dark Knight: Le Chevalier noir; le Joker; 2008; https://tse4.mm.bing.net/th/id/OIP.FKM9RHVwmPE_eTQm6cvlbgHaLL?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Vous voyez ce stylo ? Je vais le faire disparaître *BIM*. - Et voila, il a disparu.; The Dark Knight: Le Chevalier noir; le Joker; 2008; https://tse4.mm.bing.net/th/id/OIP.FKM9RHVwmPE_eTQm6cvlbgHaLL?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Ce ne sont pas juste des rêves, ce sont des souvenirs et tu as dit de ne jamais utiliser des souvenirs !; Inception; Ariadne; 2010; https://tse2.mm.bing.net/th/id/OIP.xkBsnyA8BI1MgSGbQpFhOQAAAA?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Il ne suffit pas de se mettre une plume dans le cul pour ressembler à un coq.; Fight Club; Tyler; 1999; https://tse2.mm.bing.net/th/id/OIP.GKlbhFXb8PhWKTBgLYCRNAHaHX?w=176&h=180&c=7&r=0&o=5&pid=1.7 - -Je le considère comme un impôt sur la connerie.; Fight Club; Marla; 1999; https://tse4.mm.bing.net/th/id/OIP.nFqhuPIEX-oV0i8PWjC1DwHaEx?w=186&h=180&c=7&r=0&o=5&pid=1.7 - -Si j’avais vraiment une tumeur je la nommerais Marla… Marla, la petite écorchure qu’on a sur le palais et qui ne peut cicatriser que si on ne cesse de la lécher. Mais on ne peut pas.; Fight Club; le narrateur; 1999; https://tse4.mm.bing.net/th/id/OIP.OQFYbcxGZsFJlvLIT8jrLAHaDt?w=310&h=180&c=7&r=0&o=5&pid=1.7 - -Je veux que tu saches, au lieu d’en avoir peur, que tu saches que tu mourras un jour.; Fight Club; Tyler; 1999; https://tse2.mm.bing.net/th/id/OIP.GKlbhFXb8PhWKTBgLYCRNAHaHX?w=176&h=180&c=7&r=0&o=5&pid=1.7 - -Vous avez une sorte de désespoir hystérique dans votre rire.; Fight Club; Tyler; 1999; https://tse2.mm.bing.net/th/id/OIP.GKlbhFXb8PhWKTBgLYCRNAHaHX?w=176&h=180&c=7&r=0&o=5&pid=1.7 - -Je veux que tu me frappes aussi fort que tu peux.; Fight Club; Tyler; 1999; https://tse2.mm.bing.net/th/id/OIP.GKlbhFXb8PhWKTBgLYCRNAHaHX?w=176&h=180&c=7&r=0&o=5&pid=1.7 - -Je le sais, parce que Tyler le sait.; Fight Club; le narrateur; 1999; https://tse4.mm.bing.net/th/id/OIP.OQFYbcxGZsFJlvLIT8jrLAHaDt?w=310&h=180&c=7&r=0&o=5&pid=1.7 - -Je fabrique et je vends du savon, l’objet qui indique le degré de civilisation.; Fight Club; Tyler; 1999; https://tse2.mm.bing.net/th/id/OIP.GKlbhFXb8PhWKTBgLYCRNAHaHX?w=176&h=180&c=7&r=0&o=5&pid=1.7 - -Pas de peur, pas d’affolement, et la faculté d’ignorer totalement ce qui est sans importance.; Fight Club; le narrateur; 1999; https://tse4.mm.bing.net/th/id/OIP.OQFYbcxGZsFJlvLIT8jrLAHaDt?w=310&h=180&c=7&r=0&o=5&pid=1.7 - -Si vous le voulez bien, on se taillera des pipes plus tard, les enfants.; Pulp Fiction; The Wolf; 1994; https://tse4.mm.bing.net/th/id/OIP.fc5TQflh0cbxB1GUeOdk6gHaK8?w=123&h=180&c=7&r=0&o=5&pid=1.7 - -Je fais le mort dans la 5e.; Pulp Fiction; Butch; 1994; https://tse1.mm.bing.net/th/id/OIP.luN_zVQJt2Kyf7H_kSrPyQHaJD?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Je courrais toujours pour aller partout, mais je ne pensais pas pour autant que ça allait me mener quelque part.; Forrest Gump; Forrest Gump; 1994; https://tse3.mm.bing.net/th/id/OIP.GT8e1PVP9IQvdn49uMVgeAHaE0?w=262&h=180&c=7&r=0&o=5&pid=1.7 - -Je ne sais pas si c’est maman qui avait raison ou si c’est le lieutenant Dan… Je sais pas si nous avons chacun un destin… ou si nous… si nous nous laissons porter par le hasard comme sur une brise… Mais je… je crois que c’est peut-être un peu des deux… peut-être un peu des deux arrive en même temps.; Forrest Gump; Forrest Gump; 1994; https://tse3.mm.bing.net/th/id/OIP.GT8e1PVP9IQvdn49uMVgeAHaE0?w=262&h=180&c=7&r=0&o=5&pid=1.7 - -Vous ne croirez pas si je vous le disais, mais je cours comme souffle le vent. À partir de ce jour, dès que j’allais quelque part, je le faisais en courant.; Forrest Gump; Forrest Gump; 1994; https://tse3.mm.bing.net/th/id/OIP.GT8e1PVP9IQvdn49uMVgeAHaE0?w=262&h=180&c=7&r=0&o=5&pid=1.7 - -Nous ne sommes pas ici parce que nous sommes libres, nous sommes ici parce que nous ne le sommes pas.; The Matrix Reloaded; Agent Smith; 1999; https://tse4.mm.bing.net/th/id/OIP.1mHiCYi8mwl6uzmVk0JZ3AHaJQ?w=141&h=180&c=7&r=0&o=5&pid=1.7 - -Tu prends la pilule bleue, l’histoire s’arrête là, tu te réveilles dans ton lit, et tu crois ce que tu veux. Tu prends la pilule rouge, tu restes au Pays des Merveilles et je te montre jusqu’où va le terrier.; Matrix; Morpheus; 1999; https://tse4.mm.bing.net/th/id/OIP.HHsnDYoQ9ZZwLthfRpMNugHaEL?w=291&h=180&c=7&r=0&o=5&pid=1.7 - -Le choix est une illusion créée entre ceux qui ont le pouvoir et ceux qui ne l’ont pas.; The Matrix Reloaded; le mérovingien; 1999; https://tse4.mm.bing.net/th/id/OIP.vku_hB1875k65Vxs1GKm_wAAAA?w=333&h=184&c=7&r=0&o=5&pid=1.7 - -Le pouvoir génétique est la force la plus terrible que la planète ait connu, mais vous la maniez comme un enfant qui a trouvé le flingue de son père !; Jurassic park; Ian Malcolm; 1993; https://tse1.mm.bing.net/th/id/OIP.H7i5IHvFUZl9DgyVtITn_wHaEK?w=296&h=180&c=7&r=0&o=5&pid=1.7 - -Il nous abandonne ! Il nous abandonne !; Jurassic park; Lex; 1993; https://tse4.mm.bing.net/th/id/OIP.ckCQ_jiHNatyzti0Fnq4PQHaED?w=317&h=180&c=7&r=0&o=5&pid=1.7 - -Ils se déplacent en troupeaux ! Ils se déplacent en troupeaux !; Jurassic park; Alan Grant; 1993; https://tse2.mm.bing.net/th/id/OIP.TJuWNCsibz8MVmhdNQEdMwHaE8?w=254&h=180&c=7&r=0&o=5&pid=1.7 - -Son acuité visuelle est basée sur le mouvement.; Jurassic park; Ian Malcolm; 1993; https://tse1.mm.bing.net/th/id/OIP.H7i5IHvFUZl9DgyVtITn_wHaEK?w=296&h=180&c=7&r=0&o=5&pid=1.7 - -Nous allons dans le seul endroit au monde où ce sont les oies qui vous chassent !; Le monde perdu; Ian Malcolm; 1993; https://tse1.mm.bing.net/th/id/OIP.H7i5IHvFUZl9DgyVtITn_wHaEK?w=296&h=180&c=7&r=0&o=5&pid=1.7 - -Ce que vous faites dans la vie résonne dans l’éternité.; Gladiator; Maximus; 2000; https://tse2.mm.bing.net/th/id/OIP.JfomwO3LzG6t7lsTTPtonAHaK7?w=117&h=180&c=7&r=0&o=5&pid=1.7 - -Le véritable cœur de Rome n’est pas dans le marbre du Sénat, mais dans le sable du Colisée.; Gladiator; Sénateur Gracchus; 2000; https://tse3.mm.bing.net/th/id/OIP.v7fsQh9Sd5LytyVQoez3cwHaE2?w=194&h=127&c=7&r=0&o=5&pid=1.7 - -La boue s’efface plus facilement que le sang.; Gladiator; Maximus; 2000; https://tse2.mm.bing.net/th/id/OIP.JfomwO3LzG6t7lsTTPtonAHaK7?w=117&h=180&c=7&r=0&o=5&pid=1.7 - -Mon nom est gladiator…; Gladiator; Maximus; 2000; https://tse2.mm.bing.net/th/id/OIP.JfomwO3LzG6t7lsTTPtonAHaK7?w=117&h=180&c=7&r=0&o=5&pid=1.7 - -Ils peuvent nous ôter la vie… Mais ils ne nous ôteront jamais notre liberté.; Braveheart; William Wallace; 1995; https://tse2.mm.bing.net/th/id/OIP.UICndeUgBDrka76aTOvAKQHaLH?w=147&h=220&c=7&r=0&o=5&pid=1.7 - -Ton cœur est libre, trouve le courage de le suivre.; Braveheart; Malcolm Wallace; 1995; https://tse2.mm.bing.net/th/id/OIP.7MO2w6ic7ik2arvdOTejHwHaLa?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Ils se battirent en guerrier et en poète. Ils se battirent en écossais et gagnèrent leur liberté.; Braveheart; William Wallace; 1995; https://tse2.mm.bing.net/th/id/OIP.UICndeUgBDrka76aTOvAKQHaLH?w=147&h=220&c=7&r=0&o=5&pid=1.7 - -Il les a tuées avec leur amour. C’est comme ça tous les jours dans le monde entier.; La Ligne Verte; John Coffey; 1999; https://tse4.mm.bing.net/th/id/OIP.loqNhw71Vk_C-TiyWQJoKAHaKK?w=95&h=180&c=7&r=0&o=5&pid=1.7 - -On ne peut pas cacher ce qu’on a dans son cœur.; La Ligne Verte; John Coffey; 1999; https://tse4.mm.bing.net/th/id/OIP.loqNhw71Vk_C-TiyWQJoKAHaKK?w=95&h=180&c=7&r=0&o=5&pid=1.7 - -C’est comme si j’avais des bouts de verres dans ma tête… tout le temps.; La Ligne Verte; John Coffey; 1999; https://tse4.mm.bing.net/th/id/OIP.loqNhw71Vk_C-TiyWQJoKAHaKK?w=95&h=180&c=7&r=0&o=5&pid=1.7 - -John tenait a me donner un peu de lui. Le jour ou il a saisit ma main, une partie de son pouvoir est entrée en moi. Il nous a condamné a la vie.; La Ligne Verte; Paul Edgecomb; 1999; https://tse1.mm.bing.net/th/id/OIP.csFLWCPUhS7NhdJT8-Cq-QHaEL?w=270&h=180&c=7&r=0&o=5&pid=1.7 - -J’ai rêvé de toi, j’ai rêvé que tu cherchais ton chemin dans la nuit, tout comme moi, et nous finissions par nous rencontrer… dans les ténèbres nous errions l’un et l’autre.; La Ligne Verte; Melinda Moores; 1999; https://tse4.mm.bing.net/th/id/OIP.6XMc0WCQbJ5xbzekralK7gHaD4?w=301&h=180&c=7&r=0&o=5&pid=1.7 - -Tout ce que je sais, c’est qu’à chaque fois que je tue un homme je m’éloigne un peu plus de chez moi.; Il faut sauver le soldat Ryan; le capitaine Miller; 1998; https://tse3.mm.bing.net/th/id/OIP.BeQYJEP1pQKzHDLGhTLBtgHaFj?w=243&h=182&c=7&r=0&o=5&pid=1.7 - -C’est toujours rassurant de voir que le monde est encore plus cinglé que vous !; Thor : le monde des Ténèbres; Erik Selvig; 2011; https://tse4.mm.bing.net/th/id/OIP.mbfvWIhPg0gZJA5FGmkilwHaFr?w=188&h=180&c=7&r=0&o=5&pid=1.7 - -La victoire au prix du sang des innocents n’est pas la victoire de la justice, c’est la victoire de la honte.; Captain America : civil war; le roi T’Chaka; 2011; https://tse3.mm.bing.net/th/id/OIP.eYavZu8-Xp11x2Pod8v6bQHaKw?w=194&h=282&c=7&r=0&o=5&pid=1.7 - -La vengeance est un déesse dévorante. Eux aussi en sont victimes… Je ne dois pas céder à son appel. La justice finira par triompher.; Captain America : civil war; T’Challa / Black Panther; 2011; https://tse4.mm.bing.net/th/id/OIP.XNQPKwc1OUfvnSO9MsxDYgHaE7?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -Je fais les mêmes choses que Captain, mais plus lentement.; Captain America : le soldat de l'hiver; Sam Wilson; 2011; https://tse4.mm.bing.net/th/id/OIP.5XrvOjUpYQsABU-bnFQIxwHaK7?w=127&h=187&c=7&r=0&o=5&pid=1.7 - -Tu obtiens quoi si tu croises un aliéné mental solitaire avec une société qui l’abandonne dans son coin et le traite comme de la merde ? Je vais te le dire, moi, ce que tu obtiens ! Tu obtiens ce que tu mérites, enculé !; Joker; le Joker; 2019; https://tse3.mm.bing.net/th/id/OIP.P4hzN60jIU4IQ7WnfJHN5AHaJQ?w=135&h=180&c=7&r=0&o=5&pid=1.7 - -Est-ce moi, ou est-ce le monde qui devient de plus en plus fou ?; Joker; le Joker; 2019; https://tse3.mm.bing.net/th/id/OIP.P4hzN60jIU4IQ7WnfJHN5AHaJQ?w=135&h=180&c=7&r=0&o=5&pid=1.7 - -Tout ce que j’ai c’est des idées noires.; Joker; le Joker; 2019; https://tse3.mm.bing.net/th/id/OIP.P4hzN60jIU4IQ7WnfJHN5AHaJQ?w=135&h=180&c=7&r=0&o=5&pid=1.7 - -Ma mère me dit tout le temps de sourire, de faire bonne figure, elle m’a dit que j’avais une mission dans la vie : mettre du rire et de la joie dans ce monde.; Joker; le Joker; 2019; https://tse3.mm.bing.net/th/id/OIP.P4hzN60jIU4IQ7WnfJHN5AHaJQ?w=135&h=180&c=7&r=0&o=5&pid=1.7 - -L’espoir est la seule chose plus forte que la peur.; Hunger Games; le président Snow; 2012; https://tse1.mm.bing.net/th/id/OIP._zw8Sl9IsgfLzI_gd9SvRQHaEK?w=243&h=180&c=7&r=0&o=5&pid=1.7 - -Si je dois mourir, je préfère rester comme je suis…; Hunger Games; Peeta; 2012; https://tse4.mm.bing.net/th/id/OIP.a93tPzA08bhvfY-tSHHYBwHaIt?w=194&h=229&c=7&r=0&o=5&pid=1.7 - -Tu ne vas pas mourir. Je te l’interdis. D’accord ?; Hunger Games; Katniss; 2012; https://tse4.mm.bing.net/th/id/OIP.6PMXCMTZgkDKCkeY-NP6sAHaKB?w=145&h=197&c=7&r=0&o=5&pid=1.7 - -Il faut que tu gagnes, Katniss.; Hunger Games; Rue; 2012; https://tse3.mm.bing.net/th/id/OIP.nn0EAEXX7rZ2fIMSSDThGQAAAA?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Je ne veux pas perdre le garçon avec le pain.; Hunger Games; Peeta; 2012; https://tse4.mm.bing.net/th/id/OIP.a93tPzA08bhvfY-tSHHYBwHaIt?w=194&h=229&c=7&r=0&o=5&pid=1.7 - -On pourrait le faire tu sais, s’enfuir et vivre dans les bois.; Hunger Games; Gale; 2012; https://tse4.mm.bing.net/th/id/OIP.iuYaquLDGgV_o3vDOphh-gHaLH?w=127&h=191&c=7&r=0&o=5&pid=1.7 - -Acceptez la possibilité de votre mort imminente. Et comprenez au plus profond de vous que je ne pourrais rien faire pour vous sauver.; Hunger Games; Haymitch Abernathy; 2012; https://tse2.mm.bing.net/th/id/OIP.UKHYE8eX_v3E_G8OSFUcjQAAAA?w=142&h=180&c=7&r=0&o=5&pid=1.7 - -Tu pourrais vivre cent vies que tu ne le mériterais pas tu sais…; Hunger Games; Haymitch Abernathy; 2012; https://tse2.mm.bing.net/th/id/OIP.UKHYE8eX_v3E_G8OSFUcjQAAAA?w=142&h=180&c=7&r=0&o=5&pid=1.7 - -Il ne faut surtout pas te laisser aller. C’est dix fois plus long de se reconstruire que de s’écrouler.; Hunger Games : l’embrasement; Finnick Odair; 2012; https://tse2.mm.bing.net/th/id/OIP.3Je-oEIjxk44RyMF3nSi-gHaEK?w=289&h=180&c=7&r=0&o=5&pid=1.7 - -Tu veux un sucre.; Hunger Games : l’embrasement; Finnick Odair; 2012; https://tse2.mm.bing.net/th/id/OIP.3Je-oEIjxk44RyMF3nSi-gHaEK?w=289&h=180&c=7&r=0&o=5&pid=1.7 - -Il n’y a plus de district 12 Katniss.; Hunger Games : l’embrasement; Gale; 2012; https://tse4.mm.bing.net/th/id/OIP.iuYaquLDGgV_o3vDOphh-gHaLH?w=127&h=191&c=7&r=0&o=5&pid=1.7 - -Si nous brûlons, vous brûlerez avec nous !; Hunger Games : la révolte - 1re partie; Katniss; 2012; https://tse4.mm.bing.net/th/id/OIP.6PMXCMTZgkDKCkeY-NP6sAHaKB?w=145&h=197&c=7&r=0&o=5&pid=1.7 - -J’imagine que le moment est mal choisi pour vous dire que j’ai pendu un mannequin par le cou et inscrit le nom de Seneca Crane sur son torse.; Hunger Games; Katniss; 2012; https://tse4.mm.bing.net/th/id/OIP.6PMXCMTZgkDKCkeY-NP6sAHaKB?w=145&h=197&c=7&r=0&o=5&pid=1.7 - -Le feux ça se propage et si nous brûlons vous brûlerez avec nous !; Hunger Games; Katniss; 2012; https://tse4.mm.bing.net/th/id/OIP.6PMXCMTZgkDKCkeY-NP6sAHaKB?w=145&h=197&c=7&r=0&o=5&pid=1.7 - -La peur ne te paralyse pas elle te réveille.; Divergente; Quatre; 2014; https://tse2.mm.bing.net/th/id/OIP.VGvVLSX6Yib-4x0JJOMWUQHaEK?w=305&h=180&c=7&r=0&o=5&pid=1.7 - -Les gens avides de pouvoir et qui finissent par l’obtenir vivent dans la terreur de le perdre. Et c’est pour cette raison qu’il ne faut en donner qu’à ceux qui ne le désirent pas.; Divergente; Tris; 2014; https://tse3.mm.bing.net/th/id/OIP.VYjPaxqX_66-rJho-f-rCQHaK4?w=194&h=284&c=7&r=0&o=5&pid=1.7 - -La politesse, ce n’est que de la fausseté dans un paquet-cadeau.; Divergente; Christina; 2014; https://tse3.mm.bing.net/th/id/OIP.-wz8nDaqKV8gu0xZsfcE_AHaLG?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Quand on a peu de possessions, peu de désirs et que tout le monde a la même chose, on ne convoite pas les biens des autres.; Divergente; Tris; 2014; https://tse3.mm.bing.net/th/id/OIP.VYjPaxqX_66-rJho-f-rCQHaK4?w=194&h=284&c=7&r=0&o=5&pid=1.7 - -Être désavoué par des lâches fait la grandeur des braves.; Les animaux fantastiques : les crimes de Grindewald; Grindelwald; 2016; https://tse4.mm.bing.net/th/id/OIP.FFOI1GRf_n-bX02pAlZYwQHaEc?w=244&h=180&c=7&r=0&o=5&pid=1.7 - -Je suis le feu. Je suis… la Mort.; Le hobbit : la désolation de Smaug; Smaug; 2012; https://tse2.mm.bing.net/th/id/OIP.3vXkEUJ9J8s-GsnBC6I3KAHaF0?w=185&h=180&c=7&r=0&o=5&pid=1.7 - -Je jure que je ne me séparerai pas d’une seule pièce d’or, pas de la moindre parcelle.; Le hobbit : la bataille des cinq armées; Thorin; 2012; https://tse4.mm.bing.net/th/id/OIP.F1alSEClhkaZE3VGDf9IbgHaHa?w=209&h=209&c=7&r=0&o=5&pid=1.7 - -De la loyauté, de l’honneur, un cœur vaillant, c’est tout ce que je demande !; Le Hobbit : un voyage inattendu; Thörin II Ecu-De-Chêne; 2012; https://tse1.mm.bing.net/th/id/OIP.AzOPUHw61pXF-W3a1giYwAHaFH?w=194&h=134&c=7&r=0&o=5&pid=1.7 - -Will Turner, est-ce que tu veux me prendre pour femme, pour le meilleur est pour le pire, je crois que le pire est à envisager.; Pirates des Caraïbes, jusqu’au bout du monde; Elizabeth; 2003; https://tse3.mm.bing.net/th/id/OIP.VFLqe8JlbX0imVJ-Rjn4mgHaDt?w=316&h=174&c=7&r=0&o=5&pid=1.7 - -Tous les trésors ne sont pas d’argent et d’or…; Pirates des Caraibes, la malédiction du Black Pearl; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -Tu ne remarques rien ? Ou plutôt ne remarques-tu pas l’absence de ce que tu devrais remarquer ?; Pirates des Caraïbes, jusqu’au bout du monde; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -Vous pouvez me tuer mon ami, mais ne m’insultez pas !; Pirates des Caraïbes, jusqu’au bout du monde; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -La mort a une curieuse façon de faire le tri parmi les priorités.; Pirates des Caraïbes, jusqu’au bout du monde; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -Mais il me semble que comme j’ai un navire et pas vous, c’est vous qui avez besoin que je vous sauve, et je ne sais pas si j’y suis vraiment disposé.; Pirates des Caraïbes, jusqu’au bout du monde; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -La cruauté est affaire de perspective.; Pirates des Caraïbes, jusqu’au bout du monde; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -Pas de ça de pas de ça !; Pirates des Caraïbes, jusqu’au bout du monde; Jack; 2003; https://tse2.mm.bing.net/th/id/OIP.l_zFAxgXMX9SnNDbFfXnqwHaFj?w=202&h=180&c=7&r=0&o=5&pid=1.7 - -Je sais pas c’qui me retient de le mettre en orbite !; Toy Story 2; M. Patate; 1995; https://tse1.mm.bing.net/th/id/OIP.je21xi_joSEUE4w8OkIg9gHaEL?w=317&h=180&c=7&r=0&o=5&pid=1.7 - -Tu m’as oublié en oubliant qui tu étais.; Le roi lion; Mufassa; 1994; https://tse3.mm.bing.net/th/id/OIP.raX8ZfSizmfVbeMrR0ghZgHaG2?w=173&h=180&c=7&r=0&o=5&pid=1.7 - -Quand le monde te persécute, tu te dois de persécuter le monde.; Le roi lion; Timon; 1994; https://tse3.mm.bing.net/th/id/OIP.djhwHrNS0CLKzx4LLJWpLAHaFs?w=173&h=180&c=7&r=0&o=5&pid=1.7 - -Regarde au delà de ce que tu vois.; Le roi lion; Rafiki; 1994; https://tse4.mm.bing.net/th/id/OIP.8My5fvsa2Z1P6oWhtJc6WQHaKl?w=127&h=181&c=7&r=0&o=5&pid=1.7 - -Et si je te le dis !; Le roi lion; Scar; 1994; https://tse3.mm.bing.net/th/id/OIP.b9_3MMu1kK4yyKVCt-wtYwHaEK?w=278&h=180&c=7&r=0&o=5&pid=1.7 - -Je patauge dans l’imbécillité.; Le roi lion; Scar; 1994; https://tse3.mm.bing.net/th/id/OIP.b9_3MMu1kK4yyKVCt-wtYwHaEK?w=278&h=180&c=7&r=0&o=5&pid=1.7 - -N’oublie pas qui tu es.; Le roi lion; Mufassa; 1994; https://tse3.mm.bing.net/th/id/OIP.raX8ZfSizmfVbeMrR0ghZgHaG2?w=173&h=180&c=7&r=0&o=5&pid=1.7 - -N’oublie pas qui tu es.; Le roi lion; Mufassa; 1994; https://tse3.mm.bing.net/th/id/OIP.raX8ZfSizmfVbeMrR0ghZgHaG2?w=173&h=180&c=7&r=0&o=5&pid=1.7 - -J’ai un corps d’Apollon et du plomb dans la tête.; La belle et la bête; Gaston; 1991; https://tse2.mm.bing.net/th/id/OIP.PziDszqyhWeRqKHDL8ouwgHaJ4?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -La mort… par décapitation…; Aladdin; Jafar; 1992; https://tse3.mm.bing.net/th/id/OIP.gl3qdaf8Njvek6PM5AVgXgHaFj?w=228&h=180&c=7&r=0&o=5&pid=1.7 - -Quand on a rien, il faut faire comme si tout nous appartenait.; Aladdin; Aladdin; 1992; https://tse4.mm.bing.net/th/id/OIP._TZXuDVR3nHwrSJ9PPxJvAHaFO?w=230&h=180&c=7&r=0&o=5&pid=1.7 - -Mon seul devoir est celui de mon cœur.; Mulan 2; Mulan; 1998; https://tse1.mm.bing.net/th/id/OIP.LTvVuaapKih6VpqAOtZudgHaK6?w=194&h=287&c=7&r=0&o=5&pid=1.7 - -Nan mais tu les as vus ?! Ils sont sortis, comme des marguerites !!; Mulan; Mushu; 1998; https://tse4.mm.bing.net/th/id/OIP.omU-pPTNgHJEiTKJUpB1MAHaIw?w=114&h=180&c=7&r=0&o=5&pid=1.7 - -Vous êtes le plus privilégié des privilégiés, en contrepartie il vous faut remplir certaines responsabilités.; À tout jamais, une histoire de Cendrillon; Danielle; 1950; https://tse2.mm.bing.net/th/id/OIP.79bf2opzc4vp3nvyKdI9QAHaHa?w=164&h=180&c=7&r=0&o=5&pid=1.7 - -Je rêve ou je suis en train de me battre en duel avec un cheval ?; Raiponce; Flynn Rider; 2010; https://tse1.mm.bing.net/th/id/OIP.3svdf3xniHZ5huU-D1cptQHaEK?w=329&h=185&c=7&r=0&o=5&pid=1.7 - -Wow, que d’émotions, et il est que huit heure du matin !; Raiponce; Flynn Rider; 2010; https://tse1.mm.bing.net/th/id/OIP.3svdf3xniHZ5huU-D1cptQHaEK?w=329&h=185&c=7&r=0&o=5&pid=1.7 - -Il ne se passera plus un jour, une heure, une minute sans que je me batte !; Raiponce; Raiponce; 2010; https://tse4.mm.bing.net/th/id/OIP.lObXQdwuf5hDc_g40knCmQHaDt?w=348&h=174&c=7&r=0&o=5&pid=1.7 - -Il suffit que je te regarde dans les yeux et je me sens… je me sens chez moi.; Le monde de Némo; Dory; 2003; https://tse2.mm.bing.net/th/id/OIP.zR4rzkK7q2wCcNwZd6jjegHaIC?w=163&h=180&c=7&r=0&o=5&pid=1.7 - -Je souffre de perte de la mémoire courte.; Le monde de Némo; Dory; 2003; https://tse2.mm.bing.net/th/id/OIP.zR4rzkK7q2wCcNwZd6jjegHaIC?w=163&h=180&c=7&r=0&o=5&pid=1.7 - -Oh il a de la chance de parler baleine !; Le monde de Némo; Dory; 2003; https://tse2.mm.bing.net/th/id/OIP.zR4rzkK7q2wCcNwZd6jjegHaIC?w=163&h=180&c=7&r=0&o=5&pid=1.7 - -Je ne vous connais pas, mais je vous aime déjà.; Là-haut; Dug; 2009; https://tse1.mm.bing.net/th/id/OIP.uDr845hAlB9JoYe8i-DJ0QAAAA?w=294&h=170&c=7&r=0&o=5&pid=1.7 - -Arrête de faire ton Jean-Jacques !; Coco; Coco; 2017; https://tse1.mm.bing.net/th/id/OIP.GPIbva8dEP6Kllx-sj5ysAHaK-?w=115&h=180&c=7&r=0&o=5&pid=1.7 - -Tu conduis comme tu répares les routes.; Cars; Doc Hudson; 2006; https://tse1.mm.bing.net/th/id/OIP.7ZWmLIPHcKWDZZjROnCh3AHaDF?w=287&h=145&c=7&r=0&o=5&pid=1.7 - -Je ne veux pas d’excuses, je veux des résultats !; Madagascar; les pingouins; 2005; https://tse2.mm.bing.net/th/id/OIP.UMdT8raLVqv9rCr2E1O_nAHaFS?w=244&h=180&c=7&r=0&o=5&pid=1.7 - -Tu me mords… LES MEULES !; Madagascar; Marty; 2005; https://tse2.mm.bing.net/th/id/OIP.Qoh2doQIigxyiOBuhgRx9gHaM7?w=115&h=186&c=7&r=0&o=5&pid=1.7 - -Pour toi poupée, je me couperais en quatre…; Shrek 2; le chat potté; 2001; https://tse4.mm.bing.net/th/id/OIP.kS6XFK6-lD-RzYdwHAj_LgHaEK?w=255&h=180&c=7&r=0&o=5&pid=1.7 - -Ma maman elle est malade et mon papa il dévalise les poubelles.; Shrek; le chat potté; 2001; https://tse4.mm.bing.net/th/id/OIP.kS6XFK6-lD-RzYdwHAj_LgHaEK?w=255&h=180&c=7&r=0&o=5&pid=1.7 - -Moi je vois pas l’intérêt de savoir parler si je peux pas raconter les secrets !; Shrek; l'âne; 2001; https://tse3.mm.bing.net/th/id/OIP.-1Ds-2D5GPiu9uejDdmgNgHaH3?w=124&h=180&c=7&r=0&o=5&pid=1.7 - -Nouille ou pas nouille, tu te préoccupes trop de ce qui a été ou de ce qui sera.; Kung Fu Panda; Maître Oogway; 2008; https://tse4.mm.bing.net/th/id/OIP.QzDh_d2T5aADiDJ7uMFU6gHaHa?w=157&h=180&c=7&r=0&o=5&pid=1.7 - -On ne facture pas la toplessitude et la séductivité.; Kung Fu Panda; Po; 2008; https://tse2.mm.bing.net/th/id/OIP.oBoBPN1VKEeJglTjZbtRUAHaJ5?w=94&h=180&c=7&r=0&o=5&pid=1.7 - -Mon nom est Po, et il va me falloir un chapeau !; Kung Fu Panda 2; Po; 2008; https://tse2.mm.bing.net/th/id/OIP.oBoBPN1VKEeJglTjZbtRUAHaJ5?w=94&h=180&c=7&r=0&o=5&pid=1.7 - -Tu viens de me montrer au complet ?!; Dragons; Harold; 2010; https://tse2.mm.bing.net/th/id/OIP._OiJHgI7cal4cWNHcCE9zAHaM2?w=115&h=180&c=7&r=0&o=5&pid=1.7 diff --git a/controllers/CitationController.php b/controllers/CitationController.php deleted file mode 100644 index 802e027..0000000 --- a/controllers/CitationController.php +++ /dev/null @@ -1,28 +0,0 @@ -getCitationDuJour(); - $suggestions = $model->getSuggestions($citationDuJour); - - // Afficher la page via la vue - HeaderView::display($theme); - CitationView::display($citationDuJour, $suggestions); - } -} diff --git a/images/Boromir.jpg b/images/Boromir.jpg deleted file mode 100644 index 6e4719d..0000000 Binary files a/images/Boromir.jpg and /dev/null differ diff --git a/images/Dark_Vador.jpg b/images/Dark_Vador.jpg deleted file mode 100644 index 9336947..0000000 Binary files a/images/Dark_Vador.jpg and /dev/null differ diff --git a/images/Drago_Malefoy.jpg b/images/Drago_Malefoy.jpg deleted file mode 100644 index 382e316..0000000 Binary files a/images/Drago_Malefoy.jpg and /dev/null differ diff --git a/images/Dumbledore.jpg b/images/Dumbledore.jpg deleted file mode 100644 index 45f35ab..0000000 Binary files a/images/Dumbledore.jpg and /dev/null differ diff --git a/images/Frodon.jpg b/images/Frodon.jpg deleted file mode 100644 index 4ceaa55..0000000 Binary files a/images/Frodon.jpg and /dev/null differ diff --git a/images/Gandalf.jpg b/images/Gandalf.jpg deleted file mode 100644 index a1e68b8..0000000 Binary files a/images/Gandalf.jpg and /dev/null differ diff --git a/images/Gimli.jpg b/images/Gimli.jpg deleted file mode 100644 index e4c4528..0000000 Binary files a/images/Gimli.jpg and /dev/null differ diff --git a/images/Ginny_Weasley.jpg b/images/Ginny_Weasley.jpg deleted file mode 100644 index c907227..0000000 Binary files a/images/Ginny_Weasley.jpg and /dev/null differ diff --git a/images/Gollum.jpg b/images/Gollum.jpg deleted file mode 100644 index 62a6519..0000000 Binary files a/images/Gollum.jpg and /dev/null differ diff --git a/images/Harry.jpg b/images/Harry.jpg deleted file mode 100644 index 8379435..0000000 Binary files a/images/Harry.jpg and /dev/null differ diff --git a/images/Hermione.jpg b/images/Hermione.jpg deleted file mode 100644 index b56846b..0000000 Binary files a/images/Hermione.jpg and /dev/null differ diff --git a/images/Kylo_Ren.jpg b/images/Kylo_Ren.jpg deleted file mode 100644 index 5c5f90f..0000000 Binary files a/images/Kylo_Ren.jpg and /dev/null differ diff --git a/images/Legolas.jpg b/images/Legolas.jpg deleted file mode 100644 index 473624b..0000000 Binary files a/images/Legolas.jpg and /dev/null differ diff --git a/images/Leia.jpg b/images/Leia.jpg deleted file mode 100644 index b373167..0000000 Binary files a/images/Leia.jpg and /dev/null differ diff --git a/images/Logo.png b/images/Logo.png deleted file mode 100644 index 39faaa4..0000000 Binary files a/images/Logo.png and /dev/null differ diff --git a/images/Lord_Voldemort.jpg b/images/Lord_Voldemort.jpg deleted file mode 100644 index a7805b6..0000000 Binary files a/images/Lord_Voldemort.jpg and /dev/null differ diff --git a/images/Luke.jpg b/images/Luke.jpg deleted file mode 100644 index ca42e19..0000000 Binary files a/images/Luke.jpg and /dev/null differ diff --git a/images/Obi-Wan.jpg b/images/Obi-Wan.jpg deleted file mode 100644 index 8dbcc62..0000000 Binary files a/images/Obi-Wan.jpg and /dev/null differ diff --git a/images/Qui-Gon_Jinn.jpg b/images/Qui-Gon_Jinn.jpg deleted file mode 100644 index 56ef6f5..0000000 Binary files a/images/Qui-Gon_Jinn.jpg and /dev/null differ diff --git a/images/Remus_Lupin.jpg b/images/Remus_Lupin.jpg deleted file mode 100644 index 86ddcb9..0000000 Binary files a/images/Remus_Lupin.jpg and /dev/null differ diff --git a/images/Rey.jpg b/images/Rey.jpg deleted file mode 100644 index 94f3705..0000000 Binary files a/images/Rey.jpg and /dev/null differ diff --git a/images/Sam.jpg b/images/Sam.jpg deleted file mode 100644 index eb4abe7..0000000 Binary files a/images/Sam.jpg and /dev/null differ diff --git a/images/Sirius_Black.jpg b/images/Sirius_Black.jpg deleted file mode 100644 index 6a6f799..0000000 Binary files a/images/Sirius_Black.jpg and /dev/null differ diff --git a/images/WIKIFANTASY.png b/images/WIKIFANTASY.png deleted file mode 100644 index 2dffdee..0000000 Binary files a/images/WIKIFANTASY.png and /dev/null differ diff --git a/images/Yoda.jpg b/images/Yoda.jpg deleted file mode 100644 index de57e57..0000000 Binary files a/images/Yoda.jpg and /dev/null differ diff --git a/images/coeur.svg b/images/coeur.svg deleted file mode 100644 index 4ac9bb7..0000000 --- a/images/coeur.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/images/dark.svg b/images/dark.svg deleted file mode 100644 index 442157b..0000000 --- a/images/dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/images/drapeauFrance.png b/images/drapeauFrance.png deleted file mode 100644 index f6de078..0000000 Binary files a/images/drapeauFrance.png and /dev/null differ diff --git a/images/iconeClaire.ico b/images/iconeClaire.ico deleted file mode 100644 index 87a6e54..0000000 Binary files a/images/iconeClaire.ico and /dev/null differ diff --git a/images/iconeSombre.ico b/images/iconeSombre.ico deleted file mode 100644 index 5710f06..0000000 Binary files a/images/iconeSombre.ico and /dev/null differ diff --git a/images/imageProfil.png b/images/imageProfil.png deleted file mode 100644 index 2515991..0000000 Binary files a/images/imageProfil.png and /dev/null differ diff --git a/images/light.svg b/images/light.svg deleted file mode 100644 index ad790ed..0000000 --- a/images/light.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/images/modify.svg b/images/modify.svg deleted file mode 100644 index 98fbe6f..0000000 --- a/images/modify.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/images/numerobis.jpeg b/images/numerobis.jpeg deleted file mode 100644 index 144d17f..0000000 Binary files a/images/numerobis.jpeg and /dev/null differ diff --git a/images/quizz.svg b/images/quizz.svg deleted file mode 100644 index 4b7c2c3..0000000 --- a/images/quizz.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/images/tyler.jpg b/images/tyler.jpg deleted file mode 100644 index 7f511c6..0000000 Binary files a/images/tyler.jpg and /dev/null differ diff --git a/images/user_dark.png b/images/user_dark.png deleted file mode 100644 index 0b8974e..0000000 Binary files a/images/user_dark.png and /dev/null differ diff --git a/images/vador.webp b/images/vador.webp deleted file mode 100644 index 006c5de..0000000 Binary files a/images/vador.webp and /dev/null differ diff --git a/index.php b/index.php deleted file mode 100644 index 3b55c8d..0000000 --- a/index.php +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - Wiki Fantasy - - - - - -
-
- - -
- user -
-
-
-

Wiki Fantasy

- - diff --git a/models/CitationModel.php b/models/CitationModel.php deleted file mode 100644 index fc14eab..0000000 --- a/models/CitationModel.php +++ /dev/null @@ -1,45 +0,0 @@ -filePath)) { - return null; - } - - $citations = file($this->filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - foreach ($citations as $citation) { - $parts = explode(';', $citation); - // Vérifier si la citation commence par 'µ' - if (strpos(trim($parts[0]), 'µ') === 0) { - return $parts; // Retourne la citation du jour - } - } - return null; - } - - // Fonction pour obtenir les suggestions de citations - public function getSuggestions($citationDuJour) { - if (!file_exists($this->filePath)) { - return []; - } - - $citations = file($this->filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - $suggestions = []; - - foreach ($citations as $citation) { - $parts = explode(';', $citation); - // On ajoute la citation si elle n'est pas la citation du jour - if (!($parts[0] === $citationDuJour[0])) { - $suggestions[] = $parts; - } - } - - // Limiter à 10 suggestions - shuffle($suggestions); - return array_slice($suggestions, 0, 10); - } -} diff --git a/pages/td1.php b/pages/td1.php deleted file mode 100644 index 2aebfdb..0000000 --- a/pages/td1.php +++ /dev/null @@ -1,38 +0,0 @@ - co = $co; - } - - public function findByName($name) - { - $query = "SELECT * FROM Artiste WHERE nom = :nom"; - - $this -> co -> executeQuery($query, array('nom' => array($name, PDO::PARAM_STR))); - - $res = $this -> co -> getResults(); - - foreach ($res as $row) - { - $tab[] = new Artiste( - $row['id'], - $row['nom'], - $row['prenom'], - $row['nb'], - ); - } - return $tab; - } - -} - - -foreach ($listNews as $news) -{ - -} diff --git a/public/pages/.DS_Store b/public/pages/.DS_Store deleted file mode 100644 index 9dac593..0000000 Binary files a/public/pages/.DS_Store and /dev/null differ diff --git a/public/pages/accueil.php b/public/pages/accueil.php deleted file mode 100644 index 2dc2e07..0000000 --- a/public/pages/accueil.php +++ /dev/null @@ -1,6 +0,0 @@ -index(); -?> diff --git a/public/pages/favorite.html b/public/pages/favorite.html deleted file mode 100644 index 6134db2..0000000 --- a/public/pages/favorite.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Wiki Fantasy : Favoris - - - - - - -
-
- - -
- user -
-
-
-

Wiki Fantasy

- - diff --git a/public/pages/login.html b/public/pages/login.html deleted file mode 100644 index c2452e2..0000000 --- a/public/pages/login.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - Wiki Fantasy : Connexion - - - - - -
-
- - -
- user -
-
-
-

▶ Connexion ◀

- -
-

Identifiant *

- - -

Mot de passe *

- - -
-

Vous n'avez pas de compte?

- S'incrire -
- - -
- -
- -
- - \ No newline at end of file diff --git a/public/pages/profil.html b/public/pages/profil.html deleted file mode 100644 index a36d2a6..0000000 --- a/public/pages/profil.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - Wiki Fantasy : Profil - - - - - -
-
- - -
-
- -
-

▶ Profil ◀

- - - - -

Tyler De Dordogne

- -

user@wikiFantasy.com

-

*********

- -
-

Language :

-
- - -
- Ajouter une citation -
- - -
- -
- -
- - \ No newline at end of file diff --git a/public/pages/profil.php b/public/pages/profil.php deleted file mode 100644 index 6c36e85..0000000 --- a/public/pages/profil.php +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - Wiki Fantasy : Profil - - - - - - - -
-
- - -
-
- -
-

▶ Profil ◀

- - img}' class='imageProfil' onmousedown='return false'/>"; - - // Nom d'utilisateur - echo "

- {$u->username} - - -

"; - - // Email - echo "

- {$u->email} - - -

"; - - // Mot de passe - echo "

- {$u->hidenPasswd} - - -

"; - ?> - -
-

Language :

-
- - -
- Ajouter une citation -
- - -
- -
- -
- - diff --git a/public/pages/quiz.html b/public/pages/quiz.html deleted file mode 100644 index 9f84b73..0000000 --- a/public/pages/quiz.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - Wiki Fantasy : Quiz - - - - - - -
- - -
- user -
-
- -

▶ Quiz ◀

- -
-

Question 1

-

“Tu es un sorcier Harry”

- - -
- - - - -
- -
- -
-
- - diff --git a/public/pages/quiz.php b/public/pages/quiz.php deleted file mode 100644 index 788cf8f..0000000 --- a/public/pages/quiz.php +++ /dev/null @@ -1,97 +0,0 @@ -setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - - // Requête pour récupérer une question du quiz - $sql = "SELECT * FROM question WHERE id_question = 1"; // Adapte cette requête selon ta table de questions - $stmt = $conn->prepare($sql); - $stmt->execute(); - - // Récupère toutes les questions - $question = $stmt->fetchAll(PDO::FETCH_ASSOC); - -} catch (PDOException $e) { - echo "Erreur de connexion : " . $e->getMessage(); -} - -// Ferme la connexion (optionnel avec PDO) -$conn = null; -?> - - - - - - - Wiki Fantasy : Quiz - - - - - - -
- - -
- user -
-
- -

▶ Quiz ◀

-
-

Question 1

-

- 300 seconds left .. - -
-
- - - - -
-
- -
-
-
- - diff --git a/public/pages/quizz.html b/public/pages/quizz.html deleted file mode 100644 index 6955adc..0000000 --- a/public/pages/quizz.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - Wiki Fantasy : Quizz - - - - - - - -
-
- - -
- user -
-
-
- - -

▶ Quizz ◀

- -
-

Question 1

-

“Tu es un sorcier Harry”

- - -
- - - - -
- -
- -
-
- - - - - diff --git a/public/pages/quote.html b/public/pages/quote.html deleted file mode 100644 index 06de45d..0000000 --- a/public/pages/quote.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - Wiki Fantasy : Citations - - - - - - - - \ No newline at end of file diff --git a/public/pages/search.php b/public/pages/search.php deleted file mode 100644 index 37a92c5..0000000 --- a/public/pages/search.php +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - Wiki Fantasy - - - - - - -
- - -
- user -
-
- -
-
-
- -
- query("SELECT * -# FROM utilisateur -# WHERE nom LIKE ? -# LIMIT 10", -# array("$user%")); -# -#$req = $req->fetchALL(); -$req=array(array('nom'=>'nom1','prenom'=>'prenom1'),array('nom'=>'nom2','prenom'=>'prenom2'),array('nom'=>'nom3','prenom'=>'prenom3')); - -foreach($req as $r){ - ?> -
-
-
-
-
- - - \ No newline at end of file diff --git a/public/pages/signin.html b/public/pages/signin.html deleted file mode 100644 index 578c73e..0000000 --- a/public/pages/signin.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - Wiki Fantasy : Inscription - - - - - -
-
- - -
- user -
-
-
-

▶ S'inscrire ◀

-
-
-
-

Identifiant *

- -
- -
-

Email *

- -
- -
-

Mot de passe *

- -
- -
-

Confirmer mot de passe *

- -
- -
-

Image *

- -
- -
- -
-
-
- - \ No newline at end of file diff --git a/public/script/Connection.php b/public/script/Connection.php deleted file mode 100644 index d46fbd7..0000000 --- a/public/script/Connection.php +++ /dev/null @@ -1,32 +0,0 @@ -setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -} - - -/** * @param string $query - * @param array $parameters * - * @return bool Returns `true` on success, `false` otherwise -*/ - -public function executeQuery(string $query, array $parameters = []) : bool{ - $this->stmt = parent::prepare($query); - foreach ($parameters as $name => $value) { - $this->stmt->bindValue($name, $value[0], $value[1]); - } - - return $this->stmt->execute(); -} - -public function getResults() : array { - return $this->stmt->fetchall(); - -} -} - -?> diff --git a/public/script/afficheQuote.php b/public/script/afficheQuote.php deleted file mode 100644 index e018a0e..0000000 --- a/public/script/afficheQuote.php +++ /dev/null @@ -1,27 +0,0 @@ - -query("SELECT * -# FROM utilisateur -# WHERE nom LIKE ? -# LIMIT 10", -# array("$user%")); -# -#$req = $req->fetchALL(); -$req=query(array('nom'=>'nom1','prenom'=>'prenom1'),array('nom'=>'nom2','prenom'=>'prenom2'),array('nom'=>'nom3','prenom'=>'prenom3')); -$req = $req->fetchALL(); - -foreach($req as $r){ - ?> -
\ No newline at end of file diff --git a/public/script/auth-check.js b/public/script/auth-check.js deleted file mode 100644 index 02d72d9..0000000 --- a/public/script/auth-check.js +++ /dev/null @@ -1,39 +0,0 @@ -// auth-check.js - -// Vérifier si l'utilisateur est connecté -function isUserLoggedIn() { - // Vérifiez si 'isLoggedIn' est défini dans le localStorage ou par un cookie - return localStorage.getItem('isLoggedIn') === 'true'; -} - -// Redirection des liens en fonction de l'état de connexion -function setupLinks() { - const favoriteLink = document.querySelector('a[href="favorite.html"]'); - const quizLink = document.querySelector('a[href="quiz.html"]'); - const userIcon = document.querySelector('.user img'); - - if (!isUserLoggedIn()) { - // Si l'utilisateur n'est pas connecté, rediriger vers la page de connexion - if (favoriteLink) favoriteLink.href = "login.html"; - if (quizLink) quizLink.href = "login.html"; - if (userIcon) { - userIcon.style.cursor = "pointer"; // Changer le curseur pour indiquer la cliquabilité - userIcon.addEventListener('click', () => { - window.location.href = "login.html"; - }); - } - } else { - // Si l'utilisateur est connecté, définir les liens vers les pages dédiées - if (favoriteLink) favoriteLink.href = "favorite.html"; - if (quizLink) quizLink.href = "quiz.html"; - if (userIcon) { - userIcon.style.cursor = "pointer"; // Changer le curseur pour indiquer la cliquabilité - userIcon.addEventListener('click', () => { - window.location.href = "user-profile.html"; - }); - } - } -} - -// Initialiser les liens lors du chargement de la page -document.addEventListener('DOMContentLoaded', setupLinks); diff --git a/public/script/changeData.js b/public/script/changeData.js deleted file mode 100644 index d6eed77..0000000 --- a/public/script/changeData.js +++ /dev/null @@ -1,169 +0,0 @@ - -function editFieldUsername(id) { - var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant - var currentValue = pElement.textContent.trim();// Obtenir le texte actuel du

- - // Créer un champ de saisie avec la valeur actuelle - var input = document.createElement('input'); - input.type = 'text'; - input.value = currentValue - input.class = 'changeValue'; - - input.setAttribute('onblur', 'saveFieldUsername("' + id + '", this.value)'); // Sauvegarde lors de la perte de focus - - // Remplacer le

par le champ - pElement.innerHTML = ''; - pElement.appendChild(input); - - input.focus(); // Mettre le focus sur le champ de saisie -} - -//Sauvegarder les changements sur la vue pour le username -function saveFieldUsername(id, newValue) { - if (id === 'username') { - if (newValue.trim() === "") { - alert('Le nom d\'utilisateur ne peut pas être vide.'); - document.getElementById(id).querySelector('input').focus(); - return; // Ne pas sauvegarder si le nom d'utilisateur est vide - } - } - - var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant - - // Mettre à jour la valeur avec la nouvelle saisie - pElement.innerHTML = '' + newValue + ' '; -} - - - - -function editFieldEmail(id) { - var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant - var currentValue = pElement.textContent.trim();// Obtenir le texte actuel du

- - // Créer un champ de saisie avec la valeur actuelle - var input = document.createElement('input'); - input.type = 'email'; - input.value = currentValue - input.class = 'changeValue'; - - input.setAttribute('onblur', 'saveFieldEmail("' + id + '", this.value)'); // Sauvegarde lors de la perte de focus - - // Remplacer le

par le champ - pElement.innerHTML = ''; - pElement.appendChild(input); - - input.focus(); // Mettre le focus sur le champ de saisie -} - -//Sauvegarder les changements sur la vue pour l'email -function saveFieldEmail(id, newValue) { - if (id === 'email') { - if (!validateEmail(newValue)) { - alert('Adresse email invalide. Veuillez entrer un email valide.'); - document.getElementById(id).querySelector('input').focus(); - return; // Ne pas sauvegarder si l'email n'est pas valide - } - } - if (id === 'username') { - if (newValue.trim() === "") { - alert('Le nom d\'utilisateur ne peut pas être vide.'); - document.getElementById(id).querySelector('input').focus(); - return; // Ne pas sauvegarder si le nom d'utilisateur est vide - } - } - - var pElement = document.getElementById(id); // Récupérer l'élément

via son identifiant - - // Mettre à jour la valeur avec la nouvelle saisie - pElement.innerHTML = '' + newValue + ' '; -} - - - - -//Email valide -function validateEmail(email) { - var re = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;// Regex pour vérifier le format de l'email - return re.test(String(email).toLowerCase()); -} - - - - - - - -function editFieldPassWd(id) { - var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant - - pElement.innerHTML = '';// Effacer le contenu actuel de

pour insérer les inputs - - // Créer le champ de saisie pour le nouveau mot de passe - var inputNewPass = document.createElement('input'); - inputNewPass.type = 'password'; - inputNewPass.placeholder = 'Nouveau mot de passe'; // Un placeholder pour indiquer la fonction du champ - inputNewPass.classList.add('changeValue'); // Ajouter une classe CSS pour styliser l'input - inputNewPass.setAttribute('id', 'newPassword'); // Ajouter un ID pour la gestion - inputNewPass.classList.add('inputPasswd'); // Ajouter une classe au input - - - // Créer le champ de saisie pour la confirmation du mot de passe - var inputConfirmPass = document.createElement('input'); - inputConfirmPass.type = 'password'; - inputConfirmPass.placeholder = 'Confirmer le mot de passe'; // Un placeholder pour indiquer la fonction du champ - inputConfirmPass.classList.add('changeValue'); // Ajouter une classe CSS pour styliser l'input - inputConfirmPass.setAttribute('id', 'confirmPassword'); // Ajouter un ID pour la gestion - inputConfirmPass.classList.add('inputPasswd'); // Ajouter une classe au input - - // Ajouter un bouton de sauvegarde - var saveButton = document.createElement('button'); - saveButton.textContent = 'Sauvegarder le mot de passe'; - saveButton.classList.add('saveButtonPasswd'); // Ajouter une classe au bouton - - saveButton.onclick = function() { - savePasswordFields(id, inputNewPass.value, inputConfirmPass.value); - - }; - - // Ajouter les deux champs de saisie et le bouton dans l'élément

- pElement.appendChild(inputNewPass); - pElement.appendChild(document.createElement('br')); // Saut de ligne pour espacer les champs - pElement.appendChild(inputConfirmPass); - pElement.appendChild(document.createElement('br')); // Saut de ligne pour espacer - pElement.appendChild(saveButton); - - inputNewPass.focus();// Mettre le focus sur le premier champ de saisie -} - - - -function savePasswordFields(id, newPassword, confirmPassword) { - // Vérification si les champs sont vides - if (newPassword.trim() === "" || confirmPassword.trim() === ""){ - alert("Les champs de mot de passe ne doivent pas être vides."); - return; - } - - // Vérification de la correspondance des deux mots de passe - if (newPassword === confirmPassword) { - - var pElement = document.getElementById(id);// Récupérer l'élément

via son identifiant - - if(newPassword.length >= 16){ - var maskedPassword = '*'.repeat(16); // Masquer le nouveau mot de passe pour l'affichage - } - else{ - var maskedPassword = "*".repeat(newPassword.length); // Masquer le nouveau mot de passe pour l'affichage - } - - // Remplacer les champs input par le texte masqué - pElement.innerHTML = '' + maskedPassword + ' '; - alert('Mot de passe mis à jour avec succès'); - - // Possibilité d'ajouter ici une fonction pour envoyer les nouveaux mots de passe au serveur - - } else { - alert('Les mots de passe ne correspondent pas.'); - } -} diff --git a/public/script/comment.php b/public/script/comment.php deleted file mode 100644 index e69de29..0000000 diff --git a/public/script/quote.php b/public/script/quote.php deleted file mode 100644 index d3c07ac..0000000 --- a/public/script/quote.php +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/public/script/quoteGateway.php b/public/script/quoteGateway.php deleted file mode 100644 index db85b36..0000000 --- a/public/script/quoteGateway.php +++ /dev/null @@ -1,49 +0,0 @@ -con=$con; - } - - public function searchQuote(string $quote,int $numpage,string $language):array{ - - //recherche par citation - $query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE content LIKE '%:quote%' AND isValid = true AND language = :language LIMIT 20 OFFSET :page*20;"; - $this->con->executeQuery($query,array(':quote' => array($quote,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR))); - $result=$this->con->getResults(); - return $result; - } - - public function searchSource(string $source,int $numpage,string $language):array{ - - //recherche par source - $query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE s.title LIKE '%:source%' AND q.isValid = true AND language = :language LIMIT 20 OFFSET :page*20;"; - $this->con->executeQuery($query,array(':source' => array($source,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR))); - $result=$this->con->getResults(); - return $result; - } - - public function searchPers(string $Carac,int $numpage,string $language):array{ - - //recherche par personnage - $query="SELECT q.id_quote, q.content, c.caracter, c.img_path, s.title, s.date, q.like, q.language FROM Quote q JOIN Caracter c ON c.id_caracter = q.id_caracter JOIN Source s ON s.id_source = q.id_source WHERE c.caracter LIKE '%:pers%' AND q.isValid = true AND language = :language LIMIT 20 OFFSET :page*20;"; - $this->con->executeQuery($query,array(':pers' => array($Pers,PDO::PARAM_STR),':page' => array($numpage,PDO::PARAM_INT),':language' => array($language,PDO::PARAM_STR))); - $result=$this->con->getResults(); - return $result; - } - - public function getComment(int $id):array{ - - //obtention des commentaire d'une citation - $query="SELECT c.id_comment u.username, u.imgPath, c.comment, c.date FROM Commentary c JOIN Quote q ON c.quote = q.id_quote JOIN User u ON u.id_user = c.user JOIN Image i ON i.id_img = u.img WHERE id_quote = :id;"; - $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT))); - $result=$this->con->getResults(); - return $result; - } - -} - -?> \ No newline at end of file diff --git a/public/script/signin.php b/public/script/signin.php deleted file mode 100644 index 15c5adc..0000000 --- a/public/script/signin.php +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/public/script/theme-toggle.js b/public/script/theme-toggle.js deleted file mode 100644 index 5fd965e..0000000 --- a/public/script/theme-toggle.js +++ /dev/null @@ -1,51 +0,0 @@ -// Quand le document est prêt -document.addEventListener("DOMContentLoaded", function() { - const themeIcon = document.getElementById('theme-icon'); - const favicon = document.getElementById('favicon'); // Sélectionne la favicon - - // Vérifie si les éléments existent bien avant d'y accéder - if (themeIcon && favicon) { - const currentTheme = localStorage.getItem('theme') || 'dark'; // Par défaut, sombre - - // Applique le bon thème au chargement de la page - if (currentTheme === 'light') { - document.body.classList.remove('dark-mode'); - document.body.classList.add('light-mode'); - themeIcon.src = '../../images/light.svg'; // Affiche l'icône pour basculer vers le mode sombre - favicon.href = '../../images/iconeClaire.ico'; // Favicon pour le mode clair - } else { - document.body.classList.add('dark-mode'); - themeIcon.src = '../../images/dark.svg'; // Affiche l'icône pour basculer vers le mode clair - favicon.href = '../../images/iconeSombre.ico'; // Favicon pour le mode sombre - } - } else { - console.error("Élément(s) manquant(s) : icône du thème ou favicon."); - } -}); - -// Fonction pour basculer entre les thèmes -function toggleTheme() { - const body = document.body; - const themeIcon = document.getElementById('theme-icon'); - const favicon = document.getElementById('favicon'); // Sélectionne la favicon - - if (themeIcon && favicon) { - if (body.classList.contains('dark-mode')) { - // Si on est en mode sombre, on passe en mode clair - body.classList.remove('dark-mode'); - body.classList.add('light-mode'); - themeIcon.src = '../../images/light.svg'; // Change vers le logo sombre - favicon.href = '../../images/iconeClaire.ico'; // Favicon pour le mode clair - localStorage.setItem('theme', 'light'); // Enregistre le thème clair dans localStorage - } else { - // Sinon, on repasse en mode sombre - body.classList.remove('light-mode'); - body.classList.add('dark-mode'); - themeIcon.src = '../../images/dark.svg'; // Change vers le logo clair - favicon.href = '../../images/iconeSombre.ico'; // Favicon pour le mode sombre - localStorage.setItem('theme', 'dark'); // Enregistre le thème sombre dans localStorage - } - } else { - console.error("Impossible de trouver l'icône ou le favicon."); - } -} diff --git a/public/script/truncateQuotes.js b/public/script/truncateQuotes.js deleted file mode 100644 index d1d38b4..0000000 --- a/public/script/truncateQuotes.js +++ /dev/null @@ -1,11 +0,0 @@ -document.addEventListener("DOMContentLoaded", function() { - const quoteElements = document.querySelectorAll('.citation-container .quote'); - - quoteElements.forEach(quote => { - let maxLength = 135; // Nombre max de caractères avant la coupure - if (quote.textContent.length > maxLength) { - let displayedText = quote.textContent.slice(0, maxLength) + '...\"'; - quote.textContent = displayedText; - } - }); -}); diff --git a/public/script/user.php b/public/script/user.php deleted file mode 100644 index a46562c..0000000 --- a/public/script/user.php +++ /dev/null @@ -1,96 +0,0 @@ -id = $id; - $this->username = $pseudo; - $this->passwd = $password; - $this->hidenPasswd = hidenPassWd($password); - $this->img = $image; - $this->email = $mail; - } - - public function updateUsername(string $newUsername){ - if(isset($newUsername)){ - $this->username = $newUsername; - } - } - - public function updateEmail(string $newEmail) { - if(isset($newEmail)){ - $this->email = $newEmail; - } - } - - - public function modifyImage(string $image){ - if(isset($image)){ - $u->img = $image; - } - } -} - -//include("userGateway.php"); -//$result = donneeUser('U003'); - - -// ============================================ En attente du Model ============================================ -include("Connection.php"); -$dsn = "pgsql:host=londres;dbname=dblebeaulato"; -$username = "lebeaulato"; -$password = "MaSQL:2004!"; - -$con = new Connection($dsn,$username,$password); - -$query = 'SELECT * FROM Users WHERE id_user=:idUser'; -$con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR))); -$result = $con->getResults(); - -$u = new User($result[0]['id_user'],$result[0]['username'], $result[0]['pssword'], '../../images/imageProfil.png', $result[0]['email']); /*Test*/ - - -//UPDATE username User -$query = 'UPDATE Users SET username=:newUsername WHERE id_user=:idUser'; -$con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR), ':newUsername'=> array('Hello', PDO::PARAM_STR))); -$queryReponse = 'SELECT username FROM Users WHERE id_user=:idUser'; - -$con->executeQuery($queryReponse, array(':idUser'=>array('U003', PDO::PARAM_STR))); -$result = $con->getResults(); -$u->username = $result[0]['username']; /*Test*/ - - -//UPDATE email User -$query = 'UPDATE Users SET email=:newEmail WHERE id_user=:idUser'; -$con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR), ':newEmail'=> array('Sinper42Gamer@gmail.com', PDO::PARAM_STR))); -$queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser'; - -$con->executeQuery($queryReponse, array(':idUser'=>array('U003', PDO::PARAM_STR))); -$result = $con->getResults(); -$u->email = $result[0]['email']; /*Test*/ - -//UPDATE passwd User -$query = 'UPDATE Users SET pssword=:newPassWd WHERE id_user=:idUser'; -$con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR), ':newPassWd'=> array('TestMotDePasssse', PDO::PARAM_STR))); - -$queryReponse = 'SELECT pssword FROM Users WHERE id_user=:idUser'; -$con->executeQuery($queryReponse, array(':idUser'=>array('U003', PDO::PARAM_STR))); -$result = $con->getResults(); -$u->passwd = $result[0]['pssword']; /*Test*/ - -// ================================================================================================================ - -function hidenPassWd(string $passwd){ - if(strlen($passwd) >= 16) return str_repeat('*', 16); - return str_repeat('*', strlen($passwd)); -} - - - - -?> \ No newline at end of file diff --git a/public/script/userGateway.php b/public/script/userGateway.php deleted file mode 100644 index f392d24..0000000 --- a/public/script/userGateway.php +++ /dev/null @@ -1,105 +0,0 @@ -con=$con; - } - - public function insert(string $username,string $email,string $passwd):int{ - - // récupération id - $query='SELECT id_user FROM Users WHERE id_user >= ALL (SELECT id_user FROM Users);'; - $this->con->executeQuery($query); - $result=$this->con->getResults(); - foreach($result as $row){ - $id=$row['id_user'] + 1; - } - // insertion user - $query='INSERT INTO Users VALUES (:id,:username,:email,:passwd,CURRENT_DATE,false);'; - $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT),':username' => array($u->username,PDO::PARAM_STR),':email' => array($u->email,PDO::PARAM_STR),':passwd' => array($u->passwd,PDO::PARAM_STR))); - return $id; - } - - public function delete(int $id){ - - // supretion user - $query='DELETE FROM Users WHERE id_user = :id;'; - $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT))); - } - - public function getFavorite(int $id):array{ - - //obtention favoris d'un user - $query='SELECT * FROM Quote WHERE id_quote IN (SELECT id_quote IN Favorite f JOIN User u ON u.id_user = f.user WHERE id_user = :id);'; - $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT))); - $result=$this->con->getResults(); - return $result; - } - - public function donneeUser(string $id):array{ - $query = 'SELECT * FROM Users WHERE id_user=:idUser'; - $this->con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR))); - $result = $this->con->getResults(); - return $result; - } - - // ===================== UPDATE FUNCTION ===================== - - public function updateUsername(string $id, string $newUsername):array{ - //Update le nom du user passé en paramètre - $queryUpdate = 'UPDATE Users SET username=:newUsername WHERE id_user=:idUser'; - $this->con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newUsername'=> array($newUsername, PDO::PARAM_STR))); - - //Renvoie le nouveau nom du user - $queryReponse = 'SELECT username FROM Users WHERE id_user=:idUser'; - $this->con->executeQuery($queryReponse, array($id=>array($newUsername, PDO::PARAM_STR))); - return $result; - } - - public function updateEmail(string $id, string $newEmail):array{ - //Update le email du user passé en paramètre - $queryUpdate = 'UPDATE Users SET email=:newEmail WHERE id_user=:idUser'; - $this->con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newEmail'=> array($newEmail, PDO::PARAM_STR))); - - //Renvoie le nouveau email du user - $queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser'; - $con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR))); - $result = $con->getResults(); - return $result; - } - - public function updateImg(string $id, string $newImg):array{ - //Update l'image du user passé en paramètre - $query = 'UPDATE Users SET img=:newImg WHERE id_user=:idUser'; - $this->con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newImg'=> array($newImg, PDO::PARAM_STR))); - - //Renvoie la nouvelle image du user - $queryReponse = 'SELECT img FROM Users WHERE id_user=:idUser'; - $con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR))); - $result = $this->con->getResults(); - return $result; - } - - public function updatePasswd(string $id, string $newPassWd):array{ - //Update le passwd du user passé en paramètre - $query = 'UPDATE Users SET pssword=:newPassWd WHERE id_user=:idUser'; - $this->con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newPassWd'=> array($newPassWd, PDO::PARAM_STR))); - - //Renvoie le nouveau passwd du user - $queryReponse = 'SELECT pssword FROM Users WHERE id_user=:idUser'; - $con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR))); - $result = $this->con->getResults(); - return $result; - } - -} - - - -//$uG = new UserGateway(new Connection("pgsql:host=londres;dbname=dbkekentin","kekentin","")); -$uG = new UserGateway(new Connection("pgsql:host=londres;dbname=dblebeaulato","lebeaulato","")); -$uG->delete(2); -?> \ No newline at end of file diff --git a/public/styles/style.css b/public/styles/style.css deleted file mode 100644 index e445ec4..0000000 --- a/public/styles/style.css +++ /dev/null @@ -1,145 +0,0 @@ -/* header.css */ - -/* Styles généraux */ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -body { - background-color: #120b1d; - font-family: "Lemon", serif; - margin-top: 200px; -} - -/* Header */ -.header { - display: flex; - position: fixed; - background-color: #000000; - right: 0; - top: 0; - width: 100%; - text-align: center; - padding: 20px; -} - -.nav { - display: flex; - align-items: center; - vertical-align: center; - gap: 30px; - width: 40%; -} - -.logo { - display: flex; - align-items: center; - justify-content: center; - width: 20%; -} - -.user { - display: flex; - flex-direction: row; - justify-content: flex-end; - align-items: center; - vertical-align: center; - gap: 30px; - width: 40%; -} - -/* Mode sombre */ -body.dark-mode { - background-color: #120B1D; - color: #ffffff; -} - -body.dark-mode .header { - background-color: #000; -} - -body.dark-mode .header img { - filter: invert(0%); -} - -body.dark-mode .nav img:hover { - filter: invert(59%) sepia(96%) saturate(6733%) hue-rotate(275deg) brightness(112%) contrast(122%); -} - -/* Mode clair */ -body.light-mode { - background-color: #ffffff; - color: #000000; -} - -body.light-mode .header { - background-color: #F7F7EB; -} - -body.light-mode .header img { - filter: invert(100%); -} - -body.light-mode .nav img:hover { - filter: invert(22%) sepia(6%) saturate(2269%) hue-rotate(193deg) brightness(98%) contrast(106%); -} - -/* Media queries for responsiveness */ - -/* For tablets and small devices */ -@media (max-width: 768px) { - .header { - flex-direction: column; - text-align: center; - } - - .nav, .logo, .user { - width: 100%; - margin-bottom: 10px; - } -} - -/* For mobile phones */ -@media (max-width: 480px) { - body { - margin-top: 100px; - } - - .nav img, .logo img { - width: 50px; - height: auto; - } - - .container { - padding: 10px; - } - - form { - width: 100%; - } - - form input { - width: 100%; - padding: 10px; - margin-bottom: 10px; - } -} - -/* Banner images should be responsive */ -.header img { - max-width: 100%; - height: auto; -} - -/* Media queries for different screen sizes */ -@media (max-width: 768px) { - .header { - flex-direction: column; - } - .header img { - width: 80px; - height: auto; - } -} diff --git a/public/styles/styleAccueil.css b/public/styles/styleAccueil.css deleted file mode 100644 index 7afb3e1..0000000 --- a/public/styles/styleAccueil.css +++ /dev/null @@ -1,135 +0,0 @@ -@import url('style.css'); /* Import de style.css */ - -/* Conteneur général pour les citations */ -.citations-section { - display: flex; - flex-direction: column; - gap: 20px; - padding: 20px 0; - align-items: center; - width: 100%; - margin: 0 0; -} - -/* Conteneur pour les suggestions en deux colonnes */ -.suggestions-container { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - width: 90%; - margin: 0 auto; -} - -/* Citations */ -.citation-container { - background: linear-gradient(to right, #4a148c, #7b1fa2); - border-radius: 12px; - color: white; - display: flex; - align-items: flex-start; - width: 49%; /* Chaque citation occupe 45% de la largeur pour laisser 5% d'espace */ - box-sizing: border-box; - padding: 0; - height: 150px; - overflow: hidden; - margin-bottom: 20px; - word-wrap: break-word; /* Permet de couper les mots trop longs */ - word-break: break-word; -} - -/* Fixe la taille pour s'assurer que toutes les citations restent cohérentes */ -.citation-container .text-content { - flex-grow: 1; - display: flex; - flex-direction: column; - justify-content: center; - height: 150px; -} - -/* Citation du jour - toujours en pleine largeur */ -.citation-du-jour { - width: 90%; /* Prend toute la largeur */ - background: linear-gradient(to right, #ff5722, #ff9800); /* Dégradé spécial pour la citation du jour */ - padding: 0; - overflow: hidden; - margin-bottom: 20px; - height: 150px; -} - -.suggestion { - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - padding: 0; - overflow: hidden; -} - -.citation-image { - width: 150px; - height: 100%; - object-fit: cover; - margin: 0; - border-radius: 0; -} - -.text-content { - flex: 1; - padding: 10px; - display: flex; - flex-direction: column; - justify-content: center; /* Centre verticalement le texte */ - word-wrap: break-word; /* Permet de couper les mots trop longs */ - word-break: break-word; -} - -.quote { - font-size: 1.2em; - margin-bottom: 10px; - font-style: italic; -} - - - -.movie, .character, .year { - margin-bottom: 5px; -} - -/* Mode sombre */ -body.dark-mode .suggestion { - background: linear-gradient(to right, #4a148c, #7b1fa2); - color:white; -} - -/* Mode clair */ -body.light-mode .suggestion { - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - color:black; /* Changer le texte en noir pour le mode clair */ -} - -body.light-mode .quote, -body.light-mode .movie, -body.light-mode .character, -body.light-mode .year { - color: black; /* Forcer le texte en noir pour le mode clair */ -} - -/* Responsive design */ -@media (max-width: 768px) { - .suggestions-container { - flex-direction: column; - width: 100%; - } - - .citation-container { - width: 100%; /* Chaque citation prend toute la largeur sur mobile */ - max-width: 100%; - height: 100px; /* Supprimer la hauteur fixe sur mobile */ - } - - .citation-image { - width: 100px; - height: 100px; - } - - .quote { - font-size: 1em; - } -} diff --git a/public/styles/styleLogin.css b/public/styles/styleLogin.css deleted file mode 100644 index c5fd77d..0000000 --- a/public/styles/styleLogin.css +++ /dev/null @@ -1,130 +0,0 @@ -@import url(./style.css); - -/* ====== DARK MODE ====== */ -body.dark-mode h1{ - color : white; - font-family: "Lemon", serif; - text-align: center; - font-size: 32px; - margin-top: 10%; -} - -body.dark-mode p{ - margin-top: 6%; - margin-bottom: 2%; - color : white; - font-size: 20px; - font-family: "Lemon", serif; -} - -body.dark-mode .login{ - background-color: black; - width: 30%; - margin-left: 35%; - margin-top: 3%; - border-radius: 25px; - border: 2px solid transparent; - padding: 2%; -} - -body.dark-mode .createAccount{ - margin-top: 5%; - margin-bottom: 5%; - font-size: 13px; - text-align: center; - padding-top: 1%; - color: white; - border: 1px solid transparent; - font-family: "Lemon", serif; -} - -body.dark-mode .buttonSudmite{ - background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%); - font-family: "Lemon", serif; - border: none; - color: white; - padding: 2%; - border-radius: 25px; - width: 75%; - font-size: 20px; -} - - -body.dark-mode .connexion{ - width:90%; - height: 40px; - padding-left: 3%; - margin-left: 1%; - margin-top: -1%; - border-radius: 25px; - border: none; - font-size: 15px; -} - -/* ====== LIGHT MODE ====== */ -body.light-mode h1{ - color : black; - font-family: "Lemon", serif; - text-align: center; - font-size: 32px; - margin-top: 10%; -} - -body.light-mode p{ - margin-top: 6%; - margin-bottom: 2%; - color : black; - font-size: 20px; - font-family: "Lemon", serif; -} - -body.light-mode .login{ - background-color: white; - width: 30%; - margin-left: 35%; - margin-top: 3%; - border-radius: 25px; - border: 2px solid black; - padding: 2%; -} - -body.light-mode .createAccount{ - margin-top: 5%; - margin-bottom: 5%; - font-size: 13px; - text-align: center; - padding-top: 1%; - color: black; - font-family: "Lemon", serif; -} - -body.light-mode .buttonSudmite{ - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - font-family: "Lemon", serif; - border: none; - color: black; - padding: 2%; - border-radius: 25px; - width: 75%; - font-size: 20px; -} - -body.light-mode .connexion{ - width:90%; - height: 40px; - padding-left: 3%; - margin-left: 1%; - margin-top: -1%; - border-radius: 25px; - border: 1px solid black; - background-color: #fff1f1; - font-size: 15px; -} - - -/* ====== OTHER ====== */ -.buttonSudmiteDiv{ - text-align: center; -} - - diff --git a/public/styles/styleProfil.css b/public/styles/styleProfil.css deleted file mode 100644 index de2ea5d..0000000 --- a/public/styles/styleProfil.css +++ /dev/null @@ -1,226 +0,0 @@ -@import url(./style.css); - -/* ====== DARK MODE ====== */ -body.dark-mode h1{ - color : white; - font-family: "Lemon", serif; - text-align: center; - font-size: 35px; - margin-top: 10%; -} - -body.dark-mode p{ - margin-top: 6%; - margin-bottom: 2%; - color : white; - font-size: 20px; - font-family: "Lemon", serif; -} - - -body.dark-mode .buttonSudmite{ - background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%); - font-family: "Lemon", serif; - border: none; - color: white; - padding: 5%; - border-radius: 25px; - width: 75%; - font-size: 20px; -} - -body.dark-mode .createQuote{ - margin-top: 5%; - margin-bottom: 5%; - font-size: 15px; - text-align: center; - padding-top: 1%; - color: white; - font-family: "Lemon", serif; -} - -body.dark-mode .login{ - background-color: black; - width: 30%; - margin-left: 35%; - margin-top: 9%; - border-radius: 25px; - padding-top: 1px; - padding-bottom: 1%; - border: 2px solid transparent; -} - -body.dark-mode .imgModify{ - width: 3%; - margin-left: 5%; - margin-top: 5%; - filter: invert(100%) brightness(1000%) contrast(1000%); -} - - -body.dark-mode .infoProfil > input { - width:90%; - height: 40px; - padding-left: 3%; - margin-left: 1%; - margin-top: -1%; - border-radius: 25px; - border: none; - font-size: 15px; - font-family: "Lemon", serif; - -} - - -body.dark-mode .inputPasswd{ - font-family: "Lemon", serif; - margin-top: 40%; - color: black; -} - -body.dark-mode .saveButtonPasswd { - background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%); - font-family: "Lemon", serif; - border: none; - color: white; - padding: 1%; - border-radius: 25px; - width: 55%; - font-size: 15px; - margin-top: 5%; -} - - - -/* ====== LIGHT MODE ====== */ -body.light-mode h1{ - color : black; - font-family: "Lemon", serif; - text-align: center; - font-size: 35px; - margin-top: 10%; -} -body.light-mode p{ - margin-top: 6%; - margin-bottom: 2%; - color : black; - font-size: 20px; - font-family: "Lemon", serif; -} - - -body.light-mode .buttonSudmite{ - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - font-family: "Lemon", serif; - border: none; - color: black; - padding: 5%; - border-radius: 25px; - width: 75%; - font-size: 20px; -} - - - -body.light-mode .createQuote{ - margin-top: 5%; - margin-bottom: 5%; - font-size: 15px; - text-align: center; - padding-top: 1%; - color: black; - font-family: "Lemon", serif; -} - -body.light-mode .login{ - background-color: white; - width: 30%; - margin-left: 35%; - margin-top: 9%; - border-radius: 25px; - padding-top: 1px; - padding-bottom: 1%; - border: 2px solid black; -} - -body.light-mode .imgModify{ - width: 3%; - margin-left: 5%; - margin-top: 5%; -} - - -body.light-mode .infoProfil > input { - width:90%; - height: 40px; - padding-left: 3%; - margin-left: 1%; - margin-top: -1%; - border-radius: 25px; - border: 1px solid black; - background-color: #fff1f1; - font-size: 15px; - font-family: "Lemon", serif; - color : black; -} - - -body.light-mode .inputPasswd{ - font-family: "Lemon", serif; - margin-top: 40%; - color: black; -} - -body.light-mode .saveButtonPasswd { - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - font-family: "Lemon", serif; - border: none; - color: black; - padding: 1%; - border-radius: 25px; - width: 55%; - font-size: 15px; - margin-top: 5%; -} - - -/* ====== OTHER ====== */ -.buttonSudmiteDiv{ - text-align: center; -} - -.changeValue{ - color: red; -} - - -.imageProfil{ - width: 25%; - border-radius: 25px; - display:block; - margin-left: 38%; - margin-top: 5%; -} - -.infoProfil{ - margin-left: 10%; - text-align: center; - font-size: 120%; -} - - -.languageDiv{ - margin-left: 25%; -} -.languageTitle{ - text-align: left; - font-size: 100%; -} -.languageImage{ - width: 300px; - height: 40px; - margin-left: 25%; - display:block; -} - - diff --git a/public/styles/styleQuiz.css b/public/styles/styleQuiz.css deleted file mode 100644 index a457836..0000000 --- a/public/styles/styleQuiz.css +++ /dev/null @@ -1,154 +0,0 @@ -@import url(./style.css); - -@import url('https://fonts.googleapis.com/css2?family=Lemon&display=swap'); - -body, html { - height: 100%; - overflow: hidden; -} - -/* ====== DARK MODE ====== */ -body.dark-mode h1, body.dark-mode h2, body.dark-mode p { - color: white; - font-family: "Lemon", serif; - text-align: center; -} - -body.dark-mode .quiz { - background-color: black; - height: 60%; - width: 80%; - margin: 3% auto; - padding: 2%; - border-radius: 25px; - border: 2px solid transparent; -} - -body.dark-mode .answers { - display: flex; - flex-wrap: wrap; - justify-content: space-evenly; - - row-gap: 80px; -} - -body.dark-mode .answer { - background-color: #1b0048; - color: white; - border: none; - border-radius: 25px; - width: 35%; - padding: 35px; - font-size: 30px; - text-align: center; - cursor: pointer; -} - -body.dark-mode .answer:hover { - background-color: #6100ff; -} - -body.dark-mode .submit-button { - text-align: center; - margin-top: 80px; - -} - -body.dark-mode .buttonSudmite { - background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%); - font-family: "Lemon", serif; - border: none; - color: white; - padding: 10px 20px; - border-radius: 25px; - font-size: 30px; - cursor: pointer; -} - -/* ====== LIGHT MODE ====== */ -body.light-mode h1, body.light-mode h2, body.light-mode p { - color: black; - font-family: "Lemon", serif; - text-align: center; -} - -body.light-mode .quiz { - background-color: white; - width: 50%; - height: 90%; - margin: 3% auto; - padding: 2%; - border-radius: 25px; - border: 2px solid black; -} - -body.light-mode .answers { - display: flex; - flex-wrap: wrap; - justify-content: space-around; - gap: 1000px; - height: 90%; -} - -body.light-mode .answer { - background-color: #fff1f1; - color: black; - border: 1px solid black; - border-radius: 25px; - width: 45%; - padding: 10px; - font-size: 18px; - text-align: center; - cursor: pointer; -} - -body.light-mode .answer:hover { - background-color: #c7f6c4; -} - -body.light-mode .submit-button { - text-align: center; - margin-top: 20px; -} - -body.light-mode .buttonSudmite { - background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%); - font-family: "Lemon", serif; - border: none; - color: black; - padding: 10px 20px; - border-radius: 25px; - font-size: 20px; - cursor: pointer; -} - -/* ====== OTHER ====== */ -.container { - width: 100%; - height: 100px; - background-color: transparent; - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 50px; -} - -.header { - display: flex; - width: 100%; - justify-content: space-between; - align-items: center; -} - -.nav img { - margin-right: 10px; -} - -.logo img { - display: block; - margin: 0 auto; -} - -.user img { - margin-left: 10px; -} \ No newline at end of file diff --git a/public/styles/styleQuote.css b/public/styles/styleQuote.css deleted file mode 100644 index e0e9625..0000000 --- a/public/styles/styleQuote.css +++ /dev/null @@ -1 +0,0 @@ -@import url(./style.css); \ No newline at end of file diff --git a/public/styles/styleSignin.css b/public/styles/styleSignin.css deleted file mode 100644 index e0a7780..0000000 --- a/public/styles/styleSignin.css +++ /dev/null @@ -1,120 +0,0 @@ -@import url(./style.css); - -h1{ - margin-top: 10%; - text-align: center; -} - -.signin{ - border-radius: 25px; - display: grid; - grid-template-columns: 2fr 1fr; - grid-template-rows: repeat(5, 1fr); - width : 30%; - margin-left: 35%; - margin-top: 3%; - padding : 2%; -} - -p{ - font-size: 20px; - margin-top: 7%; - margin-bottom: 2%; - font-weight: bold; -} - -.DivId{ - grid-area: 1 / 1 / 2 / 2; -} - -.DivEmail{ - grid-area: 2 / 1 / 3 / 2; -} - -.mdp{ - grid-area: 3 / 1 / 4 / 3; -} - -.confmdp{ - grid-area: 4 / 1 / 5 / 3; -} - -.imgprof{ - grid-area: 1 / 2 / 3 / 3; -} - -.confirmer{ - grid-area: 5 / 1 / 6 / 3; - align-self: center; - text-align: center; -} - -.champ{ - width: 90%; - height : 35%; - border-radius: 25px; - margin-left: 1%; - padding-left: 3%; - margin-top: -1%; - font-size: 15px; -} - -.btn{ - margin-top: 10%; - width:75%; - font-size: 20px; - padding: 2%; - border-radius: 25px; - border: none; - font-family: "Lemon", serif; -} - -/*Dark mode*/ - -body.dark-mode .signin{ - background-color: #000000; - border: 2px solid transparent; -} - -body.dark-mode .h1{ - color : white; -} - -body.dark-mode .p{ - color : white; -} - -body.dark-mode .btn{ - background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%); - color : white; -} - -body.dark-mode .champ{ - background-color: #ffffff; - border: 2px solid #ffffff; -} - -/*Light*/ - -body.light-mode .signin{ - background-color: #ffffff; - border: 2px solid #000000; -} - -body.light-mode .h1{ - color : #000000; -} - -body.light-mode .p{ - color : #000000; -} - -body.light-mode .btn{ - background: linear-gradient(90deg, #caffde 0%, #b7c8ff 100%); - color : #000000; -} - -body.light-mode .champ{ - background-color: #fff1f1; - border: 1px solid #000000; -} \ No newline at end of file diff --git a/python/webscrappingbdd.py b/python/webscrappingbdd.py deleted file mode 100755 index 84360e7..0000000 --- a/python/webscrappingbdd.py +++ /dev/null @@ -1,231 +0,0 @@ -import requests -from bs4 import BeautifulSoup -import os -import time - -# Liste de films associée à la liste de personnages fournie plus tôt -films = [ - "Harry Potter", "Star Wars", "Le Seigneur des Anneaux", "Batman", "Spider-Man", - "Iron Man", "Les Avengers", "Doctor Strange", "Deadpool", "X-Men", - "Black Panther", "Aquaman", "La Ligue des Justiciers", "Shazam", "Les Gardiens de la Galaxie", - "Le Parrain", "Le Chevalier Noir", "Inception", "Fight Club", "Pulp Fiction", - "Forrest Gump", "Matrix", "Jurassic Park", "Gladiator", "Le Silence des Agneaux", - "La Liste de Schindler", "Braveheart", "La Ligne Verte", "Il faut sauver le soldat Ryan", "Thor", - "Captain America", "Logan", "Joker", "Wonder Woman", "L'Homme d'Acier", - "Hunger Games", "Divergente", "Les Animaux Fantastiques", "Le Hobbit", - "Pirates des Caraïbes", "Toy Story", "La Reine des Neiges", "Le Roi Lion", "La Belle et la Bête", - "Aladdin", "Mulan", "Cendrillon", "La Belle au bois dormant", "Blanche-Neige", - "Raiponce", "Vaiana", "Zootopie", "Vice-versa", "Le Monde de Nemo", - "Les Indestructibles", "Ratatouille", "WALL-E", "Là-haut", "Coco", - "Monstres & Cie", "Cars", "Madagascar", "Shrek", "Kung Fu Panda", - "Dragons", "L'Âge de glace", "Les Croods" -] - -# Petite base de données locale avec les années des films -film_years = { - "Harry Potter": "2001", - "Star Wars": "1977", - "Le Seigneur des Anneaux": "2001", - "Batman": "1989", - "Spider-Man": "2002", - "Iron Man": "2008", - "Les Avengers": "2012", - "Doctor Strange": "2016", - "Deadpool": "2016", - "X-Men": "2000", - "Black Panther": "2018", - "Aquaman": "2018", - "La Ligue des Justiciers": "2017", - "Shazam": "2019", - "Les Gardiens de la Galaxie": "2014", - "Le Parrain": "1972", - "Le Chevalier Noir": "2008", - "Inception": "2010", - "Fight Club": "1999", - "Pulp Fiction": "1994", - "Forrest Gump": "1994", - "Matrix": "1999", - "Jurassic Park": "1993", - "Gladiator": "2000", - "Le Silence des Agneaux": "1991", - "La Liste de Schindler": "1993", - "Braveheart": "1995", - "La Ligne Verte": "1999", - "Il faut sauver le soldat Ryan": "1998", - "Thor": "2011", - "Captain America": "2011", - "Logan": "2017", - "Joker": "2019", - "Wonder Woman": "2017", - "L'Homme d'Acier": "2013", - "Hunger Games": "2012", - "Divergente": "2014", - "Les Animaux Fantastiques": "2016", - "Le Hobbit": "2012", - "Pirates des Caraïbes": "2003", - "Toy Story": "1995", - "La Reine des Neiges": "2013", - "Le Roi Lion": "1994", - "La Belle et la Bête": "1991", - "Aladdin": "1992", - "Mulan": "1998", - "Cendrillon": "1950", - "La Belle au bois dormant": "1959", - "Blanche-Neige": "1937", - "Raiponce": "2010", - "Vaiana": "2016", - "Zootopie": "2016", - "Vice-versa": "2015", - "Le Monde de Nemo": "2003", - "Les Indestructibles": "2004", - "Ratatouille": "2007", - "WALL-E": "2008", - "Là-haut": "2009", - "Coco": "2017", - "Monstres & Cie": "2001", - "Cars": "2006", - "Madagascar": "2005", - "Shrek": "2001", - "Kung Fu Panda": "2008", - "Dragons": "2010", - "L'Âge de glace": "2002", - "Les Croods": "2013" -} - -# Fonction pour rechercher une image sur Bing -def search_image_bing(personnage, film): - url = f"https://www.bing.com/images/search?q={personnage.replace(' ', '+')}+{film.replace(' ', '+')}" - headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'} - - response = requests.get(url, headers=headers) - soup = BeautifulSoup(response.text, 'lxml') - - # Rechercher la première image - image = soup.find('img', {'class': 'mimg'}) - if image and 'src' in image.attrs: - return image['src'] - return None - -# Vérifier si une citation est en français -common_french_words = { - 'le', 'la', 'les', 'et', 'est', 'pour', 'que', 'qui', 'un', 'une', 'de', 'du', 'ce', 'cela', - 'dans', 'sur', 'par', 'avec', 'en', 'au', 'aux', 'des', 'ou', 'mais', 'si', 'ne', 'pas', - 'il', 'elle', 'ils', 'elles', 'nous', 'vous', 'tu', 'je', 'me', 'te', 'se', 'sont', 'été', - 'avoir', 'être', 'faire', 'dire', 'pouvoir', 'aller', 'venir', 'voir', 'vouloir', 'savoir', - 'bien', 'tout', 'mon', 'ton', 'son', 'notre', 'votre', 'leur', 'plus', 'aussi', 'comme', - 'faut', 'a', 'le', 'la', 'les' -} - -def is_french(citation_text): - words_in_citation = citation_text.lower().split() - french_word_count = sum(1 for word in words_in_citation if word in common_french_words) - - # On considère que c'est français si au moins 50% des mots sont reconnus comme français - return french_word_count / len(words_in_citation) >= 0.5 - -# Fonction pour obtenir l'année du film depuis la base de données locale ou via Google -def get_film_year(film_name): - if film_name in film_years: - return film_years[film_name] - return '0' # Retourner 0 si l'année est inconnue - -# Fonction pour scraper les citations d'un film -def scrape_citations(film_name): - url = "https://www.kaakook.fr/rechercher" - data = { - "extrfilm": film_name, # Nom du film - "extrcitation": "" # On laisse vide pour chercher toutes les citations du film - } - - # Faire la requête POST - response = requests.post(url, data=data) - if response.status_code != 200: - print(f"Erreur avec le film {film_name}. Status code: {response.status_code}") - return [] - - # Parser la réponse HTML - soup = BeautifulSoup(response.content, "html.parser") - citations = [] - - # Extraire les citations et autres informations - articles = soup.find_all('article') - for article in articles: - citation_text = article.find('a').get_text().strip().replace("\n", " ").replace(" ", " ") - - # Ignorer les citations contenant du HTML
(donc multi-lignes) - if "
" in str(article): - continue - - # Vérifier si la citation commence par un tiret (dialogue) - if citation_text.startswith('-'): - continue - - # Vérifier si la citation est en français - if not is_french(citation_text): - continue - - source = article.find('cite').get_text().strip() - - # Récupérer le personnage (ignorer si le personnage est inconnu) - footer_links = article.find('footer').find_all('a') - character = footer_links[1].get_text().strip() if len(footer_links) > 1 else 'Inconnu' - - # Si le personnage est inconnu, on ignore cette citation - if character == 'Inconnu': - continue - - # Récupérer l'image associée - img_tag = article.find('img') - image_url = img_tag['src'] if img_tag else 'images/default.jpg' - - - # Télécharger l'image si elle n'existe pas déjà - if image_url == 'images/default.jpg': - image_url = search_image_bing(character, film_name) - if image_url: - download_image(image_url, character) - - # Récupérer l'année via la base de données locale ou Google - year = get_film_year(film_name) - - # Stocker les résultats sous la forme "citation; source; character; year; image" - citations.append(f"\n{citation_text}; {source}; {character}; {year}; {image_url}") - - return citations - -# Fonction pour télécharger une image -def download_image(image_url, character_name): - image_name = f"{character_name.replace(' ', '_')}.jpg" - image_path = os.path.join("images", image_name) - - # Vérifier si le dossier "images" existe, sinon le créer - if not os.path.exists("images"): - os.makedirs("images") - - # Si l'image n'existe pas déjà, la télécharger - if not os.path.exists(image_path): - try: - img_data = requests.get(image_url).content - with open(image_path, 'wb') as handler: - handler.write(img_data) - print(f"Image téléchargée : {image_path}") - except Exception as e: - print(f"Erreur lors du téléchargement de l'image {image_url} : {e}") - -# Ecrire les résultats dans un fichier txt unique -def save_citations_to_file(citations): - with open("citation.txt", "a", encoding="utf-8") as file: - for citation in citations: - file.write(citation + "\n") - -# Itérer sur la liste des films et récupérer les citations -for film in films: - print(f"Recherche des citations pour le film : {film}") - citations = scrape_citations(film) - if citations: - save_citations_to_file(citations) - print(f"Ajouté {len(citations)} citation(s) pour {film}.") - else: - print(f"Aucune citation trouvée pour {film}.") - time.sleep(2) # Petite pause pour éviter d'envoyer trop de requêtes rapidement diff --git a/src/.DS_Store b/src/.DS_Store deleted file mode 100644 index 806d327..0000000 Binary files a/src/.DS_Store and /dev/null differ diff --git a/src/questionEntity.php b/src/questionEntity.php deleted file mode 100644 index 76648b8..0000000 --- a/src/questionEntity.php +++ /dev/null @@ -1,87 +0,0 @@ - id_question = $id_question; - $this -> question = $question; - $this -> answerA = $answerA; - $this -> answerB = $answerB; - $this -> answerC = $answerC; - $this -> answerD = $answerD; - $this -> cAnswer = $cAnswer; - } - - public function getIdQuestion() : int - { - return $this -> id_question; - } - - public function getQuestion() : string - { - return $this -> question; - } - - public function getAnswerA() : string - { - return $this -> answerA; - } - - public function getAnswerB() : string - { - return $this -> answerB; - } - - public function getAnswerC() : string - { - return $this -> answerC; - } - - public function getAnswerD() : string - { - return $this -> answerD; - } - - public function getCAnswer() : string - { - return $this -> cAnswer; - } - - public function setQuestion(string $new_question) : void - { - $this -> question = $new_question; - } - - public function setAnswerA(string $new_answera) : void - { - $this -> answerA = $new_answera; - } - - public function setAnswerB(string $new_answerb) : void - { - $this -> answerB = $new_answerb; - } - - public function setAnswerC(string $new_answerc) : void - { - $this -> answerC = $new_answerc; - } - - public function setAnswerD(string $new_answerd) : void - { - $this -> answerD = $new_answerd; - } - - public function setCAnswer(string $new_canswer) : void - { - $this -> cAnswer = $new_canswer; - } - } \ No newline at end of file diff --git a/src/questionGateway.php b/src/questionGateway.php deleted file mode 100644 index f94dbe2..0000000 --- a/src/questionGateway.php +++ /dev/null @@ -1,149 +0,0 @@ - co = $co; - } - - /** - * Inserts a new question into the database - * - * @param QuestionEntity $q The `Question` object to insert - * @return bool True if the question was successfully inserted, false otherwise - */ - public function create(QuestionEntity $q) : bool - { - $query = " - INSERT INTO Question - VALUES (:id_q, :question, :answerA, :answerB, :answerC, :answerD, :cAnswer) - "; - - return $this -> co -> executeQuery($query, [ - 'id_q' => array($q -> getIdQuestion(), PDO::PARAM_INT), - 'question' => array($q -> getQuestion(), PDO::PARAM_STR), - 'answerA' => array($q -> getAnswerA(), PDO::PARAM_STR), - 'answerB' => array($q -> getAnswerB(), PDO::PARAM_STR), - 'answerC' => array($q -> getAnswerC(), PDO::PARAM_STR), - 'answerD' => array($q -> getAnswerD(), PDO::PARAM_STR), - 'cAnswer' => array($q -> getAnswerC(), PDO::PARAM_STR) - ]); - } - - /** - * Retrieves a question from the database by its ID - * - * @param int $id The ID of the question to retrieve - * @return QuestionEntity|null The `Question` object if found, null otherwise - */ - public function findById(int $id) : ?QuestionEntity - { - $query = "SELECT * FROM Question WHERE id_question = :id_q"; - $this -> co -> executeQuery($query, ['id_q' => $id]); - $res = $this -> co -> getResults(); - - if ($res) - return new QuestionEntity( - $res['id_q'], - $res['question'], - $res['answerA'], - $res['answerB'], - $res['answerC'], - $res['answerD'], - $res['cAnswer'], - ); - return null; - } - - /** - * Updates the text of and an existing question in the database - * - * @param QuestionEntity $q The `Question` object with updated information - * @return bool True if the text of the question was successfully updated, false otherwise - */ - public function updateText(QuestionEntity $q) : bool - { - $query = " - UPDATE Question - SET question = :question - WHERE id_question = :id_q - "; - - return $this -> co -> executeQuery($query, [ - 'id_q' => array($q -> getIdQuestion(), PDO::PARAM_INT), - 'question' => array($q -> getQuestion(), PDO::PARAM_STR) - ]); - } - - /** - * Updates the answers of an existing question in the database - * - * @param QuestionEntity $q The `Question` object with updated information - * @return bool True if the answers of the question was successfully updated, false otherwise - */ - public function updateAnswers(QuestionEntity $q) : bool - { - $query = " - UPDATE Question - SET answerA = :answerA, answerB = :answerB, - answerC = :answerC, answerD = :answerD, cAnswer = :cAnswer - WHERE id_question = :id_q - "; - - return $this -> co -> executeQuery($query, [ - 'id_q' => array($q -> getIdQuestion(), PDO::PARAM_INT), - 'answerA' => array($q -> getAnswerA(), PDO::PARAM_STR), - 'answerB' => array($q -> getAnswerB(), PDO::PARAM_STR), - 'answerC' => array($q -> getAnswerC(), PDO::PARAM_STR), - 'answerD' => array($q -> getAnswerD(), PDO::PARAM_STR), - 'cAnswer' => array($q -> getAnswerC(), PDO::PARAM_STR) - ]); - } - - /** - * Deletes a question from the database by its ID - * - * @param int $id The ID of the question - * @return bool - */ - public function delete(int $id) : bool - { - $query = "DELETE FROM Question WHERE id_question = :id_q"; - - return $this -> co -> executeQuery($query, ['id_q' => $id]); - } - - /** - * Retrieves all quizzes from the database - * - * @return QuestionEntity[] An array of `Question` objects - */ - public function findAll() : array - { - $query = "SELECT * FROM Question"; - $this -> co -> executeQuery($query); - $res = $this -> co -> getResults(); - - $questions = []; - - foreach ($res as $q) - $questions[] = new QuestionEntity( - $q['id_question'], - $q['question'], - $q['answerA'], - $q['answerB'], - $q['answerC'], - $q['answerD'], - $q['cAnswer'] - ); - - return $questions; - } - -} \ No newline at end of file diff --git a/src/questionModel.php b/src/questionModel.php deleted file mode 100644 index cef27e1..0000000 --- a/src/questionModel.php +++ /dev/null @@ -1,63 +0,0 @@ - gateway = $gateway; - } - - public function createQuestion(int $id_question, string $question, string $answerA, string $answerB, string $answerC, string $answerD, string $cAnswer) : bool - { - $q = new QuestionEntity($id_question, $question, $answerA, $answerB, $answerC, $answerD, $cAnswer); - return $this -> gateway -> create($q); - } - - public function getQuestion(int $id_question) : ?QuestionEntity - { - return $this -> gateway -> findById($id_question); - } - - public function updateTextQuestion(int $id_question, string $question) : bool - { - $q = $this -> gateway -> findById($id_question); - - if ($q) - { - $q -> setQuestion($question); - return $this -> gateway -> updateText($q); - } - return false; - } - - public function updateAnswersQuestion(int $id_question, string $answerA, string $answerB, string $answerC, string $answerD, string $cAnswer) : bool - { - $q = $this -> gateway -> findById($id_question); - - if ($q) - { - $q -> setAnswerA($answerA); - $q -> setAnswerB($answerB); - $q -> setAnswerC($answerC); - $q -> setAnswerD($answerD); - $q -> setAnswerC($cAnswer); - return $this -> gateway -> updateAnswers($q); - } - - return false; - } - - public function deleteQuestion(int $id_question) : bool - { - return $this -> gateway -> delete($id_question); - } - - public function getAllQuestions() : array - { - return $this -> gateway -> findAll(); - } -} \ No newline at end of file diff --git a/src/quizEntity.php b/src/quizEntity.php deleted file mode 100644 index 170d868..0000000 --- a/src/quizEntity.php +++ /dev/null @@ -1,43 +0,0 @@ - id_quiz = $id_quiz; - $this -> level = $level; - $this -> timer = $timer; - } - - public function getIdQuiz(): int - { - return $this -> id_quiz; - } - - public function getLevel(): int - { - return $this -> level; - } - - public function getTimer(): int - { - return $this -> timer; - } - - public function setLevel(int $new_level): void - { - $this -> level = $new_level; - } - - public function setTimer(int $new_timer): void - { - $this -> timer = $new_timer; - } - -} \ No newline at end of file diff --git a/src/quizGateway.php b/src/quizGateway.php deleted file mode 100644 index 2238635..0000000 --- a/src/quizGateway.php +++ /dev/null @@ -1,100 +0,0 @@ - co = $co; - } - - public function create(QuizEntity $q) : bool - { - $query = " - INSERT INTO Quiz - VALUES (:id_quiz, :level, :timer) - "; - - return $this -> co -> executeQuery($query, [ - ':id_quiz' => array($q -> getIdQuiz(), PDO::PARAM_INT), - ':level' => array($q -> getLevel(), PDO::PARAM_INT), - ':timer' => array($q -> getTimer(), PDO::PARAM_INT) - ]); - } - - public function findQuizById(int $id) : ?QuizEntity - { - $query = "SELECT * FROM Quiz WHERE id_quiz = :id_q"; - - $this->co->executeQuery($query, [':id_q' => $id]); - - $res = $this->co->getResults(); - - if ($res) - return new QuizEntity( - $res['id_quiz'], - $res['level'], - $res['timer'] - ); - return null; - } - - public function updateLevel(QuizEntity $q) : bool - { - $query = " - UPDATE Quiz - SET level = :level - WHERE id_quiz = :id_q - "; - - return $this -> co -> executeQuery($query, [ - ':id_q' => array($q -> getIdQuiz(), PDO::PARAM_INT), - ':level' => array($q -> getLevel(), PDO::PARAM_INT), - ]); - } - - public function updateTimer(QuizEntity $q) : bool - { - $query = " - UPDATE Quiz - SET timer = :timer - WHERE id_quiz = :id_q - "; - - return $this -> co -> executeQuery($query, [ - ':id_q' => array($q -> getIdQuiz(), PDO::PARAM_INT), - ':timer' => array($q -> getTimer(), PDO::PARAM_INT), - ]); - } - - public function delete(int $id) : bool - { - $query = "DELETE FROM Quiz WHERE id_quiz = :id_q"; - - return $this -> co -> executeQuery($query, [':id_q' => $id]); - } - - public function findAll() : array - { - $query = "SELECT * FROM Quiz"; - - $this -> co -> executeQuery($query); - - $res = $this -> co -> getResults(); - - $quiz = []; - - foreach ($res as $q) - $quiz[] = new QuizEntity( - $q['id_quiz'], - $q['level'], - $q['timer'] - ); - - return $quiz; - } - -} \ No newline at end of file diff --git a/src/quizModel.php b/src/quizModel.php deleted file mode 100644 index 421724e..0000000 --- a/src/quizModel.php +++ /dev/null @@ -1,60 +0,0 @@ - gateway = $gateway; - } - - public function createQuiz(int $id_quiz, int $level, int $timer) : bool - { - $q = new QuizEntity($id_quiz, $level, $timer); - return $this -> gateway -> create($q); - } - - public function getQuiz(int $id_quiz) : ?QuizEntity - { - return $this -> gateway -> findQuizById($id_quiz); - } - - public function updateLevelQuiz(int $id_quiz, int $level) : bool - { - $q = $this -> gateway -> findQuizById($id_quiz); - - if ($q) - { - $q -> setLevel($level); - return $this -> gateway -> updateLevel($q); - } - return false; - } - - public function updateTimerQuiz(int $id_quiz, int $timer) : bool - { - $q = $this -> gateway -> findQuizById($id_quiz); - - if ($q) - { - $q -> setTimer($timer); - return $this -> gateway -> updateTimer($q); - } - return false; - } - - public function deleteQuiz(int $id_quiz) : bool - { - return $this -> gateway -> delete($id_quiz); - } - - public function getAllQuiz() : array - { - return $this -> gateway -> findAll(); - } - -} \ No newline at end of file diff --git a/src/submitQuestionAnswer.php b/src/submitQuestionAnswer.php deleted file mode 100644 index f9f4134..0000000 --- a/src/submitQuestionAnswer.php +++ /dev/null @@ -1,10 +0,0 @@ -"; - - // Afficher la citation du jour - if ($citationDuJour) { - $quote = htmlspecialchars(trim(substr($citationDuJour[1], 1))); // Retirer le symbole µ - $movie = htmlspecialchars(trim($citationDuJour[2])); - $character = htmlspecialchars(trim($citationDuJour[3])); - $year = htmlspecialchars(trim($citationDuJour[4])); - $imagePath = htmlspecialchars(trim($citationDuJour[5])); - - echo "

Citation du jour

"; - echo "
"; - echo "$movie"; - echo "
"; - echo "

\"$quote\"

"; - echo "

- $movie

"; - echo "

Personnage : $character

"; - echo "

Année : $year

"; - echo "
"; - echo "
"; - } else { - echo "

Aucune citation du jour n'a été trouvée.

"; - } - - // Filtrer les suggestions pour éviter de reprendre la citation du jour - $filteredSuggestions = array_filter($suggestions, function($suggestion) use ($citationDuJour) { - // Vérifie que les deux citations ne sont pas identiques - return isset($suggestion[0]) && trim($suggestion[0]) !== trim($citationDuJour[1]); - }); - - // Afficher les suggestions - if (!empty($filteredSuggestions)) { - echo "

Suggestions

"; - echo "
"; // Conteneur pour gérer les colonnes - foreach ($filteredSuggestions as $suggestion) { - // Vérifier si tous les éléments requis sont bien présents dans $suggestion - $quote = isset($suggestion[0]) ? htmlspecialchars(trim($suggestion[0])) : ''; - $movie = isset($suggestion[1]) ? htmlspecialchars(trim($suggestion[1])) : ''; - $character = isset($suggestion[2]) ? htmlspecialchars(trim($suggestion[2])) : 'Inconnu'; - $year = isset($suggestion[3]) ? htmlspecialchars(trim($suggestion[3])) : 'Inconnue'; - $imagePath = isset($suggestion[4]) ? htmlspecialchars(trim($suggestion[4])) : 'images/default.jpg'; - - echo "
"; - echo "$movie"; - echo "
"; - echo "

\"$quote\"

"; - echo "

- $movie

"; - echo "

- Personnage : $character

"; - echo "

- Année : $year

"; - echo "
"; - echo "
"; - } - echo "
"; // Fin du conteneur suggestions - } - - echo ""; // Fin de la section des citations - echo ""; // Clôture la structure HTML - } -} \ No newline at end of file diff --git a/views/HeaderView.php b/views/HeaderView.php deleted file mode 100644 index 3e6c766..0000000 --- a/views/HeaderView.php +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - Wiki Fantasy - - - - - - -
-
- - -
- user -
-
-
-