From e24fa933d8d1ea1b9cadec3da2dcb6c515f2c906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Di=C3=A9val=20Flavien?= Date: Sat, 25 May 2024 18:32:35 +0200 Subject: [PATCH] added support for user note --- backup.sql | 48 +++++++++++++++++++++++------------------ database.py | 3 +++ main.py | 2 +- operationOnDataBase.py | 26 +++++++++++++++++++++- server.py | 35 ++++++++++++++++++++++++++++++ template.sql | 8 ++++++- utils.py | 2 ++ www/css/index.css | 1 - www/html/livre.html | 13 +++++++++++ www/img/stars/star0.svg | 1 + www/js/livre.js | 37 +++++++++++++++++++++++++++++++ 11 files changed, 151 insertions(+), 25 deletions(-) create mode 100644 www/img/stars/star0.svg diff --git a/backup.sql b/backup.sql index 89a268f..c54f272 100644 --- a/backup.sql +++ b/backup.sql @@ -1,9 +1,9 @@ -- phpMyAdmin SQL Dump --- version 5.2.1deb2 +-- version 5.2.1deb3 -- https://www.phpmyadmin.net/ -- -- Hôte : localhost:3306 --- Généré le : ven. 19 avr. 2024 à 13:59 +-- Généré le : sam. 25 mai 2024 à 16:29 -- Version du serveur : 10.11.6-MariaDB-2 -- Version de PHP : 8.2.12 @@ -43,36 +43,36 @@ CREATE TABLE `Auteur` ( INSERT INTO `Auteur` (`ID`, `Nom`, `Prénom`, `Biographie`, `Date de naissance`, `Date de décès`, `Alias`) VALUES (1, 'Hugo', 'Victor', 'Victor Hugo, parfois surnommé l\'Homme océan ou, de manière posthume, l\'Homme siècle, est un poète, dramaturge, écrivain, romancier et dessinateur romantique français, né le 7 ventôse an X (26 février 1802) à Besançon et mort le 22 mai 1885 à Paris. Il est considéré comme l\'un des écrivains de la langue française et de la littérature mondiale les plus importants. Hugo est aussi une personnalité politique et un intellectuel engagé qui a un rôle idéologique majeur et occupe une place marquante dans l\'histoire des lettres françaises au xixe siècle.', '1802-02-26', '1885-05-22', NULL), -(2, 'Rowling', 'Joanne', 'Joanne Rowling [ d͡ʒoʊˈæn ˈroʊlɪŋ]a, plus connue sous les noms de plume J. K. Rowlingb et Robert Galbraith, est une romancière et scénariste britannique née le 31 juillet 1965 dans l’agglomération de Yate (Gloucestershire du Sud). Elle doit sa notoriété mondiale à la série Harry Potter, dont les romans traduits en près de quatre-vingts langues ont été vendus à plus de 500 millions d\'exemplaires dans le monde.', '1965-07-31', '0001-01-01', 'J. K. Rowling'), +(2, 'Rowling', 'Joanne', 'Joanne Rowling [ d͡ʒoʊˈæn ˈroʊlɪŋ]a, plus connue sous les noms de plume J. K. Rowlingb et Robert Galbraith, est une romancière et scénariste britannique née le 31 juillet 1965 dans l’agglomération de Yate (Gloucestershire du Sud). Elle doit sa notoriété mondiale à la série Harry Potter, dont les romans traduits en près de quatre-vingts langues ont été vendus à plus de 500 millions d\'exemplaires dans le monde.', '1965-07-31', '0000-00-00', 'J. K. Rowling'), (3, 'Tolkien', 'John Ronald Reuel', 'John Ronald Reuel Tolkien, plus connu sous la forme J. R. R. Tolkien est un écrivain, poète, philologue, essayiste et professeur d’université britannique né le 3 janvier 1892 à Bloemfontein (État libre d\'Orange) et mort le 2 septembre 1973 à Bournemouth (Royaume-Uni).\n\nSes deux romans les plus connus, Le Hobbit et Le Seigneur des anneaux, prennent place dans l\'univers de fiction de la Terre du Milieu dont il développe la géographie, les peuples, l\'histoire et les langues durant la majeure partie de sa vie.', '1892-02-03', '1973-09-02', 'J. R. R. Tolkien'), (4, 'Poquelin', 'Jean-Baptiste ', 'Jean-Baptiste Poquelin, dit Molière, baptisé le 15 janvier 1622 à l\'église Saint-Eustache de Paris et mort le soir du 17 février 1673 à son domicile de la rue de Richelieu, est le plus célèbre des comédiens et dramaturges de langue française.', '1673-01-15', '1673-01-17', 'Molière'), -(5, 'Carteron', 'Marine', 'Marine Carteron est une enseignante et une autrice pour la jeunesse.\n\nElle passe son enfance et son adolescence entre la Bretagne, la Sarthe, la Corse et les Antilles avant de faire des études d’histoire de l’Art et d’archéologie à l’Université de Tours. Enseignante de français, elle réside en Rhône-Alpes.', '1972-03-07', '0001-01-01', NULL), +(5, 'Carteron', 'Marine', 'Marine Carteron est une enseignante et une autrice pour la jeunesse.\n\nElle passe son enfance et son adolescence entre la Bretagne, la Sarthe, la Corse et les Antilles avant de faire des études d’histoire de l’Art et d’archéologie à l’Université de Tours. Enseignante de français, elle réside en Rhône-Alpes.', '1972-03-07', '0000-00-00', NULL), (6, 'Henri-Alban ', 'Fournier', 'Alain-Fournier, pseudonyme d\'Henri-Alban Fournier, né le 3 octobre 1886 à La Chapelle-d\'Angillon dans le Cher et mort au combat le 22 septembre 1914 (à 27 ans) à Saint-Remy-la-Calonne, est un écrivain français dont l\'œuvre la plus marquante, restée célèbre, est Le Grand Meaulnes.', '2024-04-01', '1914-09-22', 'Alain Fournier'), -(7, 'Riordan', 'Richard Russel', 'Richard Russell Rick Riordan Jr, né le 5 juin 1964 à San Antonio au Texas, est un écrivain américain. Il est notamment l\'auteur des séries Percy Jackson, Héros de l\'Olympe, Les Chroniques de Kane, Magnus Chase et les Dieux d\'Asgard et Les Travaux d\'Apollon. Il a également aidé à développer la série Les 39 Clés, publiée par Scholastic Corporation, série dont il a écrit le premier tome L\'Énigme des catacombes ainsi que le onzième, La Menace Vesper.', '1964-06-05', '0001-01-01', 'Rick Riordan'), -(8, 'Jean Claude', 'Mourlevat', 'Jean-Claude Mourlevat est un auteur français né à Ambert (Puy-de-Dôme) le 22 mars 1952. Il est particulièrement connu pour ses romans destinés à la jeunesse, pour lesquels il est multiprimé, notamment par le prix commémoratif Astrid-Lingren.\n\n', '1952-03-22', '0001-01-01', NULL), -(9, 'Muchamor', 'Robert', 'Robert Kilgore Muchamore, né à Londres le 26 décembre 1972, est un écrivain anglais, connu pour être l\'auteur de la série best-seller CHERUB, une série de livres d\'espionnage pour adolescents.\n\nRobert Kilgore Muchamore a d\'abord été détective privé, avant de se lancer à plein temps dans la littérature pour la jeunesse.', '1972-12-26', '0001-01-01', NULL), -(10, 'Antoine', 'Bello', 'Son œuvre la plus connue est une trilogie, qui narre l\'ascension d\'un jeune Islandais dans les rangs du CFR, une organisation secrète internationale qui falsifie la réalité et réécrit l\'Histoire. Le premier tome, Les Falsificateurs, est paru en 2007 ; le deuxième, Les Éclaireurs, en 2009 et le troisième, Les Producteurs, en 2015. Elle a pris une signification nouvelle avec le débat récent sur les fake news3. ', '1970-03-25', '0001-01-01', NULL), -(11, 'Morpurgo', 'Michael', 'Michael Morpurgo, né le 5 octobre 1943 à St Albans, en Angleterre, est un auteur britannique, notamment connu pour ses ouvrages de littérature d\'enfance et de jeunesse souvent liés à des événements historiques.', '1943-10-05', '0001-01-01', NULL), +(7, 'Riordan', 'Richard Russel', 'Richard Russell Rick Riordan Jr, né le 5 juin 1964 à San Antonio au Texas, est un écrivain américain. Il est notamment l\'auteur des séries Percy Jackson, Héros de l\'Olympe, Les Chroniques de Kane, Magnus Chase et les Dieux d\'Asgard et Les Travaux d\'Apollon. Il a également aidé à développer la série Les 39 Clés, publiée par Scholastic Corporation, série dont il a écrit le premier tome L\'Énigme des catacombes ainsi que le onzième, La Menace Vesper.', '1964-06-05', '0000-00-00', 'Rick Riordan'), +(8, 'Jean Claude', 'Mourlevat', 'Jean-Claude Mourlevat est un auteur français né à Ambert (Puy-de-Dôme) le 22 mars 1952. Il est particulièrement connu pour ses romans destinés à la jeunesse, pour lesquels il est multiprimé, notamment par le prix commémoratif Astrid-Lingren.\n\n', '1952-03-22', '0000-00-00', NULL), +(9, 'Muchamor', 'Robert', 'Robert Kilgore Muchamore, né à Londres le 26 décembre 1972, est un écrivain anglais, connu pour être l\'auteur de la série best-seller CHERUB, une série de livres d\'espionnage pour adolescents.\n\nRobert Kilgore Muchamore a d\'abord été détective privé, avant de se lancer à plein temps dans la littérature pour la jeunesse.', '1972-12-26', '0000-00-00', NULL), +(10, 'Antoine', 'Bello', 'Son œuvre la plus connue est une trilogie, qui narre l\'ascension d\'un jeune Islandais dans les rangs du CFR, une organisation secrète internationale qui falsifie la réalité et réécrit l\'Histoire. Le premier tome, Les Falsificateurs, est paru en 2007 ; le deuxième, Les Éclaireurs, en 2009 et le troisième, Les Producteurs, en 2015. Elle a pris une signification nouvelle avec le débat récent sur les fake news3. ', '1970-03-25', '0000-00-00', NULL), +(11, 'Morpurgo', 'Michael', 'Michael Morpurgo, né le 5 octobre 1943 à St Albans, en Angleterre, est un auteur britannique, notamment connu pour ses ouvrages de littérature d\'enfance et de jeunesse souvent liés à des événements historiques.', '1943-10-05', '0000-00-00', NULL), (12, 'Chedid', 'Andrée', 'Andrée Chedid (en arabe : أندريه شديد), née Andrée Saab2 (en arabe : أندريه صعب) le 20 mars 1920 au Caire (sultanat d\'Égypte) et morte le 6 février 2011 à Paris 15e (France), est une femme de lettres et poétesse franco-syro-libanaise3.\n\nElle écrit son premier roman en 1952 et écrit des nouvelles, des poèmes, des pièces de théâtre, des romans, et de la littérature jeunesse. Elle déclare son humanisme entre autres avec son livre Le Message, écrit en 2000, en écrivant sa colère envers la guerre et la violence, à travers deux amants séparés par des guerres. Les héroïnes de ses œuvres sont décidées, prêtes à tout pour atteindre leur objectif.', '1920-03-20', '2011-02-06', NULL), -(13, 'L\'Homme', 'Erik', 'Erik L\'Homme, né le 22 décembre 1967 à Grenoble, est un écrivain français qui a notamment écrit des ouvrages destinés à la jeunesse et des ouvrages de science-fiction et de fantasy.', '1967-12-22', '0001-01-01', NULL), +(13, 'L\'Homme', 'Erik', 'Erik L\'Homme, né le 22 décembre 1967 à Grenoble, est un écrivain français qui a notamment écrit des ouvrages destinés à la jeunesse et des ouvrages de science-fiction et de fantasy.', '1967-12-22', '0000-00-00', NULL), (14, 'Bottero', 'Pierre', 'Pierre Bottero, né le 13 février 19641 à Barcelonnette, dans les Basses-Alpes, et mort le 8 novembre 2009 à Aix-en-Provence2, est un écrivain français de littérature jeunesse, dont les œuvres principales appartiennent au genre de la fantasy.', '1964-02-13', '2009-11-08', NULL), -(15, 'Bordage', 'Pierre ', 'Pierre Bordage, né le 29 janvier 1955 à La Réorthe, en Vendée, est un auteur de science-fiction français. C\'est avec sa trilogie Les Guerriers du silence, publiée aux éditions de l\'Atalante et vendue à 50 000 exemplaires, qu\'il rencontre le succès. Ce space opera ainsi que le cycle de Wang sont salués par la critique littéraire comme des œuvres majeures du renouveau de la science-fiction française des années 1990, genre qui était alors dominé par les auteurs anglophones.', '1955-01-29', '0001-01-01', NULL), -(16, 'Robillard', 'Anne', 'Anne Robillard, née le 9 février 1955 à Longueuil au Québec, est une écrivaine québécoise de fantasy.\n\nElle est connue notamment pour Les Chevaliers d\'Émeraude, une saga se déroulant sur le continent d\'Enkidiev, un monde magique que les Chevaliers d\'Émeraude devront protéger.\n\nEn plus de cette saga, elle a aussi écrit de nombreux livres, tels que Qui est Terra Wilder ?, sorti en 2006, et sa suite, Capitaine Wilder, les séries A.N.G.E., Les Héritiers d\'Enkidiev et Les Ailes d\'Alexanne.', '1955-02-09', '0001-01-01', NULL), -(17, 'Paolini', 'Christopher', 'Christopher Paolini, né le 17 novembre 1983 à Los Angeles en Californie, est un écrivain américain de fantasy et de science-fiction. Il est connu pour sa série de fantasy à succès L\'Héritage.\nDès l\'âge de quinze ans, Christopher Paolini commence un premier roman de fantasy inspiré de Dragon Hatcher de Bruce Coville et du Cycle de Terremer d\' Ursula K. Le Guin. Eragon, premier tome de sa série L\'Héritage, est publié le 25 juin 2003, Christopher Paolini n\'est alors âgé que de dix-neuf ans. La seconde édition est expurgée de quelques longueurs. La traduction française paraît chez Bayard jeunesse le 21 octobre 2004. La trame de ce premier tome présente des similarités avec le scénario du Seigneur des anneaux.', '1968-11-17', '0001-01-01', NULL), -(18, 'Colfer', 'Eoin', 'Eoin Colfer (/ˈoʊ.ɪn/), né le 14 mai 1965 à Wexford, en Irlande, est un écrivain irlandais.\nEnseignant comme l\'étaient ses parents, Eoin Colfer vit avec sa femme Jackie et son fils dans sa ville natale, où sont également installés son père, sa mère et ses quatre frères. Tout jeune, il s\'essaie à l\'écriture et compose une pièce de théâtre pour sa classe, une histoire dans laquelle, comme il l\'explique, « tout le monde mourait à la fin, sauf moi ». Grand voyageur, il a travaillé en Arabie saoudite, en Tunisie et en Italie avant de revenir en Irlande. Eoin Colfer avait déjà publié plusieurs livres pour les moins de 10 ans et il était, même avant la publication des aventures d\'Artemis Fowl le célèbre voleur, un auteur reconnu dans son pays.', '1965-05-14', '0001-01-01', NULL), -(19, 'Hunter', 'Erin', 'Erin Hunter est le pseudonyme commun de trois romancières britanniques, Kate Cary, Cherith Baldry et Victoria Holmes, rejointes ensuite par l\'Américaine Tui Sutherland, l\'Israélienne Inbali Iserles et les Britanniques Gillian Philip et Rosie Best. Ces écrivaines se relaient pour écrire les livres des séries La Guerre des clans, La Quête des ours, Survivants, Bravelands, ainsi que Les Messagers du dragon. Elles ont inventé le nom Erin Hunter pour faciliter la recherche de leurs livres dans les librairies ou bibliothèques.', '1967-11-04', '0001-01-01', NULL), +(15, 'Bordage', 'Pierre ', 'Pierre Bordage, né le 29 janvier 1955 à La Réorthe, en Vendée, est un auteur de science-fiction français. C\'est avec sa trilogie Les Guerriers du silence, publiée aux éditions de l\'Atalante et vendue à 50 000 exemplaires, qu\'il rencontre le succès. Ce space opera ainsi que le cycle de Wang sont salués par la critique littéraire comme des œuvres majeures du renouveau de la science-fiction française des années 1990, genre qui était alors dominé par les auteurs anglophones.', '1955-01-29', '0000-00-00', NULL), +(16, 'Robillard', 'Anne', 'Anne Robillard, née le 9 février 1955 à Longueuil au Québec, est une écrivaine québécoise de fantasy.\n\nElle est connue notamment pour Les Chevaliers d\'Émeraude, une saga se déroulant sur le continent d\'Enkidiev, un monde magique que les Chevaliers d\'Émeraude devront protéger.\n\nEn plus de cette saga, elle a aussi écrit de nombreux livres, tels que Qui est Terra Wilder ?, sorti en 2006, et sa suite, Capitaine Wilder, les séries A.N.G.E., Les Héritiers d\'Enkidiev et Les Ailes d\'Alexanne.', '1955-02-09', '0000-00-00', NULL), +(17, 'Paolini', 'Christopher', 'Christopher Paolini, né le 17 novembre 1983 à Los Angeles en Californie, est un écrivain américain de fantasy et de science-fiction. Il est connu pour sa série de fantasy à succès L\'Héritage.\nDès l\'âge de quinze ans, Christopher Paolini commence un premier roman de fantasy inspiré de Dragon Hatcher de Bruce Coville et du Cycle de Terremer d\' Ursula K. Le Guin. Eragon, premier tome de sa série L\'Héritage, est publié le 25 juin 2003, Christopher Paolini n\'est alors âgé que de dix-neuf ans. La seconde édition est expurgée de quelques longueurs. La traduction française paraît chez Bayard jeunesse le 21 octobre 2004. La trame de ce premier tome présente des similarités avec le scénario du Seigneur des anneaux.', '1968-11-17', '0000-00-00', NULL), +(18, 'Colfer', 'Eoin', 'Eoin Colfer (/ˈoʊ.ɪn/), né le 14 mai 1965 à Wexford, en Irlande, est un écrivain irlandais.\nEnseignant comme l\'étaient ses parents, Eoin Colfer vit avec sa femme Jackie et son fils dans sa ville natale, où sont également installés son père, sa mère et ses quatre frères. Tout jeune, il s\'essaie à l\'écriture et compose une pièce de théâtre pour sa classe, une histoire dans laquelle, comme il l\'explique, « tout le monde mourait à la fin, sauf moi ». Grand voyageur, il a travaillé en Arabie saoudite, en Tunisie et en Italie avant de revenir en Irlande. Eoin Colfer avait déjà publié plusieurs livres pour les moins de 10 ans et il était, même avant la publication des aventures d\'Artemis Fowl le célèbre voleur, un auteur reconnu dans son pays.', '1965-05-14', '0000-00-00', NULL), +(19, 'Hunter', 'Erin', 'Erin Hunter est le pseudonyme commun de trois romancières britanniques, Kate Cary, Cherith Baldry et Victoria Holmes, rejointes ensuite par l\'Américaine Tui Sutherland, l\'Israélienne Inbali Iserles et les Britanniques Gillian Philip et Rosie Best. Ces écrivaines se relaient pour écrire les livres des séries La Guerre des clans, La Quête des ours, Survivants, Bravelands, ainsi que Les Messagers du dragon. Elles ont inventé le nom Erin Hunter pour faciliter la recherche de leurs livres dans les librairies ou bibliothèques.', '1967-11-04', '0000-00-00', NULL), (20, 'Delaney', 'Joseph', 'Joseph Delaney, né le 25 juillet 1945 à Preston (Lancashire) en Angleterre et mort le 16 août 2022 à Manchester, est un auteur britannique de science-fiction et d\'heroic fantasy.\n\n', '1945-07-22', '2022-08-16', NULL), (21, 'Arouet', 'François-Marie', 'Voltaire, de son vrai nom François-Marie Arouet, né le 21 novembre 1694 à Paris où il est mort le 30 mai 1778, est un écrivain, notamment dramaturge et poète, un philosophen 1 et un encyclopédiste français, figure majeure de la philosophie des Lumières, jouissant de son vivant d\'une célébrité internationale.', '1694-11-21', '1178-05-30', 'Voltaire'), -(22, 'Damasio', 'Alain', 'Alain Damasio, né le 1er août 1969 à Lyon, est un écrivain de science-fiction et de fantasy et typoète français. Son domaine de prédilection est l\'anticipation politique. Il marie ce genre à des éléments de science-fiction ou de fantasy et décrit des dystopies politiques.\n\nIl est connu pour son ouvrage La Horde du Contrevent, qui remporte le grand prix de l\'Imaginaire en 2006. Sa nouvelle Serf-Made-Man ? ou la créativité discutable de Nolan Peskine, parue dans le recueil Au bal des actifs. Demain le travail, remporte le même prix dans la catégorie « nouvelle francophone » en 2018.', '1969-08-01', '0001-01-01', NULL), +(22, 'Damasio', 'Alain', 'Alain Damasio, né le 1er août 1969 à Lyon, est un écrivain de science-fiction et de fantasy et typoète français. Son domaine de prédilection est l\'anticipation politique. Il marie ce genre à des éléments de science-fiction ou de fantasy et décrit des dystopies politiques.\n\nIl est connu pour son ouvrage La Horde du Contrevent, qui remporte le grand prix de l\'Imaginaire en 2006. Sa nouvelle Serf-Made-Man ? ou la créativité discutable de Nolan Peskine, parue dans le recueil Au bal des actifs. Demain le travail, remporte le même prix dans la catégorie « nouvelle francophone » en 2018.', '1969-08-01', '0000-00-00', NULL), (23, 'Christie', 'Agatha', 'Agatha Christie est une femme de lettres britannique, auteur de nombreux romans policiers, née le 15 septembre 1890 à Torquay et morte le 12 janvier 1976 à Wallingford au Royaume-Uni. Son nom de plume est associé à celui de ses deux héros : Hercule Poirot, détective professionnel belge, et Miss Marple, détective amateur. On surnomme Agatha Christie « la reine du crime ». En effet, elle est l\'un des écrivains les plus importants et novateurs du genre policier. Elle a aussi écrit plusieurs romans, dont quelques histoires sentimentales, sous le pseudonyme Mary Westmacott.', '1890-09-15', '1976-01-12', NULL), -(24, 'Shakespeare', 'William', 'William Shakespeare est un dramaturge, poète et acteur anglais baptisé le 26 avril 1564 à Stratford-upon-Avon et mort le 23 avril 1616 dans la même ville. Surnommé « le Barde d\'Avon », « le Barde immortel » ou simplement « le Barde », il est considéré comme l\'un des plus grands poètes et dramaturges de langue anglaise. Son œuvre, traduite dans de nombreuses langues, se compose de 39 pièces, 154 sonnets et quelques poèmes supplémentaires, dont certains ne lui sont pas attribués de manière certaine.', '0001-01-01', '1616-04-23', NULL), +(24, 'Shakespeare', 'William', 'William Shakespeare est un dramaturge, poète et acteur anglais baptisé le 26 avril 1564 à Stratford-upon-Avon et mort le 23 avril 1616 dans la même ville. Surnommé « le Barde d\'Avon », « le Barde immortel » ou simplement « le Barde », il est considéré comme l\'un des plus grands poètes et dramaturges de langue anglaise. Son œuvre, traduite dans de nombreuses langues, se compose de 39 pièces, 154 sonnets et quelques poèmes supplémentaires, dont certains ne lui sont pas attribués de manière certaine.', '0000-00-00', '1616-04-23', NULL), (25, 'Bradbury', 'Raymond Douglas', 'Raymond Douglas Bradbury dit Ray Bradbury, né le 22 août 1920 à Waukegan dans l’Illinois et mort le 5 juin 2012 (à 91 ans) à Los Angeles en Californie, est un écrivain américain, référence du genre de l’anticipation. Il est particulièrement connu pour ses Chroniques martiennes, écrites en 1950, L’Homme illustré, recueil de nouvelles publié en 1951, et surtout Fahrenheit 451, roman dystopique publié en 1953.\n\n', '2012-08-22', '2012-07-05', 'Ray Bradbury'), (26, 'Dumas', 'Alexandre', 'Alexandre Dumas (dit aussi Alexandre Dumas père) est un écrivain français né le 24 juillet 1802 à Villers-Cotterêts (Aisne) et mort le 5 décembre 1870 au hameau de Puys, ancienne commune de Neuville-lès-Dieppe, aujourd\'hui intégrée à Dieppe (Seine-Maritime).', '1802-07-24', '1870-12-05', NULL), (27, 'Leblanc', 'Marie Émile Maurice', 'Maurice Leblanc, de son nom complet Marie Émile Maurice Leblanc, est un romancier français né le 11 décembre 18641 à Rouen et mort le 6 novembre 1941 à Perpignan.\n\nAuteur de nombreux romans policiers et d’aventures, il est le créateur du célèbre gentleman-cambrioleur Arsène Lupin. Relégué au rang de « Conan Doyle français », Maurice Leblanc est un écrivain populaire qui a souffert de ne pas avoir la reconnaissance de ses confrères mais a toujours suscité un solide noyau d\'amateurs et de quelques lupinologues2.', '1864-12-11', '1941-11-06', 'Maurice Leblanc'), (28, 'Rémi', 'Georges', 'Georges Remia, dit Hergé, né le 22 mai 1907 en Belgique à Etterbeek (province de Brabant) et mort le 3 mars 1983 à Woluwe-Saint-Lambert (Bruxelles), est un auteur de bande dessinée belge, principalement connu pour Les Aventures de Tintin, l\'une des bandes dessinées européennes les plus populaires du xxe siècle.', '1907-05-22', '1983-03-03', 'Hergé'), (29, 'Franquin', 'André', 'André Franquin, né le 3 janvier 1924 à Etterbeek (province de Brabant, Belgique) et mort le 5 janvier 1997 à Saint-Laurent-du-Var (Alpes-Maritimes, France), est un auteur belge francophone de bande dessinée, principalement connu pour les séries Spirou et Fantasio, Gaston, Modeste et Pompon et les Idées noires ; il est aussi le créateur du Marsupilami, animal imaginaire.', '1924-01-03', '1997-01-05', NULL), (30, 'Culliford', 'Pierre', 'Peyo, pseudonyme de Pierre Culliford, né le 25 juin 1928 à Schaerbeek (province de Brabant) et mort le 24 décembre 1992 à Bruxelles (région de Bruxelles-Capitale), est un auteur belge francophone de bande dessinée, principalement connu pour les séries Les Schtroumpfs, Johan et Pirlouit, Benoît Brisefer, Jacky et Célestin et Poussy.', '1928-06-25', '1992-12-24', 'Payo'), -(31, 'Riggs', 'Ransom', 'Ransom Riggs, né le 3 février 1979 au Maryland, est un écrivain américain de fantasy, principalement connu pour être l\'auteur du roman Miss Peregrine et les Enfants particuliers. ', '1972-02-03', '0001-01-01', NULL); +(31, 'Riggs', 'Ransom', 'Ransom Riggs, né le 3 février 1979 au Maryland, est un écrivain américain de fantasy, principalement connu pour être l\'auteur du roman Miss Peregrine et les Enfants particuliers. ', '1972-02-03', '0000-00-00', NULL); -- -------------------------------------------------------- @@ -190,7 +190,7 @@ INSERT INTO `Livre` (`ISBN`, `Titre`, `Auteur`, `Description`, `Note`, `Date de CREATE TABLE `Note` ( `ID` int(11) NOT NULL, - `Note` int(10) NOT NULL, + `Note` float NOT NULL, `Utilisateur` varchar(50) NOT NULL, `Livre` varchar(13) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; @@ -240,11 +240,11 @@ CREATE TABLE `Utilisateur` ( -- INSERT INTO `Utilisateur` (`email`, `mdp`, `Grade`, `Nom`, `Prénom`, `Adresse`, `Tel`) VALUES -('admin@admin.com', 'admin', 'admin', 'admin', 'admin', 'Chez M.Admin 26100 Valence', 'telAdmin'), +('admin@admin.com', 'admin', 'admin', 'admin', 'admin', 'Chez M.Admin 26100 Valence', '0635689454'), ('camille@ewilan.com', 'camille', 'user', 'Duciel', 'Camille', '10 rue des dessins, Al-Jeit, Gwendalavir', '0541635218'), ('gaston@dupuis.com', 'gaston', 'user', 'Gaston', 'Lagaffe', 'Chez M. Gaston Lagaffe et Mademoiselle Jeanne.', '0623564891'), ('harrypotter@magic.com', 'harrypotter', 'user', 'Harry ', 'Potter ', 'Maison 9 3/4, Londres', '0650595152'), -('james@cherub.com', 'james', 'user', 'Adams', 'James', 'Inconnue, Angleterre', 'inconnue'); +('james@cherub.com', 'james', 'user', 'Adams', 'James', 'SECRET Défense, Angleterre', '0707070707'); -- -- Index pour les tables déchargées @@ -315,6 +315,12 @@ ALTER TABLE `Auteur` ALTER TABLE `Emprunt` MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; +-- +-- AUTO_INCREMENT pour la table `Note` +-- +ALTER TABLE `Note` + MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT; + -- -- Contraintes pour les tables déchargées -- diff --git a/database.py b/database.py index 7afe782..e199c3a 100644 --- a/database.py +++ b/database.py @@ -59,6 +59,9 @@ class db(): "selectAllISBN" : "SELECT ISBN FROM `Livre`;", "selectAllUser" : "SELECT * FROM `Utilisateur`;", "selectAllEmprunt" : "SELECT * FROM `Emprunt`;", + "addNote" : "INSERT INTO `Note` (`Note`, `Utilisateur`, `Livre`) VALUES (%s,%s,%s);", + "selectNoteByISBN" : "SELECT * FROM `Note` WHERE `Livre` = %s;", + "selectNoteByUserAndLivre" : "SELECT * FROM `Note` WHERE `Utilisateur` = %s AND `Livre` = %s;", } def __init__(self, host:str ="localhost", user:str="root", passwd:str="1234", port:int=3306, debug:bool=False) -> None: diff --git a/main.py b/main.py index e64417d..ecfd04e 100644 --- a/main.py +++ b/main.py @@ -7,7 +7,7 @@ db_PASSWD = "1234" db_PORT = 3306 -debug = False #Ne pas utiliser en usage normal, cela supprime l'ensemble des données au démarrage. En cas de problème, essayez d'activer ce mode. +debug = False #Rénitialise l'ensemble des données au démarrage. En cas de problème, essayez d'activer ce mode. www_dir = os.path.abspath('./www') print(os.path.join(www_dir, 'css')) diff --git a/operationOnDataBase.py b/operationOnDataBase.py index b99dcf4..f63709e 100644 --- a/operationOnDataBase.py +++ b/operationOnDataBase.py @@ -856,4 +856,28 @@ def convertPointDeVenteToAcceptablePointDeVente(pointDeVente:str,db:database.db) print("point de vente trouvé", pointsDeVentes[i][0]) return pointsDeVentes[i][0] else : - print("point de vente non trouvé", originPointDeVente +'!='+ pointDeVente) \ No newline at end of file + print("point de vente non trouvé", originPointDeVente +'!='+ pointDeVente) + +def getRealNote(isbn:str,db:database.db) -> float : + """ This function returns the real note of a book. + Args : isbn (str): The ISBN of the book. + Returns : float : The real note of the book.""" + try : + db.mkRequest("selectNoteByISBN", False, isbn) + notes = db.cursor.fetchall() + moy = 0 + nbNotes = 0 + for note in notes : + print(note[3], isbn) + if note[3] ==isbn: + moy += note[1] + nbNotes+=1 + if nbNotes != 0: + return moy/nbNotes + else : + db.mkRequest("selectLivreByISBN", True, isbn) + result = db.cursor.fetchall() + return result[0][4] + except Exception as e: + print(f"Une erreur est survenue lors de la recherche de la note réelle du livre :{e}, ligne : {e.__traceback__.tb_lineno}") + return 0 \ No newline at end of file diff --git a/server.py b/server.py index ec21bc3..cded4fa 100644 --- a/server.py +++ b/server.py @@ -919,6 +919,41 @@ def newUser(self, **params): print(f"Erreur : {e}") return self.makeResponse(is_error=True, error_message=str(e)) + #Note = ID, Note (0-10), Utilisateur (email), Livre (isbn) + @cherrypy.expose + @cherrypy.tools.json_out() + def addNote(self, email:str, password:str, isbn:str, note:str) -> str: + try : + print("REQUEST RECEIVED", email, password, isbn, note) + self.db.mkRequest("selectUserByEmail", True, email) + user = self.db.cursor.fetchall() + if user is not None and user != () and user != []: + if user[0][1] == password: + if isbn.isdigit() and float(note) >= 0 and float(note) <= 10: + self.db.mkRequest("selectLivreByISBN", False, isbn) + livre = self.db.cursor.fetchall() + if livre is not None and livre != () and livre != []: + self.db.mkRequest("selectNoteByUserAndLivre", False, email, isbn) + tmp = self.db.cursor.fetchall() + print("TMP",tmp) + if tmp == (): + self.db.mkRequest("addNote", False, note, email, isbn) + self.db.db.commit() + return self.makeResponse(content="success") + else : + return self.makeResponse(is_error=True, error_message="Vous avez déjà noté ce livre !") + else: + return self.makeResponse(is_error=True, error_message="Livre introuvable") + else : + return self.makeResponse(is_error=True, error_message="Les données envoyées sont incorrectes") + else: + return self.makeResponse(is_error=True, error_message="Mot de passe incorrect") + else: + return self.makeResponse(is_error=True, error_message="Utilisateur introuvable") + except Exception as e: + print("\033[31mErreur lors de l'ajout de la note : ",e, e.__traceback__.tb_lineno, "\033[0m") + return self.makeResponse(is_error=True, error_message="Oups, une erreur est survenue, veuillez réessayer ultérieurement") + def jsonify_error(status, message, traceback, version): try : response = cherrypy.response diff --git a/template.sql b/template.sql index 7c90caf..00a7ba1 100644 --- a/template.sql +++ b/template.sql @@ -89,7 +89,7 @@ CREATE TABLE `Livre` ( CREATE TABLE `Note` ( `ID` int(11) NOT NULL, - `Note` int(10) NOT NULL, + `Note` float(10) NOT NULL, `Utilisateur` varchar(50) NOT NULL, `Livre` varchar(13) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; @@ -194,6 +194,12 @@ ALTER TABLE `Auteur` ALTER TABLE `Emprunt` MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; +-- +-- AUTO_INCREMENT pour la table `Note` +-- +ALTER TABLE `Note` + MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT; + -- -- Contraintes pour les tables déchargées -- diff --git a/utils.py b/utils.py index 3f9abaa..9354dc2 100644 --- a/utils.py +++ b/utils.py @@ -29,6 +29,7 @@ def formatLivreToJsonOrdered(data:list[tuple], db:database.db)->json: if len(item) != 12: item = item[:12] ISBN, titre, auteur, description, note, dateDeParution, status, genre, format, prix, pointDeVente, editeur = item + note = operationOnDataBase.getRealNote(ISBN, db) result.append({ 'ISBN': ISBN, 'titre': titre, @@ -124,6 +125,7 @@ def formatLivreToJson(data:list[tuple], db:database.db)->json: if len(item) != 12: item = item[:12] ISBN, titre, auteur, description, note, dateDeParution, status, genre, format, prix, pointDeVente, editeur = item + note = operationOnDataBase.getRealNote(ISBN, db) result[ISBN] = { 'titre':titre, 'auteur':searchEngine.getAuteurNameByID(db, auteur), diff --git a/www/css/index.css b/www/css/index.css index ccd07fb..4bc4b8b 100644 --- a/www/css/index.css +++ b/www/css/index.css @@ -9,7 +9,6 @@ body { h1, h2, h3, p { color : #ffffff; - width: ; } .logo { diff --git a/www/html/livre.html b/www/html/livre.html index 71bf913..f3364f1 100644 --- a/www/html/livre.html +++ b/www/html/livre.html @@ -17,6 +17,19 @@

< livre
+
+
+
Vous avez aimé ce livre ? Notez-le !
+
+ +
+
+ + +
+
+
+
diff --git a/www/img/stars/star0.svg b/www/img/stars/star0.svg new file mode 100644 index 0000000..c8246c1 --- /dev/null +++ b/www/img/stars/star0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/www/js/livre.js b/www/js/livre.js index 2fa804f..70beb5c 100644 --- a/www/js/livre.js +++ b/www/js/livre.js @@ -113,5 +113,42 @@ loadLivre(isbn).then(livreData => { }) }); } + const noteInput = document.getElementById("inputNote"); + const noteButton = document.getElementById("buttonNote"); + noteButton.addEventListener("click", function () { + let decodedCookie = decodeURIComponent(document.cookie).split(';'); + let email = '', password = ''; + decodedCookie.forEach(c => { + let cookie = c.trim(); + if (cookie.startsWith('email=')) { + email = cookie.substring('email='.length); + } + if (cookie.startsWith('password=')) { + password = cookie.substring('password='.length); + } + }); + fetch(`${API_URL}/checkLogin?email=${encodeURIComponent(email)}&password=${encodeURIComponent(password)}`) + .then(response => response.json()) + .then(data => { + if (data.content === "success") { + console.log("note: ", noteInput.value, isbn); + fetch(`${API_URL}/addNote?email=${encodeURIComponent(email)}&password=${encodeURIComponent(password)}&isbn=${isbn}¬e=${noteInput.value}`) + .then(response => response.json()) + .then(data => { + console.log("data: ", data) + if (data.message === "Vous avez déjà noté ce livre !"){ + alert("Vous avez déjà noté ce livre !"); + } else if (data.content === "success") { + alert("Note ajoutée avec succès"); + window.location.reload(); + } else { + alert("Erreur lors de l'ajout de la note"); + } + }); + } else { + window.location.href = "/login"; + } + }) + }); } }) \ No newline at end of file