sujets

liste des sujets


# sujet 1 : departement_usine / employe  
# sujet 2 : activite / localisation_activite  
# sujet 3 : joueur / club_foot
# sujet 4 : voiture / categorie_voiture
# sujet 5 : plat / type_plat 
# sujet 6 : film / genre_film 
# sujet 7 : reparation / type_reparation   
# sujet 8 :  bande_dessinee / auteur
# sujet 9 :  ordinateur / salle_info  
# sujet 10 : commercant  type_commercant    
# sujet 11 : depense / categorie_depense 
# sujet 12 : spectacle_representation / theatre   
# sujet 13 : hotel / station_ski 
# sujet 14 : vetement /  type_vetement 
# sujet 15 : outil / type_outil 
# sujet 16 : monument / departement_region  
# sujet 17 : tableau / type_epoque 
# sujet 18 : sport /  type_sport
# sujet 19 : arbre / famille_arbre   -- 
# sujet 20 : animal  / type_animal -- 
# sujet 21 : meuble / type_meuble  
# sujet 22 : moto / marque_moto
# sujet 23 : club_echecs / region 
# sujet 24 : parking_ville / ville 
# sujet 25 : ski / type_ski    
# sujet 26 : enseignant / matiere_cours 
# sujet 27 : foret / type_foret    --
# sujet 28 : jeu_plateau / type_jeu  
# sujet 29 : pneu_velo / type_pneu_velo
# sujet 30 : salle_cours / type_salle
# carrelage
# parquet

sujet 1

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_departement /departement-usine/show GET affiche les types d’employés retourne la vue show_departement.html
add_departement /departement-usine/add GET affiche le formulaire pour ajouter un département retourne la vue add_departement.html
valid_add_departement /departement-usine/add POST validation (soumission) du formulaire pour ajouter un département redirection sur la route /departement-usine/show
delete_departement /departement-usine/delete GET suppression d’un département redirection sur la route /departement-usine/show
edit_departement /departement-usine/edit GET affiche le formulaire pour modifier un département retourne la vue edit_departement.html
valid_edit_departement /departement-usine/edit POST validation (soumission) du formulaire pour modifier un département redirection sur la route /departement-usine/show
show_employe /employe/show GET affiche les employes retourne la vue show_employe.html
add_employe /employe/add GET affiche le formulaire pour ajouter un employe retourne la vue add_employe.html
valid_add_employe /employe/add POST validation (soumission) du formulaire pour ajouter un employe redirection sur la route /employe/show
delete_employe /employe/delete GET suppression d’un employe redirection sur la route /employe/show
edit_employe /employe/edit GET affiche le formulaire pour modifier un employe retourne la vue edit_employe.html
valid_edit_employe /employe/edit POST validation (soumission) du formulaire pour modifier un employe redirection sur la route /employe/show
filtre_employe /employe/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_employe_filtre_show.html



# ##########################################################Sujet 1

departementsUsine = [
    {'id':1,'nomDepartement':'Production', 'logo': 'logo_production.png'},
    {'id':2,'nomDepartement':'Marketing', 'logo': 'logo_marketing.png'},
    {'id':3,'nomDepartement':'Méthode', 'logo': 'logo_methode.png'},
    {'id':4,'nomDepartement':'Recherche et développement', 'logo': 'logo_recherche_et_developpement.png'}
]

employes = [
    {'id':1,'nomEmploye':'Gauthier', 'villeDept':'Belfort', 'dateEmbauche':'2011-09-06', 'indice':'395' , 'salaire':'2500', 'photo':'employe1.png', 'departement_id':2},
    {'id':2,'nomEmploye':'Peslier', 'villeDept':'Valdoie', 'dateEmbauche':'2009-02-01', 'indice':'375' , 'salaire':'2800', 'photo':'employe2.png', 'departement_id':1},
    {'id':3,'nomEmploye':'Rousselet', 'villeDept':'Savoyeux', 'dateEmbauche':'2010-05-15', 'indice':'295' , 'salaire':'2000', 'photo':'employe3.png', 'departement_id':3},
    {'id':4,'nomEmploye':'Perez', 'villeDept':'Besançon', 'dateEmbauche':'2009-02-01', 'indice':'255' , 'salaire':'1500', 'photo':'employe4.png', 'departement_id':1},
    {'id':5,'nomEmploye':'Benatti', 'villeDept':'Pont-de-Planches', 'dateEmbauche':'2011-09-06', 'indice':'285' , 'salaire':'1900', 'photo':'employe5.png', 'departement_id':3},
    {'id':6,'nomEmploye':'Thiebaud', 'villeDept':'Frotey', 'dateEmbauche':'2011-09-06', 'indice':'295' , 'salaire':'2000', 'photo':'employe6.png', 'departement_id':1},
    {'id':7,'nomEmploye':'Gauthier', 'villeDept':'Valdoie', 'dateEmbauche':'2007-04-02', 'indice':'285' , 'salaire':'1900', 'photo':'employe7.png', 'departement_id':3},
    {'id':8,'nomEmploye':'Lambert' , 'villeDept':'Belfort', 'dateEmbauche':'2012-03-01', 'indice':'345' , 'salaire':'2200', 'photo':'employe8.png', 'departement_id':2},
    {'id':9,'nomEmploye':'Dupond' , 'villeDept':'Besancon', 'dateEmbauche':'2011-02-04', 'indice':'275' , 'salaire':'1800', 'photo':'employe9.png', 'departement_id':1},
    {'id':10,'nomEmploye':'Durand', 'villeDept':'Vesoul', 'dateEmbauche':'2011-02-04', 'indice':'205' , 'salaire':'1200', 'photo':'no_photo.jpg', 'departement_id':1},
    {'id':11,'nomEmploye':'Lapierre', 'villeDept':'Valdoie', 'dateEmbauche':'2012-07-25', 'indice':'295' , 'salaire':'2000', 'photo':'employe10.png', 'departement_id':1},
    {'id':12,'nomEmploye':'Philippe', 'villeDept':'Belfort', 'dateEmbauche':'2011-03-21', 'indice':'345' , 'salaire':'2200', 'photo':'employe11.png', 'departement_id':2}
]


archive des fichiers d’images de ce sujet


livrable 2 (vacances Noel)



# sujet 1 : departement_usine / employe       **

INSERT INTO departement_usine (id_departement, nom_departement, logo) 
VALUES
(NULL, 'Production','logo_production.png'),
(NULL, 'Marketing','logo_marketing.png'),
(NULL, 'Méthode','logo_methode.png'),
(NULL, 'Recherche et développement','logo_recherche_et_developpement.png');


INSERT INTO employe(id_employe,nom_employe,ville_dept,date_embauche,indice,salaire, photo, departement_id) VALUES
    (NULL,'Gauthier', 'Belfort', '2011-09-06', 395, 2500 ,'employe1.png', 2),
    (NULL,'Peslier', 'Valdois', '2009-02-01', 375, 2800 ,'employe2.png', 1),
    (NULL,'Rousselet', 'Savoyeux', '2010-05-15', 295, 2000 ,'employe3.png', 3),
    (NULL,'Perez', 'Besançon', '2009-02-01', 255, 1500 ,'employe4.png', 1),
    (NULL,'Benatti', 'Pont-de-Planches', '2011-09-06', 285, 1900 ,'employe5.png', 3),
    (NULL,'Thiebaud', 'Frotey', '2011-09-06', 295, 2000 ,'employe6.png', 1),
    (NULL,'Gauthier', 'Valdoie', '2007-04-02', 285, 1900 ,'employe7.png', 3),
    (NULL,'Lambert', 'Belfort', '2012-03-01', 345, 2200 ,'employe8.png', 2),
    (NULL,'Dupond', 'Besancon', '2011-02-04', 275, 1800 ,'employe9.png', 1),
    (NULL,'Durand', 'Vesoul', '2011-02-04', 205, 1200 ,'no_photo.jpg', 1),
    (NULL,'Lapierre', 'Valdoie', '2012-07-25', 295, 2000 ,'employe10.png', 1),
    (NULL,'Philippe', 'Belfort', '2011-03-21', 345, 2200 ,'employe11.png', 2);

sujet 2

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_localisation /localisation-activite/show GET affiche les localisations retourne la vue show_localisation.html
add_localisation /localisation-activite/add GET affiche le formulaire pour ajouter une localisation retourne la vue add_localisation.html
valid_add_localisation /localisation-activite/add POST validation (soumission) du formulaire pour ajouter une localisation redirection sur la route /localisation-activite/show
delete_localisation /localisation-activite/delete GET suppression d’une localisation redirection sur la route /localisation-activite/show
edit_localisation /localisation-activite/edit GET affiche le formulaire pour modifier une localisation retourne la vue edit_localisation.html
valid_edit_localisation /localisation-activite/edit POST validation (soumission) du formulaire pour modifier une localisation redirection sur la route /localisation-activite/show
show_activite /activite/show GET affiche les activites retourne la vue show_activite.html
add_activite /activite/add GET affiche le formulaire pour ajouter une activite retourne la vue add_activite.html
valid_add_activite /activite/add POST validation (soumission) du formulaire pour ajouter une activite redirection sur la route /activite/show
delete_activite /activite/delete GET suppression d’une activite redirection sur la route /activite/show
edit_activite /activite/edit GET affiche le formulaire pour modifier une activite retourne la vue edit_activite.html
valid_edit_activite /activite/edit POST validation (soumission) du formulaire pour modifier une activite redirection sur la route /activite/show
filtre_activite /activite/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_activite_filtre_show.html



localisationsActivite=[
{'id': 1, 'nomLieu': 'Gymnase IUT', 'nomAdresse': '11 Rue Rosa Bonheur, 90000 Belfort', 'lat': '47.64409600', 'lng': '6.83917600'}, 
{'id': 2, 'nomLieu': 'Gymnase du phare', 'nomAdresse': '2 Rue Paul Koepfler, 90000 Belfort', 'lat': '47.63908900', 'lng': '6.84955610'}, 
{'id': 3, 'nomLieu': 'Stade d athlétisme', 'nomAdresse': 'Rue Floréal, 90000 Belfort ', 'lat': '47.65531800', 'lng': '6.85577000'}, 
{'id': 4, 'nomLieu': 'Site du Malsaucy', 'nomAdresse': '7 Rue du Malsaucy, 90300 Sermamagny', 'lat': '47.68988100', 'lng': '6.83138900'}, 
{'id': 5, 'nomLieu': 'Piscine', 'nomAdresse': '1 Parc des Loisirs, 90800 Bavilliers', 'lat': '47.63223200', 'lng': '6.83256200'}, 
{'id': 6, 'nomLieu': 'Forge Musée Etueffont', 'nomAdresse': '2 Rue de Lamadeleine, 90170 Étueffont', 'lat': '47.72251210', 'lng': '6.92096180'}
]


activites=[
    {'id':1,'nomActivite':'pêche'  , 'dateCreation':'2015-02-02' , 'coutInscription':'100.00' , 'typeActivite':'loisirs', 'nbParticipants':'65' , 'localisation_id': 2, 'image': 'peche.jpg'},
    {'id':2,'nomActivite':'tir à l arc'  , 'dateCreation':'2013-02-02', 'coutInscription':'135' , 'typeActivite':'sport', 'nbParticipants':'35' , 'localisation_id':4, 'image': 'tir-a-l-arc.jpg'},
    {'id':3,'nomActivite':'handball'  , 'dateCreation':'2013-02-02', 'coutInscription':'100.00' , 'typeActivite':'sport', 'nbParticipants':'36' , 'localisation_id':1, 'image': 'handball.jpg'},
    {'id':4,'nomActivite':'Atelier musique'  , 'dateCreation':'2000-02-02' , 'coutInscription':'200.00' , 'typeActivite':'loisirs', 'nbParticipants':'55' , 'localisation_id':3, 'image': 'musique.jpg'},
    {'id':5,'nomActivite':'cuisine'  , 'dateCreation':'2015-02-02','coutInscription':'250.00' , 'typeActivite':'loisirs' , 'nbParticipants':'15' , 'localisation_id':4, 'image': 'cuisine.jpg'},
    {'id':6,'nomActivite':'Football'  , 'dateCreation':'2015-02-02','coutInscription':'105.00' , 'typeActivite':'sport', 'nbParticipants':'105' , 'localisation_id':3, 'image': 'football.jpg'},
    {'id':7,'nomActivite':'Musculation'  , 'dateCreation':'2015-02-02' , 'coutInscription':'100.00' , 'typeActivite':'sport', 'nbParticipants':'35' , 'localisation_id':1, 'image': 'musculation.jpg'},
    {'id':8,'nomActivite':'Natation' , 'dateCreation':'2014-10-25','coutInscription':'180' , 'typeActivite':'sport' , 'nbParticipants':'25' , 'localisation_id':5, 'image': 'natation.jpg'},
    {'id':9,'nomActivite':'Tennis' , 'dateCreation':'2015-02-01' , 'coutInscription':'200' , 'typeActivite':'sport' , 'nbParticipants':'15' , 'localisation_id':1, 'image': 'tennis.jpg'},
    {'id':10,'nomActivite':'Ping Pong' , 'dateCreation':'2000-10-20' , 'coutInscription':'130' , 'typeActivite':'sport', 'nbParticipants':'65' , 'localisation_id':1, 'image': 'ping-pong.jpg'},
    {'id':11,'nomActivite':'Escalade' , 'dateCreation':'2014-11-15' , 'coutInscription':'100' , 'typeActivite':'sport' , 'nbParticipants':'35' , 'localisation_id':2, 'image': 'escalade.jpg'},
    {'id':12,'nomActivite':'zumba' , 'dateCreation':'2014-10-15', 'coutInscription':'140' , 'typeActivite':'sport', 'nbParticipants':'36' , 'localisation_id':1, 'image': 'zumba.jpg'},
    {'id':13,'nomActivite':'Basketball' , 'dateCreation':'2013-06-01', 'coutInscription':'120' , 'typeActivite':'sport' , 'nbParticipants':'25' , 'localisation_id':1, 'image': 'basketball.jpg'},
    {'id':14,'nomActivite':'Volley' , 'dateCreation':'2013-05-08', 'coutInscription':'125' , 'typeActivite':'sport' , 'nbParticipants':'35' , 'localisation_id':1, 'image': 'volleyball.jpg'},
    {'id':15,'nomActivite':'Forge' , 'dateCreation':'2021-09-20', 'coutInscription':'40' , 'typeActivite':'loisirs' , 'nbParticipants':'10' , 'localisation_id':6, 'image': 'forge.jpg'}
]


archive des fichiers d’images de ce sujet


livrable 2 (vacances Noel)


-- sujet 2 : activite / localisation_activite

INSERT INTO localisation_activite  (id_localisation , nom_lieu,nom_adresse,lat,lng) VALUES
    (  NULL,  'Gymnase IUT','11 Rue Rosa Bonheur, 90000 Belfort', 47.644096,6.839176 ),
    (  NULL,  'Gymnase du phare','2 Rue Paul Koepfler, 90000 Belfort',47.639089,6.8495561),
    (  NULL,  'Stade d athlétisme','Rue Floréal, 90000 Belfort ',47.655318,6.855770 ),
    (  NULL,  'Site du Malsaucy','7 Rue du Malsaucy, 90300 Sermamagny',47.689881,6.831389 ),
    (  NULL,  'Piscine','1 Parc des Loisirs, 90800 Bavilliers', 47.632232,6.832562),
    (  NULL,    'Forge Musée Etueffont', '2 Rue de Lamadeleine, 90170 Étueffont',47.7225121,6.9209618);


INSERT INTO activite (id_activite, nom_activite, date_creation, cout_inscription, type_activite, nb_participants, localisation_id) VALUES
 ( NULL, 'pêche' , '2015-02-02' , 100.00 , 'loisirs', 65 , 2 , 'peche.jpg'),
 ( NULL, 'tir à l arc' , '2013-02-02', 135 , 'sport', 35 , 4 , 'tir-a-l-arc.jpg'),
 ( NULL, 'handball' , '2013-02-02', 100.00 , 'sport', 36 , 1 ,'handball.jpg'),
 ( NULL, 'Atelier musique' , '2000-02-02' , 200.00 , 'loisirs', 55 , 3 ,'musique.jpg'),
 ( NULL, 'cuisine' , '2015-02-02', 250.00 , 'loisirs' , 15 , 4 ,'cuisine.jpg'),
 ( NULL, 'Football' , '2015-02-02', 105.00 , 'sport', 105 , 3 ,'football.jpg'),
 ( NULL, 'Musculation' , '2015-02-02' , 100.00 , 'sport', 35 , 1 ,'musculation.jpg'),
 ( NULL, 'Natation' , '2014-10-25', 180 , 'sport' , 25 , 5 ,'natation.jpg'),
 ( NULL, 'Tennis' , '2015-02-01' , 200 , 'sport' , 15 , 1 , 'tennis.jpg'),
 ( NULL, 'Ping Pong' , '2000-10-20' , 130 , 'sport', 65 , 1 ,'ping-pong.jpg'),
 ( NULL, 'Escalade' , '2014-11-15' , 100, 'sport' , 35 , 2 ,'escalade.jpg'),
 ( NULL, 'zumba' , '2014-10-15', 140 , 'sport', 36 , 1,'zumba.jpg'),
 ( NULL, 'Basketball' , '2013-06-01', 120 , 'sport' , 25 , 1 ,'volleyball.jpg'),
 ( NULL, 'Volley' , '2013-05-08', 125 , 'sport' , 35 , 1 ,'volleyball.jpg'),
 ( NULL, 'Forge' , '2021-09-20', 40 , 'loisirs' , 5 , 6 ,'forge.jpg');

sujet 3

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_club /club-foot/show GET affiche les types d’joueurs retourne la vue show_club.html
add_club /club-foot/add GET affiche le formulaire pour ajouter un club retourne la vue add_club.html
valid_add_club /club-foot/add POST validation (soumission) du formulaire pour ajouter un club redirection sur la route /club-foot/show
delete_club /club-foot/delete GET suppression d’un club redirection sur la route /club-foot/show
edit_club /club-foot/edit GET affiche le formulaire pour modifier un club retourne la vue edit_club.html
valid_edit_club /club-foot/edit POST validation (soumission) du formulaire pour modifier un club redirection sur la route /club-foot/show
show_joueur /joueur/show GET affiche les joueurs retourne la vue show_joueur.html
add_joueur /joueur/add GET affiche le formulaire pour ajouter un joueur retourne la vue add_joueur.html
valid_add_joueur /joueur/add POST validation (soumission) du formulaire pour ajouter un joueur redirection sur la route /joueur/show
delete_joueur /joueur/delete GET suppression d’un joueur redirection sur la route /joueur/show
edit_joueur /joueur/edit GET affiche le formulaire pour modifier un joueur retourne la vue edit_joueur.html
valid_edit_joueur /joueur/edit POST validation (soumission) du formulaire pour modifier un joueur redirection sur la route /joueur/show
filtre_joueur /joueur/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_joueur_filtre_show.html


# ########################################################### Sujet 3

clubsFoot=[
    {'id':1,'nomClub':'Paris SG' , 'villeClub':'Paris', 'image':'psg.png'},
    {'id':2,'nomClub':'Chelsea' , 'villeClub':'Londres', 'image':'Chelsea.png'},
    {'id':3,'nomClub':'FC Barcelona' , 'villeClub':'Barcelone', 'image':'Barcelone.png'}
]


joueurs=[
    {'id':1,'nomJoueur':'Hazard' , 'prenomJoueur':'Eden' , 'dateNaissJoueur':'1991-01-07', 'tailleJoueur':'1.90' , 'club_id':2, 'image':'Eden_hazard.jpg'},
    {'id':2,'nomJoueur':'Messi' , 'prenomJoueur':'Lionel' , 'dateNaissJoueur':'1987-06-24', 'tailleJoueur':'1.68' , 'club_id':3, 'image':'messi.jpeg'},
    {'id':3,'nomJoueur':'Matuidi' , 'prenomJoueur':'Blaise' , 'dateNaissJoueur':'1987-04-09' , 'tailleJoueur':'1.90' , 'club_id':1, 'image':'matuidi.jpg'},
    {'id':4,'nomJoueur':'Fabregas' , 'prenomJoueur':'Cesc' , 'dateNaissJoueur':'1987-05-04' , 'tailleJoueur':'1.80' , 'club_id':2, 'image':'fabregas.jpg'},
    {'id':5,'nomJoueur':'Courtois' , 'prenomJoueur':'Thibaut' , 'dateNaissJoueur':'1992-05-11' , 'tailleJoueur':'1.90' , 'club_id':3, 'image':'Courtois.jpg'},
    {'id':6,'nomJoueur':'Pique' , 'prenomJoueur':'Gerard' , 'dateNaissJoueur':'1987-02-02' , 'tailleJoueur':'1.750' , 'club_id':1, 'image':'pique.jpg'},
    {'id':7,'nomJoueur':'Terry' , 'prenomJoueur':'John' , 'dateNaissJoueur':'1980-12-07' , 'tailleJoueur':'1.90' , 'club_id':2, 'image':'john.jpg'},
    {'id':8,'nomJoueur':'Ibrahimovic' , 'prenomJoueur':'Zlatan' , 'dateNaissJoueur':'1981-10-03' , 'tailleJoueur':'1.80' , 'club_id':1, 'image':'Ibrahimovic.jpg'},
    {'id':9,'nomJoueur':'Cahill' , 'prenomJoueur':'Gary' , 'dateNaissJoueur':'1985-12-19' , 'tailleJoueur':'1.90' , 'club_id':2, 'image':'Cahill.jpg'},
    {'id':10,'nomJoueur':'Rakitic' , 'prenomJoueur':'Ivan' , 'dateNaissJoueur':'1988-04-10' , 'tailleJoueur':'1.70' , 'club_id':3, 'image':'Rakitic.jpg'},
    {'id':11,'nomJoueur':'Digne' , 'prenomJoueur':'Lucas' , 'dateNaissJoueur':'1993-01-20' , 'tailleJoueur':'1.80' , 'club_id':1, 'image':'Digne.jpeg'},
    {'id':12,'nomJoueur':'Suarez' , 'prenomJoueur':'Luis' , 'dateNaissJoueur':'1987-01-24' , 'tailleJoueur':'1.80' , 'club_id':3, 'image':'Suarez.png'}
]


archive des fichiers d’images de ce sujet


livrable 2 (vacances Noel)

-- sujet 3 : joueur / club    **


INSERT INTO club_foot(id_club, nom_club, ville_club,image) VALUES
(NULL,'Paris SG' , 'Paris','psg.png'),
(NULL,'Chelsea' , 'Londres','Chelsea.png'),
(NULL,'FC Barcelona' ,'Barcelone','Barcelone.png');

INSERT INTO joueur(id_joueur, nom_joueur, prenom_joueur, date_naissance, taille_joueur, image, club_id) VALUES
    (NULL,'Hazard' , 'Eden' , '1991-01-07', '1.90' , 'Eden_hazard.jpg', 2),
    (NULL,'Messi' , 'Lionel' , '1987-06-24', '1.68' , 'messi.jpeg', 3),
    (NULL,'Matuidi' , 'Blaise' , '1987-04-09' ,'1.90' , 'matuidi.jpg', 1),
    (NULL,'Fabregas' , 'Cesc' , '1987-05-04' , '1.80' , 'fabregas.jpg', 2),
    (NULL,'Courtois' , 'Thibaut' , '1992-05-11' , '1.90' ,  'Courtois.jpg' , 3),
    (NULL,'Pique' , 'Gerard' , '1987-02-02' , '1.750' , 'pique.jpg' , 1),
    (NULL,'Terry' , 'John' , '1980-12-07' , '1.90', 'john.jpg' , 2),
    (NULL,'Ibrahimovic' ,'Zlatan' ,'1981-10-03' , '1.80' , 'Ibrahimovic.jpg', 1),
    (NULL,'Cahill' , 'Gary' ,'1985-12-19' , '1.90' , 'Cahill.jpg', 2),
    (NULL,'Rakitic' ,'Ivan' , '1988-04-10' , '1.70' , 'Rakitic.jpg', 3),
    (null,'Digne' , 'Lucas' , '1993-01-20' , '1.80' , 'Digne.jpeg',  1),
    (NULL,'Suarez' , 'Luis' , '1987-01-24' , '1.80' ,'Suarez.png' ,  3);

sujet 4

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_categorie /categorie-voiture/show GET affiche les categories retourne la vue show_categorie.html
add_categorie /categorie-voiture/add GET affiche le formulaire pour ajouter une categorie retourne la vue add_categorie.html
valid_add_categorie /categorie-voiture/add POST validation (soumission) du formulaire pour ajouter une categorie redirection sur la route /categorie-voiture/show
delete_categorie /categorie-voiture/delete GET suppression d’une categorie redirection sur la route /categorie-voiture/show
edit_categorie /categorie-voiture/edit GET affiche le formulaire pour modifier une categorie retourne la vue edit_categorie.html
valid_edit_categorie /categorie-voiture/edit POST validation (soumission) du formulaire pour modifier une categorie redirection sur la route /categorie-voiture/show
show_voiture /voiture/show GET affiche les voitures retourne la vue show_voiture.html
add_voiture /voiture/add GET affiche le formulaire pour ajouter une voiture retourne la vue add_voiture.html
valid_add_voiture /voiture/add POST validation (soumission) du formulaire pour ajouter une voiture redirection sur la route /voiture/show
delete_voiture /voiture/delete GET suppression d’une voiture redirection sur la route /voiture/show
edit_voiture /voiture/edit GET affiche le formulaire pour modifier une voiture retourne la vue edit_voiture.html
valid_edit_voiture /voiture/edit POST validation (soumission) du formulaire pour modifier une voiture redirection sur la route /voiture/show
filtre_voiture /voiture/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_voiture_filtre_show.html



# ########################################################### Sujet  4

categoriesVoitures=[
    {'id':1,'libelleCategorie':'berline', 'catalogue':'1', 'logo':'logo_berline.png'},
    {'id':2,'libelleCategorie':'break', 'catalogue':'1', 'logo':'logo_break.png'},
    {'id':3,'libelleCategorie':'suv', 'catalogue':'1', 'logo':'logo_suv.png'},
    {'id':4,'libelleCategorie':'monospace', 'catalogue':'2', 'logo':'logo_monospce.png'},
    {'id':5,'libelleCategorie':'utilitaire', 'catalogue':'3', 'logo':'logo_utilitaire.png'},
    {'id':6,'libelleCategorie':'citadine', 'catalogue':'1', 'logo':'logo_citadine.png'},
    {'id':7,'libelleCategorie':'autre', 'catalogue':'3', 'logo':'logo_autre.png'}
]

voitures=[
    {'id':1,'nomVoiture':'clio 3', 'dateLancement':'2010-1-1', 'prixVoiture':'5000', 'categorie_id':1, 'puissance':4, 'photo':'clio3.jpg'},
    {'id':2,'nomVoiture':'BMW Serie 6 Gran Coupe' , 'dateLancement':'2012-01-09' , 'prixVoiture':'118400', 'categorie_id':1, 'puissance':34, 'photo':'bmws6.jpg'},
    {'id':3,'nomVoiture':'Mercedes Classe S' , 'dateLancement':'2014-09-15' , 'prixVoiture':'181000', 'categorie_id':1 , 'puissance':50, 'photo':'mercedesclasseS.jpg'},
    {'id':4,'nomVoiture': 'Audi RS6' , 'dateLancement':'2013-11-07' , 'prixVoiture':'120600', 'categorie_id':2, 'puissance':64, 'photo':'audiRS6.jpg'},
    {'id':5,'nomVoiture': 'Porsche Panamera' , 'dateLancement':'2013-04-25' , 'prixVoiture':'123965' , 'categorie_id':2 , 'puissance':35, 'photo':'porschePanamera.jpg'},
    {'id':6,'nomVoiture': 'Range Rover Evoque' , 'dateLancement':'2014-03-10' , 'prixVoiture':'50700' , 'categorie_id':3 , 'puissance':19, 'photo':'rrEvoque.jpg'},
    {'id':7,'nomVoiture': 'Citroen C4 Picasso' , 'dateLancement':'2013-06-04' , 'prixVoiture':'31150' , 'categorie_id':4 , 'puissance':8, 'photo':'c4Picasso.jpg'},
    {'id':8,'nomVoiture': 'Ford S-Max' , 'dateLancement':'2012-08-28' , 'prixVoiture':'38450' , 'categorie_id':4 , 'puissance':8, 'photo':'sMax.jpg'},
    {'id':9,'nomVoiture': 'Fiat Ducato' , 'dateLancement':'2009-07-02' , 'prixVoiture':'24575' , 'categorie_id':5 , 'puissance':9, 'photo':'fiatDucato.jpg'},
    {'id':10,'nomVoiture': 'Renault Kangoo' , 'dateLancement':'2008-05-31' , 'prixVoiture':'19750' , 'categorie_id':5 , 'puissance':7, 'photo':'kangoo.jpg'},
    {'id':11,'nomVoiture': 'Opel Adam' , 'dateLancement':'2009-12-15' , 'prixVoiture':'18900' , 'categorie_id':6 , 'puissance':8, 'photo':'opelAdam.jpg'},
    {'id':12,'nomVoiture': 'Citroen DS3' , 'dateLancement':'2010-02-17' , 'prixVoiture':'19490' , 'categorie_id':6 , 'puissance':9, 'photo':'DS3.jpg'},
    {'id':13,'nomVoiture': 'Dodge RAM 1500 V8 HEMI' , 'dateLancement':'2015-03-26' , 'prixVoiture':'55800' , 'categorie_id':7 , 'puissance':30,  'photo':'DodgeRAM.jpg'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)



-- # sujet 4 : voiture / categorie_voiture       **

INSERT INTO categorie_voiture (id_categorie , libelle_categorie, catalogue, logo) VALUES 
(NULL, 'berline','1','logo_berline.png'),
(NULL, 'break','1','logo_break.png'),
(NULL, 'suv','1','logo_suv.png'),
(NULL, 'monospace','2','logo_monospace.png'),
(NULL, 'utilitaire','3','logo_utilitaire.png'),
(NULL, 'citadine','1','logo_citadine.png'),
(NULL, 'autre','3','logo_autre.png');

INSERT INTO voiture (id_voiture,nom_voiture, date_lancement, prix_voiture, categorie_id, puissance, photo) VALUES 
(null,'clio 3','2010-1-1','5000',1,4,'clio3.jpg'),
(null, 'BMW Serie 6 Gran Coupe', '2012-01-09', '118400',1,34,'bmws6.jpg'),
(null, 'Mercedes Classe S', '2014-09-15', '181000',1, 50,'mercedesclasseS.jpg'),
(null,'Audi RS6', '2013-11-07', '120600',2,64,'audiRS6.jpg'),
(null,'Porsche Panamera', '2013-04-25', '123965', 2, 35,'porschePanamera.jpg'),
(null,'Range Rover Evoque', '2014-03-10', '50700', 3, 19,'rrEvoque.jpg'),
(null,'Citroen C4 Picasso', '2013-06-04', '31150', 4, 8,'c4Picasso.jpg'),
(null,'Ford S-Max', '2012-08-28', '38450', 4, 8,'sMax.jpg'),
(null,'Fiat Ducato', '2009-07-02', '24575', 5, 9,'fiatDucato.jpg'),
(null,'Renault Kangoo', '2008-05-31', '19750', 5, 7,'kangoo.jpg'),
(null,'Opel Adam', '2009-12-15', '18900', 6, 8,'opelAdam.jpg'),
(null,'Citroen DS3', '2010-02-17', '19490', 6, 9,'DS3.jpg'),
(null,'Dodge RAM 1500 V8 HEMI', '2015-03-26', '55800', 7, 30,'DodgeRAM.jpg');



sujet 5

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_plat /type-plat/show GET affiche les types de plats retourne la vue show_type_plat.html
add_type_plat /type-plat/add GET affiche le formulaire pour ajouter un type de plat retourne la vue add_type_plat.html
valid_add_type_plat /type-plat/add POST validation (soumission) du formulaire pour ajouter un type de plat redirection sur la route /type-plat/show
delete_type_plat /type-plat/delete GET suppression d’un type de plat redirection sur la route /type-plat/show
edit_type_plat /type-plat/edit GET affiche le formulaire pour modifier un type de plat retourne la vue edit_type_plat.html
valid_edit_type_plat /type-plat/edit POST validation (soumission) du formulaire pour modifier un type de plat redirection sur la route /type-plat/show
show_plat /plat/show GET affiche les plats retourne la vue show_plat.html
add_plat /plat/add GET affiche le formulaire pour ajouter un plat retourne la vue add_plat.html
valid_add_plat /plat/add POST validation (soumission) du formulaire pour ajouter un plat redirection sur la route /plat/show
delete_plat /plat/delete GET suppression d’un plat redirection sur la route /plat/show
edit_plat /plat/edit GET affiche le formulaire pour modifier un plat retourne la vue edit_plat.html
valid_edit_plat /plat/edit POST validation (soumission) du formulaire pour modifier un plat redirection sur la route /plat/show
filtre_plat /plat/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_plat_filtre_show.html



# ########################################################### Sujet  5

typesPlats=[
    {'id':1,'nomTypePlat':'entrée', 'categorieType':'1' },
    {'id':2,'nomTypePlat':'plat principal', 'categorieType':'2'},
    {'id':3,'nomTypePlat':'dessert', 'categorieType':'3'},
    {'id':4,'nomTypePlat':'plat unique', 'categorieType':'4'}
]
plats=[
    {'id':1,'nomPlat':'Choucroute' , 'prixPlat':12.5 , 'dureePreparation':'30' , 'dateCreation':'2014-10-10' , 'description':'petit plat léger alsacien' , 'typePlat_id':1, 'photo':'choucroute.jpg'},
    {'id':2,'nomPlat':'Cassoulet' , 'prixPlat':15 , 'dureePreparation':'60' , 'dateCreation':'2014-10-12' , 'description':'plats du Sud Ouest' , 'typePlat_id':1, 'photo':'cassoulet.jpg'},
    {'id':3,'nomPlat':'Baeckeoffe' , 'prixPlat':17 , 'dureePreparation':'60' , 'dateCreation':'2013-09-21' , 'description':'plat alsacien' , 'typePlat_id':4, 'photo':'baeckeoffe.jpg'},
    {'id':4,'nomPlat':'Salade savoyarde' , 'prixPlat':9.50 , 'dureePreparation':'10' , 'dateCreation':'2014-05-06' , 'description':'Ideal après une randonnée' , 'typePlat_id':1, 'photo':'salade_savoyarde.jpg'},
    {'id':5,'nomPlat':'Tartiflette' , 'prixPlat':13 , 'dureePreparation':'30' , 'dateCreation':'2014-04-08' , 'description':'plat savoyard' , 'typePlat_id':1, 'photo':'tartiflette.jpg'},
    {'id':6,'nomPlat':'bûche glacée' , 'prixPlat':7 , 'dureePreparation':'70' , 'dateCreation':'2014-04-08' , 'description':'glace 3 saveurs' , 'typePlat_id':3, 'photo':'buche_glacee.jpg'},
    {'id':7,'nomPlat':'salade césar' , 'prixPlat':5 , 'dureePreparation':'10' , 'dateCreation':'2023-04-08' , 'description':'légumes de saison' , 'typePlat_id':1, 'photo':'salade_cezar.jpg'},
    {'id':8,'nomPlat':'salade salade de fruit' , 'prixPlat':6 , 'dureePreparation':'15' , 'dateCreation':'2023-01-08' , 'description':'fruit de saison' , 'typePlat_id':3, 'photo':'salade_de_fruit.jpg'},
    {'id':9,'nomPlat':'salade de pâte ensoleillée' , 'prixPlat':15 , 'dureePreparation':'15' , 'dateCreation':'2023-02-02' , 'description':'légumes de saison et pâtes' , 'typePlat_id':4, 'photo':'salade_de_pate_ensoleillee.jpg'},
    {'id':10,'nomPlat':'salade orange miel' , 'prixPlat':7 , 'dureePreparation':'13' , 'dateCreation':'2023-01-08' , 'description':'fruit de saison' , 'typePlat_id':3, 'photo':'salade_orange_miel.jpg'}
    {'id':11,'nomPlat':'salade petit épeautre' , 'prixPlat':7 , 'dureePreparation':'12' , 'dateCreation':'2023-01-08' , 'description':'petit épeautre local et légume de saison' , 'typePlat_id':'4', 'photo':'salade_petit_epeautre.jpg'}
    {'id':12,'nomPlat':'salade savoyarde' , 'prixPlat':5 , 'dureePreparation':'10' , 'dateCreation':'2023-04-08' , 'description':'légumes de saison' , 'typePlat_id':1, 'photo':'salade_savoyarde.jpg'}
]

;


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- sujet 5 : plat / type_Plat       **


INSERT INTO  type_plat (id_type_plat, nom_type_plat, categorie_type) VALUES
(NULL, 'entrée' ,1),
(NULL, 'plat principal' , 2),
(NULL, 'dessert' , 3),
(NULL, 'plat unique' ,4);

INSERT INTO plat (id_plat, nom_plat, prix_plat,  duree_preparation, date_creation,description, type_plat_id, photo) VALUES
(NULL,'Choucroute',12.50,30,'2014-10-10', 'petit plat léger alsacien', 2 , 'choucroute.jpg'),
(NULL,'Cassoulet',15,60,'2014-10-12', 'plat du sud ouest', 2, 'cassoulet.jpg'),
(NULL,'Baeckeoffe',17,60,'2013-09-21', 'plat alsacien', 4, 'baeckeoffe.jpg'),
(NULL,'Salade savoyarde',9.50,10,'2014-05-06', 'Idéal après une randonnée', 1, 'salade_savoyarde.jpg'),
(NULL,'Tartiflette',13,30,'2014-04-08', 'plat savoyard', 2, 'tartiflette.jpg'),
(NULL,'bûche glacée',7,7,'2014-04-08', 'glace 3 saveurs', 3, 'buche_glacee.jpg'),
(NULL,'salade césar' , 5 , 10 , '2023-04-08' , 'légumes de saison' , 1, 'salade_cezar.jpg'),
(NULL,'salade salade de fruit' , 6 , 15 , '2023-01-08' , 'fruit de saison' , 3, 'salade_de_fruit.jpg'),
(NULL,'salade de pâte ensoleillée' , 15 , '15' , '2023-02-02' , 'légumes de saison et pâtes' , 4, 'salade_de_pate_ensoleillee.jpg'),
(NULL,'salade orange miel' , 7 , 13 , '2023-01-08' , 'fruit de saison' , 3, 'salade_orange_miel.jpg'),
(NULL,'salade petit épeautre' , 7 , 12 , '2023-01-08' , 'petit épeautre local et légume de saison' , 4, 'salade_petit_epeautre.jpg'),
(NULL,'salade savoyarde' , 5 , 10 , '2023-04-08' , 'légumes de saison' , 1, 'salade_savoyarde.jpg');



sujet 6

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_genre /genre-film/show GET affiche les genres retourne la vue show_genre.html
add_genre /genre-film/add GET affiche le formulaire pour ajouter un genre retourne la vue add_genre.html
valid_add_genre /genre-film/add POST validation (soumission) du formulaire pour ajouter un genre redirection sur la route /genre-film/show
delete_genre /genre-film/delete GET suppression d’un genre redirection sur la route /genre-film/show
edit_genre /genre-film/edit GET affiche le formulaire pour modifier un genre retourne la vue edit_genre.html
valid_edit_genre /genre-film/edit POST validation (soumission) du formulaire pour modifier un genre redirection sur la route /genre-film/show
show_film /film/show GET affiche les films retourne la vue show_film.html
add_film /film/add GET affiche le formulaire pour ajouter un film retourne la vue add_film.html
valid_add_film /film/add POST validation (soumission) du formulaire pour ajouter un film redirection sur la route /film/show
delete_film /film/delete GET suppression d’un film redirection sur la route /film/show
edit_film /film/edit GET affiche le formulaire pour modifier un film retourne la vue edit_film.html
valid_edit_film /film/edit POST validation (soumission) du formulaire pour modifier un film redirection sur la route /film/show
filtre_film /film/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_film_filtre_show.html



# ########################################################## Sujet 6

genresFilms=[
    {'id':1,'libelleGenre':'Comedie', 'logo':'logo_comedie.png'},
    {'id':2,'libelleGenre':'Science-Fiction', 'logo':'logo_science_fiction.png'},
    {'id':3,'libelleGenre':'Action', 'logo':'logo_action.png'},
    {'id':4,'libelleGenre':'Fantasy', 'logo':'logo_fantasy.png'},
    {'id':5,'libelleGenre':'Animation', 'logo':'logo_animation.png'},
    {'id':6,'libelleGenre':'Horreur', 'logo':'logo_horreur.png'}
]

films = [
    {'id': 1 , 'titreFilm' : 'Le diner de con' , 'dateSortie' : '1998-04-15' , 'nomRealisateur' : 'Francis Veber' , 'genre_id' : 1 , 'duree' : 90, 'affiche':'film_1.jpg' },
    {'id':2,'titreFilm':'Intouchable' , 'dateSortie':'2012-03-28' , 'nomRealisateur':'Eric Toledano','genre_id':1 ,'duree':125, 'affiche':'film_2.jpg' },
    {'id':3,'titreFilm':'Piège de cristal' , 'dateSortie':'1988-09-21' , 'nomRealisateur':'John McTiernan' , 'genre_id':3 ,'duree':90, 'affiche':'film_3.jpg'},
    {'id':4,'titreFilm':'Indiana Jones' , 'dateSortie':'1989-10-18' , 'nomRealisateur':'Steven Spielberg' , 'genre_id':2 ,'duree':125, 'affiche':'film_4.jpg'},
    {'id':5,'titreFilm':'Blade Runner' , 'dateSortie':'1982-09-15' , 'nomRealisateur':'Ridley Scott' , 'genre_id':2 ,'duree' :145, 'affiche':'film_5.jpg'},
    {'id':6,'titreFilm':'Alien' , 'dateSortie':'1979-09-12' , 'nomRealisateur':'Ridley Scott' , 'genre_id':2 ,'duree' :125, 'affiche':'film_6.jpg'},
    {'id':7,'titreFilm':'L Exorciste' , 'dateSortie':'2001-03-14' , 'nomRealisateur':'William Friedkin' , 'genre_id':6 ,'duree':90, 'affiche':'film_7.jpg'},
    {'id':8,'titreFilm':'Psychose' , 'dateSortie':'1960-11-02' , 'nomRealisateur':'Alfred Hitchcock' , 'genre_id':6 ,'duree':125, 'affiche':'film_8.jpg'},
    {'id':9,'titreFilm':'Toy Story' , 'dateSortie':'1996-03-27' , 'nomRealisateur':'John Lasseter' , 'genre_id':5 ,'duree' :90, 'affiche':'film_9.jpg'},
    {'id':10,'titreFilm':'Shrek' , 'dateSortie':'2001-07-04' , 'nomRealisateur':'Andrew Adamson ' , 'genre_id':5 ,'duree' :90, 'affiche':'film_10.jpg'},
    {'id':11,'titreFilm':'La Communauté de l anneau' , 'dateSortie':'2001-12-19' , 'nomRealisateur':'Peter Jackson' , 'genre_id':4 ,'duree' :150, 'affiche':'film_11.jpg'},
    {'id':12,'titreFilm':'Les Deux Tours' , 'dateSortie':'2002-12-18' , 'nomRealisateur':'Peter Jackson' , 'genre_id':4 ,'duree' :152, 'affiche':'film_12.jpg'},
    {'id':13,'titreFilm':'Le Retour du roi' , 'dateSortie':'2003-12-17' , 'nomRealisateur':'Peter Jackson' , 'genre_id':4 ,'duree' :149, 'affiche':'film_13.jpg'},
    {'id':14,'titreFilm':'Inception' , 'dateSortie':'2010-07-08' , 'nomRealisateur':'Christopher Nolan' , 'genre_id':2 ,'duree' :90, 'affiche':'film_14.jpg'},
    {'id':15,'titreFilm':'Warrior' , 'dateSortie':'2011-09-14' , 'nomRealisateur':'Gavin O Connor' , 'genre_id':3 ,'duree' :120, 'affiche':'film_15.jpg'},
    {'id':16,'titreFilm':'Harry Potter à l école des sorciers' , 'dateSortie':'2001-12-05' , 'nomRealisateur':'Chris Columbus' , 'genre_id':4 ,'duree' :125, 'affiche':'film_16.jpg'},
    {'id':17,'titreFilm':'Harry Potter et la Chambre des secrets' , 'dateSortie':'2002-12-04' , 'nomRealisateur':'Chris Columbus' , 'genre_id':4 ,'duree' :125, 'affiche':'film_17.jpg'},
    {'id':18,'titreFilm':'Harry Potter et le Prisonnier d Azkaban' , 'dateSortie':'2004-06-02' , 'nomRealisateur':'Alfonso Cuarón' , 'genre_id':4 ,'duree' :125, 'affiche':'film_18.jpg'},
    {'id':19,'titreFilm':'Harry Potter et la Coupe de feu' , 'dateSortie':'2005-11-30' , 'nomRealisateur': 'Mike Newell' , 'genre_id':4 ,'duree' : 125, 'affiche':'film_19.jpg'},
    {'id':20,'titreFilm':'Harry Potter et l Ordre du phénix' , 'dateSortie':'2009-07-15' , 'nomRealisateur': 'David Yates' , 'genre_id':4 ,'duree' : 125, 'affiche':'film_19.jpg'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)


-- sujet 6 : film / genre_film        **

INSERT INTO genre_film(id_genre,libelle_genre, logo) VALUES
(NULL,'Comedie', 'logo_comedie.png'),
(NULL ,'Science-fiction', 'logo_science_fiction.png'),
(NULL ,'Action', 'logo_action.png'),
(NULL ,'Fantasy', 'logo_fantasy.png'),
(NULL ,'Animation', 'logo_animation.png'),
(NULL ,'Horreur', 'logo_horreur.png');

INSERT INTO film(id_film,titre_film,date_sortie,nom_realisateur,genre_id, duree_film, affiche) VALUES
    (NULL ,'Le diner de con' , '1998-04-15' , 'Francis Veber' , 1 , 90,'film_1.jpg'),
    (NULL ,'Intouchable' ,'2012-03-28','Eric Toledano',1 ,125,'film_2.jpg'),
    (NULL ,'Piège de cristal' ,'1988-09-21' ,'John McTiernan' , 3 ,90,'film_3.jpg'),
    (NULL ,'THE Indiana Jones' ,'1989-10-18' , 'Steven Spielberg' , 2 ,125,'film_4.jpg'),
    (NULL ,'Blade Runner' , '1982-09-15' , 'Ridley Scott' , 2 , 145,'film_5.jpg'),
    (NULL ,'Alien' , '1979-09-12' , 'Ridley Scott' , 2 , 125,'film_6.jpg'),
    (NULL ,'L Exorciste' , '2001-03-14' , 'William Friedkin' , 6 , 90,'film_7.jpg'),
    (NULL ,'Psychose' , '1960-11-02' , 'Alfred Hitchcock' , 6 ,125,'film_8.jpg'),
    (NULL,'Toy Story' , '1996-03-27' , 'John Lasseter' , 5 ,90,'film_9.jpg'),
    (NULL ,'Shrek' , '2001-07-04' , 'Andrew Adamson ' , 5 ,90,'film_10.jpg'),
    (NULL ,'La Communauté de l anneau' , '2001-12-19' , 'Peter Jackson' , 4 ,150,'film_11.jpg'),
    (NULL ,'Les Deux Tours' , '2002-12-18' , 'Peter Jackson' , 4 ,152,'film_12.jpg'),
    (NULL ,'Le Retour du roi' , '2003-12-17' , 'Peter Jackson' , 4 ,149,'film_13.jpg'),
    (NULL ,'Inception' , '2010-07-08' , 'Christopher Nolan' , 2 ,90,'film_14.jpg'),
    (NULL ,'Warrior' , '2011-09-14' , 'Gavin O Connor' , 3 ,120,'film_15.jpg'),
    (NULL,'Harry Potter à l école des sorciers' , '2001-12-05' , 'Chris Columbus' , 4 ,125,'film_16.jpg'),
    (NULL ,'Harry Potter et la Chambre des secrets' , '2002-12-04' , 'Chris Columbus' , 4,125,'film_17.jpg'),
    (NULL ,'Harry Potter et le Prisonnier d Azkaban' , '2004-06-02' , 'Alfonso Cuarón' , 4 ,125,'film_18.jpg'),
    (NULL ,'Harry Potter et la Coupe de feu' , '2005-11-30' , 'Mike Newell' , 4 ,125,'film_19.jpg'),
    (NULL ,'Harry Potter et l Ordre du phénix' , '2009-07-15' , 'David Yates' , 4 ,125,'film_20.jpg');



sujet 7

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_reparation /type-reparation/show GET affiche les types de reparations retourne la vue show_type_reparation.html
add_type_reparation /type-reparation/add GET affiche le formulaire pour ajouter un type de reparation retourne la vue add_type_reparation.html
valid_add_type_reparation /type-reparation/add POST validation (soumission) du formulaire pour ajouter un type de reparation redirection sur la route /type-reparation/show
delete_type_reparation /type-reparation/delete GET suppression d’un type de reparation redirection sur la route /type-reparation/show
edit_type_reparation /type-reparation/edit GET affiche le formulaire pour modifier un type de reparation retourne la vue edit_type_reparation.html
valid_edit_type_reparation /type-reparation/edit POST validation (soumission) du formulaire pour modifier un type de reparation redirection sur la route /type-reparation/show
show_reparation /reparation/show GET affiche les reparations retourne la vue show_reparation.html
add_reparation /reparation/add GET affiche le formulaire pour ajouter une reparation retourne la vue add_reparation.html
valid_add_reparation /reparation/add POST validation (soumission) du formulaire pour ajouter une reparation redirection sur la route /reparation/show
delete_reparation /reparation/delete GET suppression d’une reparation redirection sur la route /reparation/show
edit_reparation /reparation/edit GET affiche le formulaire pour modifier une reparation retourne la vue edit_reparation.html
valid_edit_reparation /reparation/edit POST validation (soumission) du formulaire pour modifier une reparation redirection sur la route /reparation/show
filtre_reparation /reparation/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_reparation_filtre_show.html


########################################################### Sujet 7

typesReparations=[
    {'id':1,'libelleType':'entretien','logo':'logo_entretien.png'},
    {'id':2,'libelleType':'carrosserie','logo':'logo_carrosserie.png'},
    {'id':3,'libelleType':'mecanique','logo':'mecanique.png'},
    {'id':4,'libelleType':'autre','logo':'autre.png'}
]

reparations=[
    {'id':1,'libelleReparation':'Vidange' , 'immatVoiture':'RP-456-ZF' , 'prixReparation':'50' , 'dateReparation':'2014-10-15' , 'typeReparation_id':1, 'photo':'intervention_1.png'},
    {'id':2,'libelleReparation':'Vidange' , 'immatVoiture':'HK-856-SN' , 'prixReparation':'89' , 'dateReparation':'2005-05-06' , 'typeReparation_id':1, 'photo':'intervention_1.png'},
    {'id':3,'libelleReparation':'Vidange' , 'immatVoiture':'SD-479-EG' , 'prixReparation':'57' , 'dateReparation':'2007-08-08' , 'typeReparation_id':1, 'photo':'intervention_1.png'},
    {'id':4,'libelleReparation':'Vidange' , 'immatVoiture':'KU-458-VX' , 'prixReparation':'68' , 'dateReparation':'2007-04-13' , 'typeReparation_id':1, 'photo':'intervention_1.png'},
    {'id':5,'libelleReparation':'Remplac. pare brise' , 'immatVoiture':'LY-228-EY' , 'prixReparation':'250.00' , 'dateReparation':'2003-12-30' , 'typeReparation_id':2, 'photo':'intervention_2.png'},
    {'id':6,'libelleReparation':'Remplac. pare brise' , 'immatVoiture':'DS-865-KT' , 'prixReparation':'175.65' , 'dateReparation':'2011-05-06' , 'typeReparation_id':2, 'photo':'intervention_2.png'},
    {'id':7,'libelleReparation':'révision' , 'immatVoiture':'XG-554-DD' , 'prixReparation':'100' , 'dateReparation':'2010-03-01' , 'typeReparation_id':1, 'photo':'intervention_3.png'},
    {'id':8,'libelleReparation':'révision' , 'immatVoiture':'JK-103-DG' , 'prixReparation':'90' , 'dateReparation':'2001-05-06' , 'typeReparation_id':1, 'photo':'intervention_3.png'},
    {'id':9,'libelleReparation':'Changement pneus' , 'immatVoiture':'KU-458-VX' , 'prixReparation':'30.54' , 'dateReparation':'2007-04-13' , 'typeReparation_id':1, 'photo':'intervention_4.png'},
    {'id':10,'libelleReparation':'Changement pneus' , 'immatVoiture':'LY-228-EY' , 'prixReparation':'224.21' , 'dateReparation':'2009-12-30' , 'typeReparation_id':1, 'photo':'intervention_4.png'},
    {'id':11,'libelleReparation':'Changement pneus' , 'immatVoiture':'DS-865-KT' , 'prixReparation':'227.00' , 'dateReparation':'2011-05-06' , 'typeReparation_id':1, 'photo':'intervention_4.png'},
    {'id':12,'libelleReparation':'Remplacement plaq. de frein' , 'immatVoiture':'XG-554-DD' , 'prixReparation':'150' , 'dateReparation':'2010-03-01' , 'typeReparation_id':1, 'photo':'intervention_5.png'},
    {'id':13,'libelleReparation':'Tambour freins arr.' , 'immatVoiture':'CD-665-GZ' , 'prixReparation':'180' , 'dateReparation':'2012-05-06' ,  'typeReparation_id':3, 'photo':'intervention_6.png'},
    {'id':14,'libelleReparation':'Remplacement plaq. de frein' , 'immatVoiture':'KU-458-VX' , 'prixReparation':'100' , 'dateReparation':'2007-04-13' , 'typeReparation_id':1, 'photo':'intervention_5.png'},
    {'id':15,'libelleReparation':'Changement des cardans' , 'immatVoiture':'LY-228-EY' , 'prixReparation':'1300' , 'dateReparation':'2009-12-30' ,  'typeReparation_id':3, 'photo':'intervention_7.png'},
    {'id':16,'libelleReparation':'Changement boite de vitesse' , 'immatVoiture':'DS-865-KT' , 'prixReparation':'1400' , 'dateReparation':'2011-05-06', 'typeReparation_id':3, 'photo':'intervention_8.png'} ,
    {'id':17,'libelleReparation':'Remplac. courroie distribution' , 'immatVoiture':'XG-554-DD' , 'prixReparation':'440', 'dateReparation':'2010-03-01' ,  'typeReparation_id':3, 'photo':'intervention_9.png'} ,
    {'id':18,'libelleReparation':'Remplac. courroie distribution' , 'immatVoiture':'JK-103-DG' , 'prixReparation':'460' , 'dateReparation':'2001-05-06' ,  'typeReparation_id':3, 'photo':'intervention_9.png'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

# sujet 7 : reparation / type_reparation          **

INSERT INTO type_reparation(id_type, libelle_type, logo) VALUES
 (NULL, 'entretien', 'logo_entretien.png'),
 (NULL, 'carrosserie', 'logo_entretien.png'),
 (NULL, 'mecanique', 'logo_entretien.png'),
 (NULL, 'autre', 'logo_autre.png');

INSERT INTO reparation(id_reparation,libelle_reparation,immat_voiture,prix_reparation,date_reparation,type_reparation_id,photo) VALUES
(NULL,'Vidange','RP-456-ZF','50','2014-10-15',1,'intervention_1.png'),
(NULL,'Vidange','HK-856-SN','89','2005-05-06',1,'intervention_1.png'),
(NULL,'Vidange','SD-479-EG','57','2007-08-08',1,'intervention_1.png'),
(NULL,'Vidange','KU-458-VX','68','2007-04-13',1,'intervention_1.png'),
(NULL,'Remplac. pare brise','LY-228-EY','250.00','2003-12-30',2,'intervention_2.png'),
(NULL,'Remplac. pare brise','DS-865-KT','175.65','2011-05-06',2,'intervention_2.png'),
(NULL,'révision','XG-554-DD','100','2010-03-01',1,'intervention_3.png'),
(NULL,'révision','JK-103-DG','90','2001-05-06',1,'intervention_3.png'),
(NULL,'Changement pneus','KU-458-VX','30.54','2007-04-13',1,'intervention_4.png'),
(NULL,'Changement pneus','LY-228-EY','224.21','2009-12-30',1,'intervention_4.png'),
(NULL,'Changement pneus','DS-865-KT','227.00','2011-05-06',1,'intervention_4.png'),
(NULL,'Remplacement plaq. de frein','XG-554-DD','150','2010-03-01',1,'intervention_5.png'),
(NULL,'Tambour freins arr.','CD-665-GZ','180','2012-05-06',3,'intervention_6.png'),
(NULL,'Remplacement plaq. de frein','KU-458-VX','100','2007-04-13',1,'intervention_5.png'),
(NULL,'Changement des cardans','LY-228-EY','1300','2009-12-30',3,'intervention_6.png'),
(NULL,'Changement boite de vitesse','DS-865-KT','1400','2011-05-06',3,'intervention_7.png'),
(NULL,'Remplac. courroie distribution','XG-554-DD','440','2010-03-01',3,'intervention_8.png'),
(NULL,'Remplac. courroie distribution','JK-103-DG','460','2001-05-06',3,'intervention_9.png');



sujet 8

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_auteur /auteur/show GET affiche les auteurs retourne la vue show_auteur.html
add_auteur /auteur/add GET affiche le formulaire pour ajouter un auteur retourne la vue add_auteur.html
valid_add_auteur /auteur/add POST validation (soumission) du formulaire pour ajouter un auteur redirection sur la route /auteur/show
delete_auteur /auteur/delete GET suppression d’un auteur redirection sur la route /auteur/show
edit_auteur /auteur/edit GET affiche le formulaire pour modifier un auteur retourne la vue edit_auteur.html
valid_edit_auteur /auteur/edit POST validation (soumission) du formulaire pour modifier un auteur redirection sur la route /auteur/show
show_bande_dessinee /bande-dessinee/show GET affiche les bandes-dessinees retourne la vue show_bande_dessinee.html
add_bande_dessinee /bande-dessinee/add GET affiche le formulaire pour ajouter une bande dessinee retourne la vue add_bande_dessinee.html
valid_add_bande_dessinee /bande-dessinee/add POST validation (soumission) du formulaire pour ajouter une bande dessinee redirection sur la route /bande-dessinee/show
delete_bande_dessinee /bande-dessinee/delete GET suppression d’une bande dessinee redirection sur la route /bande-dessinee/show
edit_bande_dessinee /bande-dessinee/edit GET affiche le formulaire pour modifier une bande dessinee retourne la vue edit_bande_dessinee.html
valid_edit_bande_dessinee /bande-dessinee/edit POST validation (soumission) du formulaire pour modifier une bande dessinee redirection sur la route /bande-dessinee/show
filtre_bande_dessinee /bande-dessinee/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_bande_dessinee_filtre_show.html


########################################################### Sujet 8

auteurs=[
    {'id':1,'nomAuteur':'Goscinny-Uderzo'},
    {'id':2,'nomAuteur':'Roba-Rosy'},
    {'id':3,'nomAuteur':'Herge'},
    {'id':4,'nomAuteur':'Franquin - Delporte'}
]
bandesDessinees=[
    {'id':1,'serieBD':'Astérix et Obélix', 'auteur_id':1, 'titreBd':'La serpe d or', 'tome':1, 'dateParution':'2005-10-09', 'prixBd':'7.5', 'image':'bd1.png'},
    {'id':2,'serieBD':'Astérix et Obélix', 'auteur_id':1, 'titreBd':'Asterix et les Goths', 'tome':'2', 'dateParution': '2011-10-10', 'prixBd':'10', 'image':'bd2.png'},
    {'id':3,'serieBD':'Astérix et Obélix', 'auteur_id':1, 'titreBd':'Asterix et les gladiateurs', 'tome':'3', 'dateParution': '2004-10-11', 'prixBd':'5', 'image':'bd3.png'},
    {'id':4,'serieBD':'Astérix et Obélix', 'auteur_id':1, 'titreBd':'Tour de Gaule d astérix', 'tome':'4', 'dateParution': '2005-09-10', 'prixBd':'8.5', 'image':'bd20.png'},
    {'id':5,'serieBD':'Astérix et Obélix', 'auteur_id':1, 'titreBd':'La zizanie', 'tome':'15', 'dateParution': '2014-09-10', 'prixBd':'15', 'image':'bd4.png'},
    {'id':6,'serieBD':'Boule et Bill', 'auteur_id':2, 'titreBd':'60 gags de Boule et Bill', 'tome':1, 'dateParution':'2010-10-11', 'prixBd':'10', 'image':'bd5.png'},
    {'id':7,'serieBD':'Boule et Bill', 'auteur_id':2, 'titreBd':'Papa maman, Boule et... moi', 'tome':'8', 'dateParution':'2005-10-11', 'prixBd':'10.5', 'image':'bd6.png'},
    {'id':8,'serieBD':'Boule et Bill', 'auteur_id':2, 'titreBd':'Une vie de chien !', 'tome':'9', 'dateParution':'2012-10-11', 'prixBd':'20', 'image':'bd7.png'},
    {'id':9,'serieBD':'Boule et Bill', 'auteur_id':2, 'titreBd':'Attention chien marrant !', 'tome':'10', 'dateParution':'2013-10-11', 'prixBd':'10', 'image':'bd8.png'},
    {'id':10,'serieBD':'Boule et Bill', 'auteur_id':2, 'titreBd':'Jeux de Bill', 'tome':'11', 'dateParution':'2014-10-11', 'prixBd':'20', 'image':'bd9.png'},
    {'id':11,'serieBD':'Tintin', 'auteur_id':3, 'titreBd':'Tintin au pays des Soviets', 'tome':'1', 'dateParution':'2005-10-11', 'prixBd':'10', 'image':'bd10.png'},
    {'id':12,'serieBD':'Tintin', 'auteur_id':3, 'titreBd':'Tintin au Congo', 'tome':'2', 'dateParution':'2011-07-11', 'prixBd':'10', 'image':'bd11.png'},
    {'id':13,'serieBD':'Tintin', 'auteur_id':3, 'titreBd':'Tintin en Amérique', 'tome':'3', 'dateParution':'2012-10-11', 'prixBd':'10', 'image':'bd12.png'},
    {'id':14,'serieBD':'Tintin', 'auteur_id':3, 'titreBd':'Les Cigares du pharaon', 'tome':'4', 'dateParution':'2005-10-13', 'prixBd':'20', 'image':'bd13.png'},
    {'id':15,'serieBD':'Tintin', 'auteur_id':3, 'titreBd':'Le lotus bleu', 'tome':'5', 'dateParution':'2014-10-13', 'prixBd':'20', 'image':'bd14.png'},
    {'id':16,'serieBD':'Gaston Lagaffe', 'auteur_id':4, 'titreBd':'Gare aux gaffes', 'tome':1, 'dateParution':'2010-12-03', 'prixBd':'10', 'image':'bd15.png'},
    {'id':17,'serieBD':'Gaston Lagaffe', 'auteur_id':4, 'titreBd':'Gala de gaffes', 'tome':'2', 'dateParution':'2012-09-06', 'prixBd':'10', 'image':'bd16.png'},
    {'id':18,'serieBD':'Gaston Lagaffe', 'auteur_id':4, 'titreBd':'Gaffes à gogo', 'tome':'3', 'dateParution':'2014-08-06', 'prixBd':'8', 'image':'bd17.png'},
    {'id':19,'serieBD':'Gaston Lagaffe', 'auteur_id':4, 'titreBd':'Gaffes en gros', 'tome':'4', 'dateParution':'2013-04-06', 'prixBd':'10', 'image':'bd18.png'},
    {'id':20,'serieBD':'Gaston Lagaffe', 'auteur_id':4, 'titreBd':'Les gaffes d un gars gonflé', 'tome':'5', 'dateParution':'2005-03-06', 'prixBd':'8', 'image':'bd19.png'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- # sujet 8 :  bande_dessinee / auteur       **

INSERT INTO auteur (id_auteur, nom_auteur) VALUES
   (NULL,'Goscinny-Uderzo'),
   (NULL,'Roba-Rosy'),
   (NULL,'Herge'),
   (NULL,'Franquin - Delporte');

INSERT INTO bande_dessinee (id_bande_dessinee,serie_bd, auteur_id, titre_bd, tome, date_parution, prix_bd, image) VALUES
   (NULL,'Astérix et Obélix',1,'La serpe d or',1,'2005-10-09','7.5', 'bd1.png'),
   (NULL,'Astérix et Obélix',1,'Asterix et les Goths',2,'2011-10-10','10', 'bd2.png'),
   (NULL,'Astérix et Obélix',1,'Asterix et les gladiateurs',3,'2004-10-11','5', 'bd3.png'),
   (NULL,'Astérix et Obélix',1,'Tour de Gaule d astérix',4,'2005-09-10','5', 'bd20.png'),
   (NULL,'Astérix et Obélix',1,'La zizanie',15,'2014-09-10','15', 'bd4.png'),
   (NULL,'Boule et Bill',2,'60 gags de Boule et Bill',1,'2010-10-11','10', 'bd5.png'),
   (NULL,'Boule et Bill',2,'Papa maman, Boule et... moi',8,'2005-10-11','10.5', 'bd6.png'),
   (NULL,'Boule et Bill',2,'Une vie de chien !',9,'2012-10-11','20', 'bd7.png'),
   (NULL,'Boule et Bill',2,'Attention chien marrant !',10,'2013-10-11','10', 'bd8.png'),
   (NULL,'Boule et Bill',2,'Jeux de Bill',11,'2014-10-11','20', 'bd9.png'),
   (NULL,'Tintin',3,'Tintin au pays des Soviets',1,'2005-10-11','10', 'bd10.png'),
   (NULL,'Tintin',3,'Tintin au Congo',2,'2011-07-11','10', 'bd11.png' ),
   (NULL,'Tintin',3,'Tintin en Amérique',3,'2012-10-11','10', 'bd12.png'),
   (NULL,'Tintin',3,'Les Cigares du pharaon',4,'2005-10-13','20', 'bd13.png'),
   (NULL,'Tintin',3,'Le lotus bleu',5,'2014-10-13','20', 'bd14.png'),
   (NULL,'Gaston Lagaffe',4,'Gare aux gaffes',1,'2010-12-03','10', 'bd15.png'),
   (NULL,'Gaston Lagaffe',4,'Gala de gaffes',2,'2012-09-06','10', 'bd16.png'),
   (NULL,'Gaston Lagaffe',4,'Gaffes à gogo',3,'2014-08-06','8', 'bd17.png'),
   (NULL,'Gaston Lagaffe',4,'Gaffes en gros',4,'2013-04-06','10', 'bd18.png'),
   (NULL,'Gaston Lagaffe',4,'Les gaffes d un gars gonflé',5,'2005-03-06','8', 'bd19.png');



sujet 9

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_salle /salle-info/show GET affiche les types d’ordinateurs retourne la vue show_salle.html
add_salle /salle-info/add GET affiche le formulaire pour ajouter une salle retourne la vue add_salle.html
valid_add_salle /salle-info/add POST validation (soumission) du formulaire pour ajouter une salle redirection sur la route /salle-info/show
delete_salle /salle-info/delete GET suppression d’une salle redirection sur la route /salle-info/show
edit_salle /salle-info/edit GET affiche le formulaire pour modifier une salle retourne la vue edit_salle.html
valid_edit_salle /salle-info/edit POST validation (soumission) du formulaire pour modifier une salle redirection sur la route /salle-info/show
show_ordinateur /ordinateur/show GET affiche les ordinateurs retourne la vue show_ordinateur.html
add_ordinateur /ordinateur/add GET affiche le formulaire pour ajouter un ordinateur retourne la vue add_ordinateur.html
valid_add_ordinateur /ordinateur/add POST validation (soumission) du formulaire pour ajouter un ordinateur redirection sur la route /ordinateur/show
delete_ordinateur /ordinateur/delete GET suppression d’un ordinateur redirection sur la route /ordinateur/show
edit_ordinateur /ordinateur/edit GET affiche le formulaire pour modifier un ordinateur retourne la vue edit_ordinateur.html
valid_edit_ordinateur /ordinateur/edit POST validation (soumission) du formulaire pour modifier un ordinateur redirection sur la route /ordinateur/show
filtre_ordinateur /ordinateur/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_ordinateur_filtre_show.html


########################################################### Sujet 9

sallesInfo=[
    {'id':1,'nomSalle':'Alpha', 'etage':1 },
    {'id':2,'nomSalle':'Mac', 'etage':2 },
    {'id':3,'nomSalle':'DEC', 'etage':1 }
]

ordinateurs=[
    {'id':1,'marqueOrdinateur':'HP', 'nomMachine':'HP-1', 'ram':'32' , 'dateAchat':'2018-02-15','salle_id':1, 'prix':'1000', 'image':'hp.jpg'},
    {'id':2,'marqueOrdinateur':'HP', 'nomMachine':'HP-2', 'ram':'32' , 'dateAchat':'2018-02-15','salle_id':1, 'prix':'1000', 'image':'hp.jpg'},
    {'id':3,'marqueOrdinateur':'HP', 'nomMachine':'HP-3', 'ram':'32' , 'dateAchat':'2018-02-15','salle_id':1, 'prix':'1000', 'image':'hp.jpg'},
    {'id':4,'marqueOrdinateur':'HP', 'nomMachine':'HP-4', 'ram':'32' , 'dateAchat':'2018-02-15','salle_id':1, 'prix':'1000', 'image':'hp.jpg'},
    {'id':5,'marqueOrdinateur':'HP', 'nomMachine':'HP-5', 'ram':'32' , 'dateAchat':'2019-02-15','salle_id':1, 'prix':'1000', 'image':'hp.jpg'},
    {'id':6,'marqueOrdinateur':'HP', 'nomMachine':'HP-6', 'ram':'32' , 'dateAchat':'2019-02-15','salle_id':1, 'prix':'1000', 'image':'hp.jpg'},
    {'id':7,'marqueOrdinateur':'Apple', 'nomMachine':'iMac3', 'ram':'32' , 'dateAchat':'2020-10-16','salle_id':2, 'prix':'1500','image':'imac.jpg'},
    {'id':8,'marqueOrdinateur':'Apple', 'nomMachine':'iMac1', 'ram':'32' , 'dateAchat':'2020-10-16','salle_id':2, 'prix':'1500','image':'imac.jpg'},
    {'id':9,'marqueOrdinateur':'Apple', 'nomMachine':'iMac2', 'ram':'32' , 'dateAchat':'2020-10-16','salle_id':2, 'prix':'1500','image':'imac.jpg'},
    {'id':10,'marqueOrdinateur':'Apple', 'nomMachine':'iMac4', 'ram':'32' , 'dateAchat':'2018-01-30','salle_id':2, 'prix':'1500','image':'imac.jpg'},
    {'id':11,'marqueOrdinateur':'Apple', 'nomMachine':'MacPro2', 'ram':'64' , 'dateAchat':'2019-01-30','salle_id':2, 'prix':'1700','image':'macpro.jpg'},
    {'id':12,'marqueOrdinateur':'Apple', 'nomMachine':'MacPro1', 'ram':'64' , 'dateAchat':'2019-01-30','salle_id':2, 'prix':'1700','image':'macpro.jpg'},
    {'id':13,'marqueOrdinateur':'Apple', 'nomMachine':'iMac7', 'ram':'32' , 'dateAchat':'2018-01-30','salle_id':2, 'prix':'1500','image':'imac.jpg'},
    {'id':14,'marqueOrdinateur':'Apple', 'nomMachine':'iMac8', 'ram':'16' , 'dateAchat':'2018-01-30','salle_id':2, 'prix':'1500','image':'imac.jpg'},
    {'id':15,'marqueOrdinateur':'Dell', 'nomMachine':'Dell-1', 'ram':'32' , 'dateAchat':'2018-07-10','salle_id':3, 'prix':'1100','image':'dell.jpg'},
    {'id':16,'marqueOrdinateur':'Dell', 'nomMachine':'Dell-2', 'ram':'32' , 'dateAchat':'2018-07-10','salle_id':3, 'prix':'1100','image':'dell.jpg'},
    {'id':17,'marqueOrdinateur':'Dell', 'nomMachine':'Dell-3', 'ram':'32' , 'dateAchat':'2018-07-10','salle_id':3, 'prix':'1100','image':'dell.jpg'},
    {'id':18,'marqueOrdinateur':'Dell', 'nomMachine':'Dell-4', 'ram':'32' , 'dateAchat':'2018-07-10','salle_id':3, 'prix':'1100','image':'dell.jpg'},
    {'id':19,'marqueOrdinateur':'Asus', 'nomMachine':'Asus-6', 'ram':'16' , 'dateAchat':'2018-11-02','salle_id':3, 'prix':'1100','image':'asus.jpg'},
    {'id':20,'marqueOrdinateur':'Asus', 'nomMachine':'Asus-7', 'ram':'16' , 'dateAchat':'2019-11-02','salle_id':3, 'prix':'900','image':'asus.jpg'},
    {'id':21,'marqueOrdinateur':'Asus', 'nomMachine':'Asus-8', 'ram':'16' , 'dateAchat':'2019-11-02','salle_id':3, 'prix':'900','image':'asus.jpg'},
    {'id':22,'marqueOrdinateur':'Asus', 'nomMachine':'Asus-9', 'ram':'16' , 'dateAchat':'2019-11-02','salle_id':3, 'prix':'900','image':'asus.jpg'},
    {'id':23,'marqueOrdinateur':'MSI', 'nomMachine':'MSI-1', 'ram':'16' , 'dateAchat':'2018-02-18','salle_id':3, 'prix':'800','image':'msi.jpg'},
    {'id':24,'marqueOrdinateur':'MSI', 'nomMachine':'MSI-2', 'ram':'16' , 'dateAchat':'2018-02-18','salle_id':3, 'prix':'800','image':'msi.jpg'},
    {'id':25,'marqueOrdinateur':'MSI', 'nomMachine':'MSI-3', 'ram':'16' , 'dateAchat':'2018-02-18','salle_id':3, 'prix':'800','image':'msi.jpg'},
    {'id':26,'marqueOrdinateur':'MSI', 'nomMachine':'MSI-4', 'ram':'16' , 'dateAchat':'2018-02-18','salle_id':3, 'prix':'800','image':'msi.jpg'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- # sujet 9 :  ordinateur / salle_info       **


INSERT INTO salle_info (id_salle, nom_salle, etage) VALUES
(NULL, 'Alpha',1),
(NULL, 'Mac',2),
(NULL, 'DEC',1);

INSERT INTO ordinateur (id_ordinateur, marque_ordinateur, nom_machine, ram, date_achat, salle_id, prix, image) VALUES
(NULL, 'HP', 'HP-1', 32, '2018-02-15', 1, 1000,'hp.jpg'),
(NULL, 'HP', 'HP-2', 32, '2018-02-15', 1, 1000,'hp.jpg'),
(NULL, 'HP', 'HP-3', 32, '2018-02-15', 1, 1000,'hp.jpg'),
(NULL, 'HP', 'HP-4', 32, '2018-02-15', 1, 1000,'hp.jpg'),
(NULL, 'HP', 'HP-5', 32, '2019-02-15', 1, 1000,'hp.jpg'),
(NULL, 'HP', 'HP-6', 32, '2019-02-15', 1, 1000,'hp.jpg'),
(NULL, 'Apple', 'iMac3', 32, '2020-10-16', 2, 1500,'imac.jpg'),
(NULL, 'Apple', 'iMac1', 32, '2020-10-16', 2, 1500,'imac.jpg'),
(NULL, 'Apple', 'iMac2', 32, '2020-10-16', 2, 1500,'imac.jpg'),
(NULL, 'Apple', 'iMac4', 32, '2018-01-30', 2, 1500,'imac.jpg'),
(NULL, 'Apple', 'MacPro2', 64, '2019-01-30', 2, 1700,'macpro.jpg'),
(NULL, 'Apple', 'MacPro1', 64, '2019-01-30', 2, 1700,'macpro.jpg'),
(NULL, 'Apple', 'iMac7', 32, '2018-01-30', 2, 1500,'imac.jpg'),
(NULL, 'Apple', 'iMac8', 16, '2018-01-30', 2, 1500,'imac.jpg'),
(NULL, 'Dell', 'Dell-1', 32, '2018-07-10', 3, 1100,'dell.jpg'),
(NULL, 'Dell', 'Dell-2', 32, '2018-07-10', 3, 1100,'dell.jpg'),
(NULL, 'Dell', 'Dell-3', 32, '2018-07-10', 3, 1100,'dell.jpg'),
(NULL, 'Dell', 'Dell-4', 32, '2018-07-10', 3, 1100,'dell.jpg'),
(NULL, 'Asus', 'Asus-6', 16, '2018-11-02', 3, 1100,'asus.jpg'),
(NULL, 'Asus', 'Asus-7', 16, '2019-11-02', 3, 900,'asus.jpg'),
(NULL, 'Asus', 'Asus-8', 16, '2019-11-02', 3, 900,'asus.jpg'),
(NULL, 'Asus', 'Asus-9', 16, '2019-11-02', 3, 900,'asus.jpg'),
(NULL, 'MSI', 'MSI-1', 16, '2018-02-18', 3, 800,'msi.jpg'),
(NULL, 'MSI', 'MSI-2', 16, '2018-02-18', 3, 800,'msi.jpg'),
(NULL, 'MSI', 'MSI-3', 16, '2018-02-18', 3, 800,'msi.jpg'),
(NULL, 'MSI', 'MSI-4', 16, '2018-02-18', 3, 800,'msi.jpg');



sujet 10

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_commercant /type-commercant/show GET affiche les types de commercants retourne la vue show_type_commercant.html
add_type_commercant /type-commercant/add GET affiche le formulaire pour ajouter un type de commercant retourne la vue add_type_commercant.html
valid_add_type_commercant /type-commercant/add POST validation (soumission) du formulaire pour ajouter un type de commercant redirection sur la route /type-commercant/show
delete_type_commercant /type-commercant/delete GET suppression d’un type de commercant redirection sur la route /type-commercant/show
edit_type_commercant /type-commercant/edit GET affiche le formulaire pour modifier un type de commercant retourne la vue edit_type_commercant.html
valid_edit_type_commercant /type-commercant/edit POST validation (soumission) du formulaire pour modifier un type de commercant redirection sur la route /type-commercant/show
show_commercant /commercant/show GET affiche les commercants retourne la vue show_commercant.html
add_commercant /commercant/add GET affiche le formulaire pour ajouter un commercant retourne la vue add_commercant.html
valid_add_commercant /commercant/add POST validation (soumission) du formulaire pour ajouter un commercant redirection sur la route /commercant/show
delete_commercant /commercant/delete GET suppression d’un commercant redirection sur la route /commercant/show
edit_commercant /commercant/edit GET affiche le formulaire pour modifier un commercant retourne la vue edit_commercant.html
valid_edit_commercant /commercant/edit POST validation (soumission) du formulaire pour modifier un commercant redirection sur la route /commercant/show
filtre_commercant /commercant/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_commercant_filtre_show.html


typeCommercants=[
    {'id':1,'libelleType':'Boucherie'},
    {'id':2,'libelleType':'Boulangerie'},
    {'id':3,'libelleType':'Maraicher'},
    {'id':4,'libelleType':'Fromagerie'}
]
commercants=[
    {'id':1,'nomCommercant':'Boucherie Rousselet', 'dateInstallation':'2010-1-1','prixLocation':'500', 'adresse':'marché des vosges' ,'typeCommercant_id' :1,'image': 'boucherie_rousselet.jpg'},
    {'id':2,'nomCommercant':'Boulanger Peslier', 'dateInstallation':'2009-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :2,'image': 'boulanger_peslier.jpg'},
    {'id':3,'nomCommercant':'Patisserie Perez', 'dateInstallation':'2014-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :2,'image': 'patisserie_perez.jpg'},
    {'id':4,'nomCommercant':'Maraicher Ravier', 'dateInstallation':'2014-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :3,'image': 'maraicher_ravier.jpg'},
    {'id':5,'nomCommercant':'Bon Pain Woltz', 'dateInstallation':'2013-1-1','prixLocation':'700', 'adresse':'marché des vosges' ,'typeCommercant_id' :2,'image': 'bon_pain_woltz.jpg'},
    {'id':6,'nomCommercant':'Caly Maraicher', 'dateInstallation':'2014-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :3,'image': 'caly_maraicher.jpg'},
    {'id':7,'nomCommercant':'Boucherie Caly', 'dateInstallation':'2013-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :1,'image': 'boucherie_caly.jpg'},
    {'id':8,'nomCommercant':'Fromagerie mervant', 'dateInstallation':'2013-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :4,'image': 'fromagerie_mervant.jpg'},
    {'id':9,'nomCommercant':'Boulangerie Laure', 'dateInstallation':'2013-1-1','prixLocation':'800', 'adresse':'marché des vosges' ,'typeCommercant_id' :2,'image': 'boulangerie_laure.jpg'},
    {'id':10,'nomCommercant':'Boucherie Laurent', 'dateInstallation':'2013-1-1','prixLocation':'800', 'adresse':'marché des vosges' ,'typeCommercant_id' :1,'image': 'boucherie_laurent.jpg'},
    {'id':11,'nomCommercant':'Fromagerie dupuis', 'dateInstallation':'2014-1-1','prixLocation':'600', 'adresse':'marché des vosges' ,'typeCommercant_id' :4,'image': 'fromagerie_dupuis.jpg'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- # sujet 10 : commercant  type_commercant         **

INSERT INTO type_commercant(id_type_com, libelle_type_com) VALUES
    (NULL,'Boucherie'),
    (NULL,'Boulangerie'),
    (NULL,'Maraicher'),
    (NULL,'Fromagerie');

INSERT INTO commercant(id_com, nom_commercant, date_installation, prix_location, adresse_marche, type_com_id, image) VALUES
    (NULL,'Boucherie rousselet','2010-1-1','500.00','Marché des Vosges',1,'boucherie_rousselet.jpg'),
    (NULL,'Boulanger Peslier','2009-1-1','600.00','Marché des Vosges',2,'boulanger_peslier.jpg'),
    (NULL,'Patisserie Perez','2014-1-1','600.00','Marché des Vosges',2,'patisserie_perez.jpg'),
    (NULL,'Maraîcher Ravier','2014-1-1','600.00','Marché des Vosges',3,'maraicher_ravier.jpg'),
    (NULL,'Bon Pain Woltz','2013-1-1','700.00','Marché des Vosges',2, 'bon_pain_woltz.jpg'),
    (NULL,'Caly Maraicher','2014-1-1','600.00','Marché des Vosges',3,'caly_maraicher.jpg'),
    (NULL,'Boucherie Caly','2013-1-1','600.00','Marché des Vosges',1,'boucherie_caly.jpg'),
    (NULL,'Fromagerie Mervant','2013-1-1','600.00','Marché des Vosges',4,'fromagerie_mervant.jpg'),
    (NULL,'Boulangerie Laure','2013-1-1','800.00','Marché des Vosges',2,'boulangerie_laure.jpg'),
    (NULL,'Boulangerie Laurent','2013-1-1','800.00','Marché des Vosges',1,'boucherie_laurent.jpg'),
    (NULL,'Fromagerie Dupuis','2014-1-1','600.00','Marché des Vosges',4,'fromagerie_dupuis.jpg');



sujet 11

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_categorie_depense /categorie-depense/show GET affiche les les categories de dépenses retourne la vue show_categorie_depense.html
add_categorie_depense /categorie-depense/add GET affiche le formulaire pour ajouter une categorie de dépenses retourne la vue add_categorie_depense.html
valid_add_categorie_depense /categorie-depense/add POST validation (soumission) du formulaire pour ajouter une categorie de dépenses redirection sur la route /categorie-depense/show
delete_categorie_depense /categorie-depense/delete GET suppression d’une categorie de dépenses redirection sur la route /categorie-depense/show
edit_categorie_depense /categorie-depense/edit GET affiche le formulaire pour modifier une categorie de dépenses retourne la vue edit_categorie_depense.html
valid_edit_categorie_depense /categorie-depense/edit POST validation (soumission) du formulaire pour modifier une categorie de dépenses redirection sur la route /categorie-depense/show
show_depense /depense/show GET affiche les dépenses retourne la vue show_depense.html
add_depense /depense/add GET affiche le formulaire pour ajouter une dépense retourne la vue add_depense.html
valid_add_depense /depense/add POST validation (soumission) du formulaire pour ajouter une dépense redirection sur la route /depense/show
delete_depense /depense/delete GET suppression d’une dépense redirection sur la route /depense/show
edit_depense /depense/edit GET affiche le formulaire pour modifier une dépense retourne la vue edit_depense.html
valid_edit_depense /depense/edit POST validation (soumission) du formulaire pour modifier une dépense redirection sur la route /depense/show
filtre_depense /depense/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_depense_filtre_show.html




# ########################################################### Sujet  11

categoriesDepenses=[
    {'id':1,'libelleCategorie':'Autoroute', 'budget':'déplacement'},
    {'id':2,'libelleCategorie':'Carburant', 'budget':'déplacement'},
    {'id':3,'libelleCategorie':'Repas', 'budget':'hébergement'},
    {'id':4,'libelleCategorie':'Hébergement', 'budget':'hébergement'}
]
depenses=[
    {'id':1, 'destinataireDepense':'Service d\'autoroute Vinci','montant':'35','description':'Péages Belfort-Lyon', 'date_depense':'2014-04-20' , 'categorieDepense_id':1, 'image':'img_depense_1.png'},
    {'id':2, 'destinataireDepense':'Organisation ACD','montant':'410.47','description':'Comité de direction', 'date_depense':'2014-07-03' , 'categorieDepense_id':3, 'image':'img_depense_2.png'},
    {'id':3, 'destinataireDepense':'intendance UTBM','montant':'120','description':'forum étudiants', 'date_depense':'2014-08-18',  'categorieDepense_id':4, 'image':'img_depense_4.png'},
    {'id':4, 'destinataireDepense':'Autoroute Ouest','montant':'25.5','description':'Péages Paris-Nantes', 'date_depense':'2014-07-28' , 'categorieDepense_id':1, 'image':'img_depense_3.png'},
    {'id':5, 'destinataireDepense':'TotalEnergies','montant':'45','description':'Sans plomb 95 35L', 'date_depense':'2014-04-14' , 'categorieDepense_id':2, 'image':'img_depense_3.png', 'image':'img_depense_5.png'},
    {'id':6, 'destinataireDepense':'Hilton Hotels & Resorts','montant':'842','description':'Hotel Hilton Paris', 'date_depense':'2014-01-06' , 'categorieDepense_id':4, 'image':'img_depense_6.png'},
    {'id':7, 'destinataireDepense':'Service d\'autoroute Vinci','montant':'42.00','description':'Péages Belfort-Paris', 'date_depense':'2014-12-07' , 'categorieDepense_id':1, 'image':'img_depense_1.png'},
    {'id':8, 'destinataireDepense':'TotalEnergies','montant':'75','description':'Diezel 60L', 'date_depense':'2014-10-31' , 'categorieDepense_id':2, 'image':'img_depense_3.png'}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

# sujet 11 : depense / categorie_depense         

INSERT INTO categorie_depense(id_categorie, libelle_categorie, budget)VALUES
(NULL,'Autoroute', 'déplacement'),
(NULL,'Carburant', 'déplacement'),
(NULL,'Repas', 'hébergement'),
(NULL,'Hébergement', 'hébergement');

INSERT INTO depense(id_depense, destinataire_depense, montant, description, date_depense,categorie_id, destinataire,image)  VALUES
(NULL,'Service d\'autoroute Vinci',35,'Péages Belfort-Lyon','2014-04-20',1,'Autoroute Paris/Rhone','img_depense_1.png'),
(NULL,'Organisation ACD',410.47,'Comité de direction','2014-07-03',3,'img_depense_2.png'),
(NULL,'intendance UTBM',120,'forum étudiants','2014-08-18',1,img_depense_4.png'),
(NULL,'Autoroute Ouest',25.5,'Péages Paris-Nantes','2014-07-28',1,'img_depense_3.png'),
(NULL,'TotalEnergies',45,'Sans plomb 95 35L','2014-04-14',2,'img_depense_5.png'),
(NULL,'Hilton Hotels & Resorts' ,842,'Hotel mercure Paris','2014-01-06',4,'Hotel Hilton Paris,'img_depense_6.png'),
(NULL,'Service d\'autoroute Vinci' ,42.00,'Péages Belfort-Paris','2014-12-07',1,'img_depense_1.png'),
(NULL,'TotalEnergies' ,75,'Diezel 60L','2014-10-31',2,'img_depense_3.png');



sujet 12

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_theatre /theatre/show GET affiche les theatres retourne la vue show_theatre.html
add_theatre /theatre/add GET affiche le formulaire pour ajouter un theatre retourne la vue add_theatre.html
valid_add_theatre /theatre/add POST validation (soumission) du formulaire pour ajouter un theatre redirection sur la route /theatre/show
delete_theatre /theatre/delete GET suppression d’un theatre redirection sur la route /theatre/show
edit_theatre /theatre/edit GET affiche le formulaire pour modifier un theatre retourne la vue edit_theatre.html
valid_edit_theatre /theatre/edit POST validation (soumission) du formulaire pour modifier un theatre redirection sur la route /theatre/show
show_spectacle /spectacle-representation/show GET affiche les spectacles retourne la vue show_spectacle.html
add_spectacle /spectacle-representation/add GET affiche le formulaire pour ajouter un spectacle retourne la vue add_spectacle.html
valid_add_spectacle /spectacle-representation/add POST validation (soumission) du formulaire pour ajouter un spectacle redirection sur la route /spectacle-representation/show
delete_spectacle /spectacle-representation/delete GET suppression d’un spectacle redirection sur la route /spectacle-representation/show
edit_spectacle /spectacle-representation/edit GET affiche le formulaire pour modifier un spectacle retourne la vue edit_spectacle.html
valid_edit_spectacle /spectacle-representation/edit POST validation (soumission) du formulaire pour modifier un spectacle redirection sur la route /spectacle-representation/show
filtre_spectacle /spectacle-representation/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_spectacle_filtre_show.html


# ########################################################### Sujet 12

theatres=[
    {'id':1,'nomTheatre':'Le Granit', 'adresseTheatre':'1 faubourg de Montbéliard 90000 Belfort', 'telephoneTheatre':'0384586767'},
    {'id':2,'nomTheatre':'Aktéon', 'adresseTheatre':'11 rue du Général-Blaise 70000 Paris', 'telephoneTheatre':'0143387462'},
    {'id':3,'nomTheatre':'Théâtre National de Strasbourg', 'adresseTheatre':'1 Avenue de la Marseillaise 67005 Strasbourg', 'telephoneTheatre':'0388248800'},
    {'id':4,'nomTheatre':'Les deux scènes', 'adresseTheatre':'49 Rue Megevand 25000 Besançon', 'telephoneTheatre':'0381878197'},
]


spectaclesRepresentations=[
    {'id' : 1,'titreSpectacle':'LE PRINCE (Tous les hommes sont méchants)', 'dateRepresentation':'2014-10-14', 'horaire':'de 20H à 21H30', 'prix':'9','theatre_id':'1', 'affiche':'spectacle_1.png' },
    {'id' : 2,'titreSpectacle':'Le chemin du sepent', 'dateRepresentation':'2014-10-18', 'horaire':'de 20H à 21H30', 'prix':'8','theatre_id':'1', 'affiche':'spectacle_2.png' },
    {'id' : 3,'titreSpectacle':'Le cabinet des curiosités', 'dateRepresentation':'2014-11-13', 'horaire':'de 20H à 21H30', 'prix':'12','theatre_id':'2', 'affiche':'spectacle_3.png' },
    {'id' : 4,'titreSpectacle':'Trois actrice dont une', 'dateRepresentation':'2014-11-16', 'horaire':'de 20H à 21H30', 'prix':'10','theatre_id':'2', 'affiche':'spectacle_4.png' },
    {'id' : 5,'titreSpectacle':'Ainsi se laissa t-il vivre', 'dateRepresentation':'2014-11-08', 'horaire':'de 20H à 21H30', 'prix':'13','theatre_id':'3', 'affiche':'spectacle_5.png' },
    {'id' : 6,'titreSpectacle':'Lancelot du lac', 'dateRepresentation':'2014-12-02', 'horaire':'de 20H à 21H30', 'prix':'15','theatre_id':'3', 'affiche':'spectacle_6.png' },
    {'id' : 7,'titreSpectacle':'Si oui, oui, sinon, non', 'dateRepresentation':'2014-11-04', 'horaire':'de 20H à 21H30', 'prix':'12','theatre_id':'3', 'affiche':'spectacle_7.png' },
    {'id' : 8,'titreSpectacle':'Tiger tiger burning bright', 'dateRepresentation':'2014-10-16', 'horaire':'de 20H à 21H30', 'prix':'15','theatre_id':'4', 'affiche':'spectacle_8.png' }
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- sujet 12 : spectacle_representation / theatre        **


INSERT INTO theatre (id_theatre, nom_theatre, adresse_theatre, telephone_theatre) VALUES
    (NULL,'Le Granit', '1 faubourg de Montbéliard 90000 Belfort', '0384586767'),
    (NULL,'Aktéon', '11 rue du Général-Blaise 70000 Paris', '0143387462'),
    (NULL,'Théâtre National de Strasbourg', '1 Avenue de la Marseillaise 67005 Strasbourg', '0388248800'),
    (NULL,'Les deux scènes', '49 Rue Megevand 25000 Besançon', '0381878197');

INSERT INTO spectacle_representation (id_spectacle, titre_spectacle, date_representation, horaire, prix, theatre_id, affiche) VALUES
    (NULL,'LE PRINCE (Tous les hommes sont méchants)', '2014-10-14', 'de 20H à 21H30', '9','1','spectacle_1.png' ),
    (NULL,'Le chemin du serpent', '2014-10-18', 'de 20H à 21H30', '8','1','spectacle_2.png' ),
    (NULL,'Le cabinet des curiosités', '2014-11-13', 'de 20H à 21H30', '12','2','spectacle_3.png' ),
    (NULL,'Trois actrice dont une', '2014-11-16', 'de 20H à 21H30', '10','2','spectacle_4.png' ),
    (NULL,'Ainsi se laissa t-il vivre', '2014-11-08', 'de 20H à 21H30', '13','3','spectacle_5.png' ),
    (NULL,'Lancelot du lac', '2014-12-02', 'de 20H à 21H30', '15','3','spectacle_6.png' ),
    (NULL,'Si oui, oui, sinon, non', '2014-11-04', 'de 20H à 21H30', '12','3','spectacle_7.png' ),
    (NULL,'Tiger tiger burning bright', '2014-10-16', 'de 20H à 21H30', '15','4','spectacle_8.png' );



sujet 13

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_station /station-ski/show GET affiche les stations retourne la vue show_station.html
add_station /station-ski/add GET affiche le formulaire pour ajouter une station retourne la vue add_station.html
valid_add_station /station-ski/add POST validation (soumission) du formulaire pour ajouter une station redirection sur la route /station-ski/show
delete_station /station-ski/delete GET suppression d’une station redirection sur la route /station-ski/show
edit_station /station-ski/edit GET affiche le formulaire pour modifier une station retourne la vue edit_station.html
valid_edit_station /station-ski/edit POST validation (soumission) du formulaire pour modifier une station redirection sur la route /station-ski/show
show_hotel /hotel/show GET affiche les hotels retourne la vue show_hotel.html
add_hotel /hotel/add GET affiche le formulaire pour ajouter les informations sur un hotel retourne la vue add_hotel.html
valid_add_hotel /hotel/add POST validation (soumission) du formulaire pour ajouter les informations sur un hotel redirection sur la route /hotel/show
delete_hotel /hotel/delete GET suppression d’un hotel redirection sur la route /hotel/show
edit_hotel /hotel/edit GET affiche le formulaire pour modifier les informations sur un hotel retourne la vue edit_hotel.html
valid_edit_hotel /hotel/edit POST validation (soumission) du formulaire pour modifier les informations sur un hotel redirection sur la route /hotel/show
filtre_hotel /hotel/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_hotel_filtre_show.html


# ########################################################### Sujet  13

stationsSki=[
    { 'id' : 1, 'nomStation':'OZAN', 'altitude' :'206'},
    { 'id' : 2, 'nomStation':'CORMORANCHE-SUR-SAONE', 'altitude' :'211'},
    { 'id' : 3, 'nomStation':'PLAGNE', 'altitude' :'922'},
    { 'id' : 4, 'nomStation':'TOSSIAT', 'altitude' :'501'},
    { 'id' : 5, 'nomStation':'POUILLAT', 'altitude' :'770'}
]

hotels=[
    {'id' : 1, 'nomHotel':'Le saint joseph ', 'nombreChambre' :'16' ,  'categorie' :'2' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-02-03' ,  'station_id' :1, 'photo':'le-saint-joseph.jpg'},
    {'id' : 2, 'nomHotel':'La castana', 'nombreChambre' :'83' ,  'categorie' :'3' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-28' ,  'station_id' :2, 'photo':'la-castana.jpg'},
    {'id' : 3, 'nomHotel':'Grand Baraille', 'nombreChambre' :'46' ,  'categorie' :'3' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-05' ,  'station_id' :3, 'photo':'grand-baraille.jpg'},
    {'id' : 4, 'nomHotel':'Pershing hall', 'nombreChambre' :'26' ,  'categorie' :'4' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-29' ,  'station_id' :4, 'photo':'pershing-hall.jpg'},
    {'id' : 5, 'nomHotel':'Villa Gallici', 'nombreChambre' :'470' ,  'categorie' :'1' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-30' ,  'station_id' :5, 'photo':'villa-gallici.jpg'},
    {'id' : 6, 'nomHotel':'Mandarin oriental party', 'nombreChambre' :'14' ,  'categorie' :'4' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-29' ,  'station_id' :1, 'photo':'mandarin-oriental-party.jpg'},
    {'id' : 7, 'nomHotel':'Roch hotel et spa', 'nombreChambre' :'71' ,  'categorie' :'4' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-30' ,  'station_id' :2, 'photo':'roch-hotel-et-spa.jpg'},
    {'id' : 8, 'nomHotel':'Villa lara', 'nombreChambre' :'570' ,  'categorie' :'1' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-23' ,  'station_id' :3, 'photo':'villa-lara.jpg'},
    {'id' : 9, 'nomHotel':'La reserve', 'nombreChambre' :'6' ,  'categorie' :'5' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-24' ,  'station_id' :4, 'photo':'la-reserve.jpg'},
    {'id' : 10, 'nomHotel':'residence de france', 'nombreChambre' :'65' ,  'categorie' :'5' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-29' ,  'station_id' :1, 'photo':''},
    {'id' : 11, 'nomHotel':'antibes les beau près' ,  'nombreChambre' :'36' ,  'categorie' :'4' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-21' ,  'station_id' :2, 'photo':'residence-de-france.jpg'},
    {'id' : 12, 'nomHotel':'le savoie', 'nombreChambre' :'585' ,  'categorie' :'1' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-18' ,  'station_id' :3, 'photo':'antibes-les-beau-près.jpg'},
    {'id' : 13, 'nomHotel':'hotel juana', 'nombreChambre' :'68' ,  'categorie' :'3' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-16' ,  'station_id' :4, 'photo':'hotel-juana.jpg'},
    {'id' : 14, 'nomHotel':'le sereno', 'nombreChambre' :'455' ,  'categorie' :'3' ,  'prixBaseChambre':'51.5', 'dateCreation' :'2017-04-14' ,  'station_id' :5, 'photo':'le-sereno.jpg'},
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- # sujet 13 : hotel / station_ski       **

INSERT INTO station_ski(id_station, nom_station, altitude)
VALUES  (NULL, 'OZAN', 206),
        (NULL, 'CORMORANCHE-SUR-SAONE', 211),
        (NULL, 'PLAGNE', 922),
        (NULL, 'TOSSIAT', 501),
        (NULL, 'POUILLAT', 770);

INSERT INTO hotel (id_hotel, nom_hotel, nombre_chambre, categorie, prix_base_chambre, date_creation, photo, station_id)
VALUES  (NULL, 'Le Saint joseph', 16, 2, 51.5,'2017-02-03', 'le-saint-joseph.jpg',1),
        (NULL, 'La Castana', 83, 3, 62,'2017-04-28',  'la-castana.jpg', 2),
        (NULL, 'Grand Baraille', 46, 3, 78.5,'2017-04-05',  'grand-baraille.jpg', 3),
        (NULL, 'Pershing Hall', 26, 4, 83,'2017-04-29', 'pershing-hall.jpg',4),
        (NULL, 'Villa Gallici', 470, 1, 92.5,'2017-04-30',  'villa-gallici.jpg', 5),
        (NULL, 'Mandarin oriental party', 14, 4, 102,'2017-04-29','mandarin-oriental-party.jpg', 1),
        (NULL, 'Roch hotel et spa', 71, 4, 54, '2017-04-30',  'roch-hotel-et-spa.jpg', 2),
        (NULL, 'Villa Lara', 570, 1, 63,'2017-04-23','villa-lara.jpg', 3),
        (NULL, 'La Réserve', 6, 5, 114,'2017-04-24',  'la-reserve.jpg', 4),
        (NULL, 'Résidence de France', 65, 5, 122, '2017-04-29',  'residence-de-france.jpg', 1),
        (NULL, 'Antibes les beau près', 36, 4, 78, '2017-04-21', 'antibes-les-beau-près.jpg', 2),
        (NULL, 'Le Savoie', 585, 1,  128,'2017-04-18',  'le-savoie.jpg',3),
        (NULL, 'Hotel Juana', 68, 3, 145,'2017-04-16',  'hotel-juana.jpg', 4),
        (NULL,  'Le Sereno',  455,  3, 200, '2017-04-14',  'le-sereno.jpg', 5);



sujet 14

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_vetement /type-vetement/show GET affiche les types de vetements retourne la vue show_type_vetement.html
add_type_vetement /type-vetement/add GET affiche le formulaire pour ajouter un type de vetement retourne la vue add_type_vetement.html
valid_add_type_vetement /type-vetement/add POST validation (soumission) du formulaire pour ajouter un type de vetement redirection sur la route /type-vetement/show
delete_type_vetement /type-vetement/delete GET suppression d’un type de vetement redirection sur la route /type-vetement/show
edit_type_vetement /type-vetement/edit GET affiche le formulaire pour modifier un type de vetement retourne la vue edit_type_vetement.html
valid_edit_type_vetement /type-vetement/edit POST validation (soumission) du formulaire pour modifier un type de vetement redirection sur la route /type-vetement/show
show_vetement /vetement/show GET affiche les vetements retourne la vue show_vetement.html
add_vetement /vetement/add GET affiche le formulaire pour ajouter un vetement retourne la vue add_vetement.html
valid_add_vetement /vetement/add POST validation (soumission) du formulaire pour ajouter un vetement redirection sur la route /vetement/show
delete_vetement /vetement/delete GET suppression d’un vetement redirection sur la route /vetement/show
edit_vetement /vetement/edit GET affiche le formulaire pour modifier un vetement retourne la vue edit_vetement.html
valid_edit_vetement /vetement/edit POST validation (soumission) du formulaire pour modifier un vetement redirection sur la route /vetement/show
filtre_vetement /vetement/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_vetement_filtre_show.html


########################################################### Sujet  14

typeVetements=[
    {'id' : 1 ,'libelleVetement': 'Pantalon','refTaille': '1'},
    {'id' : 2 ,'libelleVetement':'Short','refTaille': '1'},
    {'id' : 3 ,'libelleVetement':'Chemise','refTaille': '2'},
    {'id' : 4 ,'libelleVetement':'Veste','refTaille': '2'},
    {'id' : 5 ,'libelleVetement':'Tee-Shirt','refTaille': '2'},
    {'id' : 6 ,'libelleVetement':'Chaussette','refTaille': '3'},
    {'id' : 7 ,'libelleVetement':'Sous-vetements','refTaille': '1'}
]

vetements=[
   {'id' : 1 ,'nomVetement':'Jeans noir Lee' ,  'prixDeBase':'55' ,  'taille':'40'  ,  'dateAchat':'2017-01-15','typeVetement_id': 1, 'photo':'vetement_1.png'},
   {'id' : 2 ,'nomVetement':'Pantalon velour bleu NafNaf' ,  'prixDeBase':'65'  ,  'taille':'38'  ,  'dateAchat':'2017-01-15','typeVetement_id': 1, 'photo':'vetement_2.png'},
   {'id' : 3 ,'nomVetement':'Bermuda Rouge Puma' ,  'prixDeBase':'35'  ,  'taille':'38'  ,  'dateAchat':'2017-01-15','typeVetement_id':2, 'photo':'vetement_3.png'},
   {'id' : 4 ,'nomVetement':'Veste Cuir Noir' ,  'prixDeBase':'235'  ,  'taille':'38'  ,  'dateAchat':'2017-01-15','typeVetement_id':4, 'photo':'vetement_4.png'},
   {'id' : 5 ,'nomVetement':'Chaussette Montagne Salomon ' ,  'prixDeBase':'15.5'  ,  'taille':'40'  ,  'dateAchat':'2017-01-15','typeVetement_id':6, 'photo':'vetement_5.png'},
   {'id' : 6 ,'nomVetement':'Slip arena' ,  'prixDeBase':'15'  ,  'taille':'40'  ,  'dateAchat':'2017-01-15','typeVetement_id':7, 'photo':'vetement_6.png'},

   {'id' : 7 ,'nomVetement':'Chemise à Carreaux','prixDeBase':'50' ,  'taille':'42'  ,  'dateAchat':'2017-01-15','typeVetement_id':3, 'photo':'vetement_1_1.png'},
   {'id' : 8 ,'nomVetement':'Bermuda blanc','prixDeBase':'80' ,  'taille':'40'  ,  'dateAchat':'2017-01-15','typeVetement_id':2, 'photo':'vetement_1-2.png'},
   {'id' : 9 ,'nomVetement':'Tee-Shirt Nike','prixDeBase':'20' ,  'taille':'36'  ,  'dateAchat':'2017-01-15','typeVetement_id':5, 'photo':'vetement_1_3.png'},
   {'id' : 10 ,'nomVetement':'Costard','prixDeBase':'155' ,  'taille':'40'  ,  'dateAchat':'2017-01-15','typeVetement_id':6, 'photo':'vetement_1_4.png'},
   {'id' : 11 ,'nomVetement':'Chaussures de plage','prixDeBase':'11' ,  'taille':'44'  ,  'dateAchat':'2017-01-15','typeVetement_id':7, 'photo':'vetement_1_5.png'},
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)


-- sujet 14 : vetement /  type_vetement       **

INSERT INTO type_vetement (id_type_vetement, libelle_type, ref_taille) VALUES
(NULL,'Pantalon',1),
(NULL,'Short',1),
(NULL,'Chemise',2),
(NULL,'Veste',2),
(NULL,'Tee-Shirt',2),
(NULL,'Chaussette',3),
(NULL,'Sous-vetements',1);

INSERT INTO vetement (id_vetement,nom_vetement, prix_de_base, taille, date_achat, type_vetement_id, photo) VALUES 
(NULL,'Jeans noir Lee',55.0,40,'2017-01-15',1,'vetement_1.png'),
(NULL,'Pantalon velour bleu NafNaf',65.0,38,'2017-01-15',1,'vetement_2.png'),
(NULL,'Bermuda Rouge Puma',35.0,38,'2017-01-15',2,'vetement_3.png'),
(NULL,'Veste Cuir Noir',235.0,38,'2017-01-15',4,'vetement_4.png'),
(NULL,'Chaussette Montagne Salomon ',15.5,40,'2017-01-15',6,'vetement_5.png'),
(NULL,'Slip arena',15.0,40,'2017-01-15',7,'vetement_6.png');

INSERT INTO vetement (id_vetement,nom_vetement, prix_de_base, taille, date_achat, type_vetement_id, photo) VALUES
(NULL,'Chemise à Carreaux',50,42,'2017-01-15',3,'vetement_1_1.png'),
(NULL,'Bermuda blanc',80,40,'2017-01-15',2,'vetement_1_2.png'),
(NULL,'Tee-Shirt Nike',20,36,'2017-01-15',5,'vetement_1_3.png'),
(NULL,'Costard',155,40,'2017-01-15',6,'vetement_1_4.png'),
(NULL,'Chaussures de plage',11,44,'2017-01-15',7,'vetement_1_5.png');



sujet 15

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_outil /type-outil/show GET affiche les types d’outils retourne la vue show_type_outil.html
add_type_outil /type-outil/add GET affiche le formulaire pour ajouter un type d’outil retourne la vue add_type_outil.html
valid_add_type_outil /type-outil/add POST validation (soumission) du formulaire pour ajouter un type d’outil redirection sur la route /type-outil/show
delete_type_outil /type-outil/delete GET suppression d’un type d’outil redirection sur la route /type-outil/show
edit_type_outil /type-outil/edit GET affiche le formulaire pour modifier un type d’outil retourne la vue edit_type_outil.html
valid_edit_type_outil /type-outil/edit POST validation (soumission) du formulaire pour modifier un type d’outil redirection sur la route /type-outil/show
show_outil /outil/show GET affiche les outils retourne la vue show_outil.html
add_outil /outil/add GET affiche le formulaire pour ajouter un outil retourne la vue add_outil.html
valid_add_outil /outil/add POST validation (soumission) du formulaire pour ajouter un outil redirection sur la route /outil/show
delete_outil /outil/delete GET suppression d’un outil redirection sur la route /outil/show
edit_outil /outil/edit GET affiche le formulaire pour modifier un outil retourne la vue edit_outil.html
valid_edit_outil /outil/edit POST validation (soumission) du formulaire pour modifier un outil redirection sur la route /outil/show
filtre_outil /outil/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_outil_filtre_show.html



# ajouter stock

########################################################### Sujet  15

typesOutils=[
    {'id' : 1 ,'libelle':'mecanique'},
    {'id' : 2 ,'libelle':'jardin'},
    {'id' : 3 ,'libelle':'plomberie'}
]

outils=[
   {'id': 1 ,'nomOutil':'tournevis' , 'poids': 200 , 'dateAchat':'2019-09-09' , 'electrique': '0' ,'typeOutil_id':1, 'prix' : 10.5, 'image':'tournevis.png' },
   {'id': 2 ,'nomOutil':'perceuse' , 'poids': 1500 , 'dateAchat':'2019-08-09' , 'electrique': '1' ,'typeOutil_id':1, 'prix' : 65.5, 'image':'perceuse.png'  },
   {'id': 3 ,'nomOutil':'tondeuse' , 'poids': 15000 , 'dateAchat':'2019-07-09' , 'electrique': '1' ,'typeOutil_id':2, 'prix' : 675, 'image':'tondeuse.png'  },
   {'id': 4 ,'nomOutil':'débroussailleuse' , 'poids': 5000 , 'dateAchat':'2019-09-09' , 'electrique': '1' ,'typeOutil_id':2, 'prix' : 205, 'image':'débroussailleuse.png'  },
   {'id': 5 ,'nomOutil':'tuyau' , 'poids': 250 , 'dateAchat':'2019-09-09' , 'electrique': '0' ,'typeOutil_id':2, 'prix' : 20.5, 'image':'tuyau.png'  },
   {'id': 6 ,'nomOutil':'chalumeau' , 'poid': 1500 , 'dateAchat':'2019-08-09' , 'electrique': '0' , 'typeOutil_id':2, 'prix' : 150.5, 'image':'chalumeau.png'  },
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)


-- # sujet 15 : outils / type_outils       **

INSERT INTO type_outils (id_type_outil)
VALUES (1, 'mécanique'),
       (2, 'jardin'),
       (3, 'plomberie');


INSERT INTO outil (id_outil, nom_outil, poids, date_achat, electrique, type_outil_id , prix, image)
VALUES (NULL,'tournevis', 200, '2019-09-09', 0, 1, 10.50, 'tournevis.png'),
       (NULL,'perceuse', 1500, '2019-08-09', 1, 1, 65.50, 'perceuse.png'),
       (NULL,'tondeuse', 15000, '2019-07-09', 1, 2, 675.00, 'tondeuse.png'),
       (NULL,'débroussailleuse', 5000, '2019-09-09', 1, 2, 205.00, 'débroussailleuse.png'),
       (NULL,'tuyau', 250, '2019-09-09', 0, 2, 20.50, 'tuyau.png'),
       (NULL,'chalumeau', 1500, '2019-08-09', 0, 2, 150.50, 'chalumeau.png');



sujet 16

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_departement /departement-region/show GET affiche les departements retourne la vue show_departement.html
add_departement /departement-region/add GET affiche le formulaire pour ajouter un departement retourne la vue add_departement.html
valid_add_departement /departement-region/add POST validation (soumission) du formulaire pour ajouter un departement redirection sur la route /departement-region/show
delete_departement /departement-region/delete GET suppression d’un departement redirection sur la route /departement-region/show
edit_departement /departement-region/edit GET affiche le formulaire pour modifier un departement retourne la vue edit_departement.html
valid_edit_departement /departement-region/edit POST validation (soumission) du formulaire pour modifier un departement redirection sur la route /departement-region/show
show_monument /monument/show GET affiche les monuments retourne la vue show_monument.html
add_monument /monument/add GET affiche le formulaire pour ajouter un monument retourne la vue add_monument.html
valid_add_monument /monument/add POST validation (soumission) du formulaire pour ajouter un monument redirection sur la route /monument/show
delete_monument /monument/delete GET suppression d’un monument redirection sur la route /monument/show
edit_monument /monument/edit GET affiche le formulaire pour modifier un monument retourne la vue edit_monument.html
valid_edit_monument /monument/edit POST validation (soumission) du formulaire pour modifier un monument redirection sur la route /monument/show
filtre_monument /monument/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_monument_filtre_show.html


########################################################### Sujet  16

departementsRegion=[
   {'id' : 1 ,'nomDepartement':'Bouche du Rhône'},
   {'id' : 2 ,'nomDepartement':'Gard'},
   {'id' : 3 ,'nomDepartement':'Vaucluse'}
]


monuments=[
   {'id' : 1 ,'nomMonument':'Château d If' , 'description': 'description Château d If' , 'dateCreation':'1529-01-01' , 'noteMichelin': 4 ,'departement_id':1, 'prix' : 10.5, 'photo':'chateauDIf.jpg' },
   {'id' : 2 ,'nomMonument':'Basilique Notre-Dame de la Garde' , 'description': 'description Basilique Notre-Dame de la Garde' , 'dateCreation':'1700-08-09' , 'noteMichelin': '3' ,'departement_id':1, 'prix' : 0, 'photo':'basiliqueNotreDameDeLaGarde.jpg' },
   {'id' : 3 ,'nomMonument':'Pont du Gard' , 'description': 'description Pont du Gard' , 'dateCreation':'0500-1-1' , 'noteMichelin': '5' ,'departement_id':2, 'prix' : 15 , 'photo':'pontDuGard.jpg'},
   {'id' : 4 ,'nomMonument':'La Maison Carrée' , 'description': 'description La Maison Carrée' , 'dateCreation':'0500-01-01' , 'noteMichelin': 4 ,'departement_id':2, 'prix' : 10.5 , 'photo':'laMaisonCarree.jpg'},
   {'id' : 5 ,'nomMonument':'Palais des Papes' , 'description Palais des Papes': 'description' , 'dateCreation':'1500-09-09' , 'noteMichelin': '5' ,'departement_id':1, 'prix' : 6 , 'photo':'palaisDesPapes.jpg'},
   {'id' : 6 ,'nomMonument':'Musée du Petit Palais' , 'description': 'description Musée du Petit Palais' , 'dateCreation':'1900-08-09' , 'noteMichelin': 4 , 'departement_id':1, 'prix' : 5, 'photo':'museeDuPetitPalais.jpg' },
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)

-- sujet 16 : monument / departement_region       **


-- DEPARTEMENT :

INSERT INTO departement_region(id_departement, nom_departement) VALUES 
(NULL, 'Bouche du Rhone'),
(NULL, 'Gard'),
(NULL, 'Vaucluse');

-- MONUMENT :

INSERT INTO monument(id_monument, nom_monument, description, date_creation, note_michelin, departement_id, prix, photo) VALUES 
(NULL,'Château d If', 'Le château d If est une forteresse qui a eu pour but de protéger les côtes d une invasion, de couvrir les sorties et le mouillage de la nouvelle flotte de galères royales ainsi que de surveiller Marseille, ratachée au Royayme de France en 1480.', '1529-1-1', '4', '1', 10.5, 'chateauDIf.jpg'),
(NULL,'Basilique Notre-Dame de la Garde', 'La Basilique Notre-Dame de la Garde également appelée "La Bonne Mère" est une des basiliques mineures de l Église catholique. Elle a été construite en 1864 par l architecte Henri Espérandieu dans le style romano byzantin.', '1700-8-9', '3', '1', 0, 'basiliqueNotreDameDeLaGarde.jpg'),
(NULL,'Pont du Gard', 'Le pont du Gard est un pont, bâti dans la première moitié du premier siècle, à trois niveaux destiné au passage d un aqueduc romain enjambant le Gardon.', '0500-1-1', '5', '2', 15, 'pontDuGard.jpg'),
(NULL,'La Maison Carrée', 'La Maison Carrée est un temple romain hexastyle édifié au début du premier siècle. Elle est dédiée lors de sa construction pour Auguste à la gloire de ses deux petits-fils: Lucius Caesar et Caius Julius Caesar.', '0500-1-1', '4', '2', 10.5, 'laMaisonCarree.jpg'),
(NULL,'Palais des Papes', 'Le Palais des Papes est le plus important palais gothique de l Occident. Édifié à partir de 1335 par deux papes bâtisseurs, Benoît XII et son successeur Clément VI, il est le symbole du rayonnement de l église sur l Occident Chrétien au XIVème siècle.', '1500-9-9', '5', '3', 6, 'palaisDesPapes.jpg'),
(NULL,'Musée du Petit Palais', 'Le musée du Petit Palais est un musée ouvert en 1976 dans une livrée de cardinalice consacré à la peinture et à la sculpture médiévales et de la première Renaissance. Il rassemble environ 390 peintures et 600 sculptures dont l une des plus importantes collections internationales de primitifs italiens.', '1900-8-9', '4', '3', 5, 'museeDuPetitPalais.jpg');



sujet 17

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_epoque /type-epoque/show GET affiche les types d’époques retourne la vue show_type_epoque.html
add_type_epoque /type-epoque/add GET affiche le formulaire pour ajouter un type d’époque retourne la vue add_type_epoque.html
valid_add_type_epoque /type-epoque/add POST validation (soumission) du formulaire pour ajouter un type d’époque redirection sur la route /type-epoque/show
delete_type_epoque /type-epoque/delete GET suppression d’un type d’époque redirection sur la route /type-epoque/show
edit_type_epoque /type-epoque/edit GET affiche le formulaire pour modifier un type d’époque retourne la vue edit_type_epoque.html
valid_edit_type_epoque /type-epoque/edit POST validation (soumission) du formulaire pour modifier un type d’époque redirection sur la route /type-epoque/show
show_tableau /tableau/show GET affiche les tableaux retourne la vue show_tableau.html
add_tableau /tableau/add GET affiche le formulaire pour ajouter un tableau retourne la vue add_tableau.html
valid_add_tableau /tableau/add POST validation (soumission) du formulaire pour ajouter un tableau redirection sur la route /tableau/show
delete_tableau /tableau/delete GET suppression d’un tableau redirection sur la route /tableau/show
edit_tableau /tableau/edit GET affiche le formulaire pour modifier un tableau retourne la vue edit_tableau.html
valid_edit_tableau /tableau/edit POST validation (soumission) du formulaire pour modifier un tableau redirection sur la route /tableau/show
filtre_tableau /tableau/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_tableau_filtre_show.html





########################################################### Sujet  17

typesEpoque = [
{'id': 1,'libelle': 'Renaissance'},
 {'id': 2,'libelle': 'Temps Modernes'},
 {'id': 3,'libelle': 'Contemporain'},
 {'id': 4,'libelle': 'Moyen-Age'}
]

tableaux = [
{'id':1,'nomTableau':'La Joconde', 'prixAssurance':'4000','dateRealisation':'1506-10-21', 'peintre':'Léonard de Vinci', 'localisationMusee':'Louvre', 'photo':'laJoconde.jpeg', 'mouvement':None, 'typeEpoque_id':1},
 {'id':2,'nomTableau':'Le Radeau de La Méduse', 'prixAssurance':'300.2','dateRealisation':'1819-03-15', 'peintre':'Théodore Géricault', 'localisationMusee':'Louvre', 'photo':'leRadeauDeLaMeduse.jpeg', 'mouvement':'romantisme', 'typeEpoque_id':3},
 {'id':3,'nomTableau':'Guernica', 'prixAssurance':'200.6','dateRealisation':'1937-06-04', 'peintre':'Pablo Picasso', 'localisationMusee':'Reina Sofia', 'photo':'guernica.jpeg', 'mouvement':'cubisme','typeEpoque_id':3},
 {'id':4,'nomTableau':"L'Ecole d'Athène", 'prixAssurance':'105.3','dateRealisation':'1512-02-21', 'peintre':'Raphaël', 'localisationMusee':'Vatican', 'photo':'lEcoleDAthene.jpeg', 'mouvement':'maniérisme', 'typeEpoque_id':1},
 {'id':5,'nomTableau':'La Jeune Fille à la perle', 'prixAssurance':'2040','dateRealisation':'1665-11-12', 'peintre':'Johannes Vermeer', 'localisationMusee':'Mauritshuis', 'photo':'laJeuneFilleALaPerle.jpeg', 'mouvement':'baroque', 'typeEpoque_id':2},
 {'id':6,'nomTableau':'La Laitière', 'prixAssurance':'3040','dateRealisation':'1658-05-30', 'peintre':'Johannes Vermeer', 'localisationMusee':'Rijksmuseum', 'photo':'laLaitière.jpeg', 'mouvement':'baroque', 'typeEpoque_id':2},
 {'id':7,'nomTableau':'Le Calvaire', 'prixAssurance':'5060','dateRealisation':'1505-09-30', 'peintre':'Josse Lieferinxe', 'localisationMusee':'Louvre', 'photo':'leCalvaire.jpeg','mouvement':None, 'typeEpoque_id':1},
 {'id':9,'nomTableau':'Portrait du bouffon Gonella', 'prixAssurance':'1230','dateRealisation':'1445-03-18', 'peintre':'Jean Fouquet', 'localisationMusee':'Kunsthistorisches Museum', 'photo':'leProtraitduBouffonGonella.jpeg','mouvement':None, 'typeEpoque_id':4},
 {'id':10,'nomTableau':'La liberté guidant le peuple', 'prixAssurance':'150.5','dateRealisation':'1830-12-25', 'peintre':'Eugène DelaCroix', 'localisationMusee':'Louvre', 'photo':'laLiberteGuidantlePeuple.jpeg','mouvement': 'romantisme', 'typeEpoque_id':3},
 {'id':11,'nomTableau':"Rentable de l'Agneau mystique", 'prixAssurance':'1010','dateRealisation':'1432-01-05', 'peintre':'Jan van Eyck', 'localisationMusee':'Cathédrale Saint-Bavon de Gand', 'photo':'AgneauMystique.jpeg','mouvement':None, 'typeEpoque_id':4}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)


-- # sujet 17 : tableau / typeEpoque     --

INSERT INTO type_epoque (id_type_epoque,libelle, annee_debut, annee_fin) VALUES 
(NULL, 'Renaissance',1700,1850)
(NULL,'Temps Modernes',1492,1789)
(NULL, 'Contemporain', 1800, 2000)
(NULL, 'Moyen-Age', 476, 149)2;


INSERT INTO tableau (id_tableau, nom_tableau, prix_assurance, date_realisation, peintre , localisation_musee, photo ,mouvement, type_epoque_id)
VALUES (NULL, 'La Joconde', '4000', '1506-10-21', 'Léonard de Vinci', 'Louvre', 'laJoconde.jpeg', NULL, 1),
       (NULL, 'Le Radeau de La Méduse', '300.2','1819-03-15', 'Théodore Géricault', 'Louvre', 'leRadeauDeLaMeduse.jpeg', 'romantisme',3),
       (NULL, 'Guernica', '200.6','1937-06-04', 'Pablo Picasso', 'Reina Sofia', 'guernica.jpeg', 'cubisme',3),
       (NULL, 'L Ecole d Athène', '105.3','1512-02-21', 'Raphaël', 'Vatican', 'lEcoleDAthene.jpeg', 'maniérisme', 1)
       (NULL, 'La Jeune Fille à la perle', '2040','1665-11-12', 'Johannes Vermeer', 'Mauritshuis', 'laJeuneFilleALaPerle.jpeg', 'baroque',2)
       (NULL, 'La Laitière', '3040','1658-05-30','Johannes Vermeer', 'Rijksmuseum', 'laLaitière.jpeg', 'baroque', 2)
       (NULL, 'Le Calvaire', '5060','1505-09-30', 'Josse Lieferinxe', 'Louvre', 'leCalvaire.jpeg',NULL, 1)
       (NULL,'Portrait du bouffon Gonella','1230','1445-03-18', 'Jean Fouquet', 'Kunsthistorisches Museum', 'leProtraitduBouffonGonella.jpeg',NULL, 4)
       (NULL,'La liberté guidant le peuple', '150.5','1830-12-25', 'Eugène DelaCroix', 'Louvre', 'laLiberteGuidantlePeuple.jpeg', 'romantisme', 3)
       (NULL,'Rentable de l Agneau mystique', '1010','1432-01-05', 'Jan van Eyck', 'Cathédrale Saint-Bavon de Gand', 'AgneauMystique.jpeg',NULL, 4);



sujet 18

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_sport /type-sport/show GET affiche les types de sports retourne la vue show_type_sport.html
add_type_sport /type-sport/add GET affiche le formulaire pour ajouter un type de sport retourne la vue add_type_sport.html
valid_add_type_sport /type-sport/add POST validation (soumission) du formulaire pour ajouter un type de sport redirection sur la route /type-sport/show
delete_type_sport /type-sport/delete GET suppression d’un type de sport redirection sur la route /type-sport/show
edit_type_sport /type-sport/edit GET affiche le formulaire pour modifier un type de sport retourne la vue edit_type_sport.html
valid_edit_type_sport /type-sport/edit POST validation (soumission) du formulaire pour modifier un type de sport redirection sur la route /type-sport/show
show_sport /sport/show GET affiche les sports retourne la vue show_sport.html
add_sport /sport/add GET affiche le formulaire pour ajouter un sport retourne la vue add_sport.html
valid_add_sport /sport/add POST validation (soumission) du formulaire pour ajouter un sport redirection sur la route /sport/show
delete_sport /sport/delete GET suppression d’un sport redirection sur la route /sport/show
edit_sport /sport/edit GET affiche le formulaire pour modifier un sport retourne la vue edit_sport.html
valid_edit_sport /sport/edit POST validation (soumission) du formulaire pour modifier un sport redirection sur la route /sport/show
filtre_sport /sport/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_sport_filtre_show.html



########################################################### Sujet  18

typesSport = [
    {'id':1,'libelle':'Ballon'},
    {'id':2,'libelle':'Raquette'},
    {'id':3,'libelle':'Combat'},
    {'id':4,'libelle':'Aquatique'}
]

sports = [
    {'id':1,'nomSport':'Football', 'prixInscription':'80', 'dateLimiteInscription':'2020-10-19', 'typeSport_id' :1 , 'image':'foot.jpg','nbPratiquants':15},
    {'id':2,'nomSport':'Basketball', 'prixInscription':'80', 'dateLimiteInscription':'2020-10-19', 'typeSport_id' :1 , 'image':'basket.jpg','nbPratiquants':151},
    {'id':3,'nomSport':'Tennis de table', 'prixInscription':'80', 'dateLimiteInscription':'2020-10-19', 'typeSport_id' :2, 'image':'tennisTable.jpg','nbPratiquants':5},
    {'id':4,'nomSport':'Tennis', 'prixInscription':'85', 'dateLimiteInscription':'2020-10-19',  'typeSport_id' :2, 'image':'tennis.jpg','nbPratiquants':20},
    {'id':5,'nomSport':'Badminton', 'prixInscription':'70', 'dateLimiteInscription':'2020-10-22', 'typeSport_id' :2, 'image':'badminton.png','nbPratiquants':22},
    {'id':6,'nomSport':'Judo', 'prixInscription':'90', 'dateLimiteInscription':'2020-10-25', 'typeSport_id' :3, 'image':'judo.jpg','nbPratiquants':43},
    {'id':7,'nomSport':'Boxe', 'prixInscription':'72.50', 'dateLimiteInscription':'2020-10-24', 'typeSport_id' :3, 'image':'boxe.jpg','nbPratiquants':52},
    {'id':8,'nomSport':'Karaté', 'prixInscription':'60.99', 'dateLimiteInscription':'2020-10-23','typeSport_id'  :3, 'image':'karaté.png', 'nbPratiquants':30},
    {'id':9,'nomSport':'Natation', 'prixInscription':'30.30', 'dateLimiteInscription':'2020-10-30', 'typeSport_id' :4, 'image':'natation.jpg','nbPratiquants':100},
    {'id':10,'nomSport':'Kanoé', 'prixInscription':'125.99', 'dateLimiteInscription':'2020-10-29', 'typeSport_id' :4, 'image':'kanoe.jpg','nbPratiquants':99},
    {'id':11,'nomSport':'Water Polo', 'prixInscription':'31.90', 'dateLimiteInscription':'2020-09-19', 'typeSport_id' :4, 'image':'waterPolo.jpg','nbPratiquants':25},
    {'id':12,'nomSport':'Planche à voile', 'prixInscription':'230', 'dateLimiteInscription':'2020-10-19', 'typeSport_id' :4, 'image':'planche.jpg','nbPratiquants':30},
    {'id':13,'nomSport':'Handball', 'prixInscription':'10', 'dateLimiteInscription':'2020-08-19','typeSport_id' :1, 'image':'hand.jpg','nbPratiquants':22},
    {'id':14,'nomSport':'Volleyball', 'prixInscription':'25', 'dateLimiteInscription':'2020-08-19','typeSport_id' :1, 'image':'volley.jpg','nbPratiquants':55},
    {'id':15,'nomSport':'Rugby', 'prixInscription':'30.80', 'dateLimiteInscription':'2020-10-19', 'typeSport_id' :1, 'image':'rugby.jpg','nbPratiquants':60}
]


archive des fichiers d’images de ce sujet



livrable 2 (vacances Noel)


-- sujet 18 : sport /  type_sport       **

INSERT INTO type_sport(id_type_sport, libelle) VALUES
(NULL,'Ballon'),
(NULL,'Raquette'),
(NULL,'Combat'),
(NULL,'Aquatique');

INSERT INTO sport(id_sport, nom_sport,prix_inscription,date_limite_inscription,type_sport_id,image,nb_pratiquants) VALUES
(NULL,'Football',80,'2020-10-19',1,'foot.jpg',15),
(NULL,'Basketball',80,'2020-10-19',1,'basket.jpg',151),
(NULL,'Tennis de table',80,'2020-10-19',2,'tennisTable.jpg',5),
(NULL,'Tennis',85,'2020-10-19',2,'tennis.jpg',20),
(NULL,'Badminton',70,'2020-10-22',2,'badminton.png',22),
(NULL,'Judo',90,'2020-10-25',3,'judo.jpg',43),
(NULL,'Boxe',72.50,'2020-10-24',3,'boxe.jpg',52),
(NULL,'Karaté',60.99,'2020-10-23',3,'karaté.png',30),
(NULL,'Natation',30.30,'2020-10-30',4,'natation.jpg',100),
(NULL,'Kanoé',125.99,'2020-10-29',4,'kanoe.jpg',99),
(NULL,'Water Polo',31.90,'2020-09-19',4,'waterPolo.jpg',25),
(NULL,'Planche à voile',230,'2020-10-19',4,'planche.jpg',30),
(NULL,'Handball',10,'2020-08-19',1,'hand.jpg',22),
(NULL,'Volleyball',25,'2020-08-19',1,'volley.jpg',55),
(NULL,'Rugby',30.80,'2020-10-19',1,'rugby.jpg',60);



sujet 19

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_arbre /type-arbre/show GET affiche les types d’arbres retourne la vue show_type_arbre.html
add_type_arbre /type-arbre/add GET affiche le formulaire pour ajouter un type d’arbre retourne la vue add_type_arbre.html
valid_add_type_arbre /type-arbre/add POST validation (soumission) du formulaire pour ajouter un type d’arbre redirection sur la route /type-arbre/show
delete_type_arbre /type-arbre/delete GET suppression d’un type d’arbre redirection sur la route /type-arbre/show
edit_type_arbre /type-arbre/edit GET affiche le formulaire pour modifier un type d’arbre retourne la vue edit_type_arbre.html
valid_edit_type_arbre /type-arbre/edit POST validation (soumission) du formulaire pour modifier un type d’arbre redirection sur la route /type-arbre/show
show_arbre /arbre/show GET affiche les arbres retourne la vue show_arbre.html
add_arbre /arbre/add GET affiche le formulaire pour ajouter un arbre retourne la vue add_arbre.html
valid_add_arbre /arbre/add POST validation (soumission) du formulaire pour ajouter un arbre redirection sur la route /arbre/show
delete_arbre /arbre/delete GET suppression d’un arbre redirection sur la route /arbre/show
edit_arbre /arbre/edit GET affiche le formulaire pour modifier un arbre retourne la vue edit_arbre.html
valid_edit_arbre /arbre/edit POST validation (soumission) du formulaire pour modifier un arbre redirection sur la route /arbre/show
filtre_arbre /arbre/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_arbre_filtre_show.html



########################################################### Sujet  19

typesArbre = [
    {'id':1,'designation':'Pinacées'},
    {'id':2,'designation':'Rosaceae'},
    {'id':3,'designation':'Fagaceae'},
    {'id':4,'designation':'Sapindaceae'},
    {'id':5,'designation':'Oleaceae'},
    {'id':6,'designation':'Salicaceae'},
    {'id':7,'designation':'Fabaceae'},
]

arbres = [ 
    {'id':1,'nomArbre':'sapin', 'hauteurMaxi':'10', 'datePlantation':'2020-05-05', 'prix_m3':'401','surfacePlantation':'5','localisation':'Doubs', 'type_arbre_id' :1, 'image':'sapin.jpg'},
    {'id':2,'nomArbre':'pin rouge', 'hauteurMaxi':'35', 'datePlantation':'2020-02-20', 'prix_m3':'900','surfacePlantation':'3','localisation':'Jura', 'type_arbre_id' :1, 'image':'pin.jpeg'},
    {'id':3,'nomArbre':'pommier', 'hauteurMaxi':'30', 'datePlantation':'2019-08-05', 'prix_m3':'300','surfacePlantation':'10','localisation':'Jura', 'type_arbre_id' :2, 'image':'pommier.jpg'},
    {'id':4,'nomArbre':'cerisier', 'hauteurMaxi':'25', 'datePlantation':'2018-07-02', 'prix_m3':'650','surfacePlantation':'15','localisation':'Japon', 'type_arbre_id' :2, 'image':'ceriser.jpg'},
    {'id':5,'nomArbre':'chêne', 'hauteurMaxi':'35', 'datePlantation':'2017-04-17', 'prix_m3':'105','surfacePlantation':'30','localisation':'Doubs', 'type_arbre_id' :3, 'image':'chêne.jpg'},
    {'id':6,'nomArbre':'hêtre', 'hauteurMaxi':'45', 'datePlantation':'2016-05-25', 'prix_m3':'195','surfacePlantation':'23','localisation':'Voges', 'type_arbre_id' :3, 'image':'hêtre.jpg'},
    {'id':7,'nomArbre':'marronnier', 'hauteurMaxi':'32', 'datePlantation':'2019-06-08', 'prix_m3':'268','surfacePlantation':'14','localisation':'Doubs', 'type_arbre_id' :4, 'image':'marronnier.jpg'},
    {'id':8,'nomArbre':'olivier', 'hauteurMaxi':'20', 'datePlantation':'2019-07-19', 'prix_m3':'456','surfacePlantation':'26','localisation':'Portugal', 'type_arbre_id' :5, 'image':'olivier.jpeg'},
    {'id':9,'nomArbre':'saule pleureur', 'hauteurMaxi':'30', 'datePlantation':'2018-01-15', 'prix_m3':'847','surfacePlantation':'2','localisation':'Jura', 'type_arbre_id' :6, 'image':'saule.jpg'},
    {'id':10,'nomArbre':'acacia', 'hauteurMaxi':'48', 'datePlantation':'2019-08-26', 'prix_m3':'984','surfacePlantation':'35','localisation':'Australie', 'type_arbre_id' :7, 'image':'acacia.jpg'},
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


-- # sujet 19 : arbre / famille_arbre       **


INSERT INTO type_arbre(id_type_arble,designation) VALUES 
(NULL,'Pinacées'),
(NULL,'Rosaceae'),
(NULL,'Fagaceae'),
(NULL,'Sapindaceae'),
(NULL,'Oleaceae'),
(NULL,'Salicaceae'),
(NULL,'Fabaceae');


INSERT INTO arbre (id_arbre,nom_arbre,hauteur_maxi,date_plantation,prix_m3,surface_plantation, localisation, type_arbre_id, image ) VALUES
    (NULL,'sapin', 10, '2020-05-05',401 ,5 , 'Doubs', 1, 'sapin.jpg'),
    (NULL,'pin rouge', 35, '2020-02-20', 900,3,'Jura', 1,'pin.jpeg'),
    (NULL,'pommier', 30, '2019-08-05', 300,10,'Jura',2,'pommier.jpg'),
    (NULL,'cerisier',25,'2018-07-02', 650,15,'Japon', 2,'ceriser.jpg'),
    (NULL,'chêne',35,'2017-04-17',105,30,'Doubs', 3,'chêne.jpg'),
    (NULL,'hêtre', 45, '2016-05-25', 195,23,'Vosges',3,'hêtre.jpg'),
    (NULL,'marronnier',32,'2019-06-08',268,14,'Doubs', 4,'marronnier.jpg'),
    (NULL,'olivier',20, '2019-07-19', 456,26,'Portugal', 5,'olivier.jpeg'),
    (NULL,'saule pleureur', 30, '2018-01-15', 847,2,'Jura', 6,'saule.jpg'),
    (NULL,'acacia', 48, '2019-08-26', 984,35,'Australie', 7,'acacia.jpg');



sujet 20

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_animal /type-animal/show GET affiche les types d’animaux retourne la vue show_type_animal.html
add_type_animal /type-animal/add GET affiche le formulaire pour ajouter un type d’animal retourne la vue add_type_animal.html
valid_add_type_animal /type-animal/add POST validation (soumission) du formulaire pour ajouter un type d’animal redirection sur la route /type-animal/show
delete_type_animal /type-animal/delete GET suppression d’un type d’animal redirection sur la route /type-animal/show
edit_type_animal /type-animal/edit GET affiche le formulaire pour modifier un type d’animal retourne la vue edit_type_animal.html
valid_edit_type_animal /type-animal/edit POST validation (soumission) du formulaire pour modifier un type d’animal redirection sur la route /type-animal/show
show_animaux /animal/show GET affiche les animaux retourne la vue show_animaux.html
add_animal /animal/add GET affiche le formulaire pour ajouter un animal retourne la vue add_animal.html
valid_add_animal /animal/add POST validation (soumission) du formulaire pour ajouter un animal redirection sur la route /animal/show
delete_animal /animal/delete GET suppression d’un animal redirection sur la route /animal/show
edit_animal /animal/edit GET affiche le formulaire pour modifier un animal retourne la vue edit_animal.html
valid_edit_animal /animal/edit POST validation (soumission) du formulaire pour modifier un animal redirection sur la route /animal/show
filtre_animaux /animal/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_animal_filtre_show.html


########################################################### Sujet  20

typeAnimal = [
    {'id' : 1, 'libelle':'chien', 'photo':'logo_chien.png'},
    {'id' : 2, 'libelle':'chat', 'photo':'logo_chat.png'},
    {'id' : 3,  'libelle':'oiseau', 'photo':'logo_oiseau.png'},
    {'id' : 4,  'libelle':'poisson', 'photo':'logo_poisson.png'}
]

animaux = [
    {'id' : 1,'nomAnimal':'Snoopy', 'prixAchat':'100.00', 'dateNaissance':'2021-06-12', 'couleur':'blanc', 'poids':'8.43', 'taille':'40.00', 'photo':'Snoopy.jpg', 'typeAnimal_id': '1'},
    {'id' : 2,'nomAnimal':'Sam', 'prixAchat':'50.00', 'dateNaissance':'2023-01-21', 'couleur':'noir', 'poids':'12.3', 'taille':'50.00', 'photo':'Sam.jpg','typeAnimal_id': '1'},
    {'id' : 3,'nomAnimal':'Aaron', 'prixAchat':'00.00', 'dateNaissance':'2022-11-05', 'couleur':'roux', 'poids':'2.43', 'taille':'10.00', 'photo':'Aaron.jpg','typeAnimal_id': '1'},
    {'id' : 4,'nomAnimal':'Ulysse', 'prixAchat':'12.32', 'dateNaissance':'2020-12-12', 'couleur':'blanc', 'poids':'3.3', 'taille':'20.00', 'photo':'Ulysse.jpg','typeAnimal_id': '2'},
    {'id' : 5,'nomAnimal':'Romeo', 'prixAchat':'150.99', 'dateNaissance':'2021-09-07', 'couleur':'noir', 'poids':'2.43', 'taille':'10.00', 'photo':'Romeo.jpg','typeAnimal_id': '1'},
    {'id' : 6,'nomAnimal':'Abysse', 'prixAchat':'199.99', 'dateNaissance':'2020-01-21', 'couleur':'noir', 'poids':'0.13', 'taille':'10.00', 'photo':'Abysse.jpg','typeAnimal_id': '3'}
    {'id' : 7,'nomAnimal':'Rox', 'prixAchat':'299.99', 'dateNaissance':'2020-2-30', 'couleur':'noir/blanc', 'poids':'8.43', 'taille':'60.00', 'photo':'Rox.jpg', 'typeAnimal_id': '1'},
    {'id' : 8,'nomAnimal':'Donald', 'prixAchat':'29.99', 'dateNaissance':'2020-2-30', 'couleur':'noir/blanc', 'poids':'3.43', 'taille':'25.00', 'photo':'Donald.jpg', 'typeAnimal_id': '3'},
    {'id' : 9,'nomAnimal':'Enzo', 'prixAchat':'299.99', 'dateNaissance':'2020-2-30', 'couleur':'roux', 'poids':'8.43', 'taille':'70.00', 'photo':'Enzo.jpg', 'typeAnimal_id': '1'},
    {'id' : 10,'nomAnimal':'Nemo', 'prixAchat':'9.99', 'dateNaissance':'2020-2-30', 'couleur':'roujaune/bleux', 'poids':'0,1', 'taille':'11.00', 'photo':'Nemo.jpg', 'typeAnimal_id': '4'}
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)

-- # sujet 20 : animal  / type_animal     --

INSERT INTO type_animal(id_type_animal, nom_type, photo) VALUES
(NULL,'chien','logo_chien.png'),
(NULL,'chat','logo_chat.png'),
(NULL,'oiseau','logo_oiseau.png'),
(NULL,'poisson','logo_poisson.png');

INSERT INTO animal(id_animal, type_animal_id, nom_animal, prix_achat, date_naissance, couleur, poids, taille, photo) VALUES
(NULL,1,'Snoopy',100.00,'2021-06-12','blanc',8.43,40.00,'Snoopy.jpg'),
(NULL,2,'Sam',50.00,'2023-01-21','noir',12.3,50.00,'Sam.jpg'),
(NULL,1,'Aaron',00.00,'2022-11-05','roux',2.43,10.00,'Aaron.jpg'),
(NULL,2,'Ulysse',12.32,'2020-12-12','blanc',33,20.00),'Ulysse.jpg',
(NULL,1,'Romeo',150.99,'2021-09-07','noir',2.43,10.00,'Romeo.jpg'),
(NULL,3,'Abysse',199.99,'2020-01-21','noir',0.13,10.00,'Abysse.jpg'),
(NULL,1,'Rox',299.99,'2020-2-30','noir/blanc',8.43,60.00,'Rox.jpg'),
(NULL,3,'Donald',29.9,'2020-2-30','noir/blanc',3.43,25.00,'Donald.jpg'),
(NULL,1,'Enzo',299.99,'2020-2-30','roux',8.43,70.00,'Enzo.jpg'),
(NULL,4,'Nemo',9.99,'2022-2-30','jaune/bleu',0.1,11.00,'Nemo.jpg')
;



sujet 21

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_meuble /type-meuble/show GET affiche les types de meubles retourne la vue show_type_meuble.html
add_type_meuble /type-meuble/add GET affiche le formulaire pour ajouter un type de meuble retourne la vue add_type_meuble.html
valid_add_type_meuble /type-meuble/add POST validation (soumission) du formulaire pour ajouter un type de meuble redirection sur la route /type-meuble/show
delete_type_meuble /type-meuble/delete GET suppression d’un type de meuble redirection sur la route /type-meuble/show
edit_type_meuble /type-meuble/edit GET affiche le formulaire pour modifier un type de meuble retourne la vue edit_type_meuble.html
valid_edit_type_meuble /type-meuble/edit POST validation (soumission) du formulaire pour modifier un type de meuble redirection sur la route /type-meuble/show
show_meuble /meuble/show GET affiche les meubles retourne la vue show_meuble.html
add_meuble /meuble/add GET affiche le formulaire pour ajouter un meuble retourne la vue add_meuble.html
valid_add_meuble /meuble/add POST validation (soumission) du formulaire pour ajouter un meuble redirection sur la route /meuble/show
delete_meuble /meuble/delete GET suppression d’un meuble redirection sur la route /meuble/show
edit_meuble /meuble/edit GET affiche le formulaire pour modifier un meuble retourne la vue edit_meuble.html
valid_edit_meuble /meuble/edit POST validation (soumission) du formulaire pour modifier un meuble redirection sur la route /meuble/show
filtre_meuble /meuble/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_meuble_filtre_show.html




########################################################### Sujet  21

typesMeuble = [
            {'id':1,'libelle':'canape'},
            {'id':2,'libelle':'lit'},
            {'id':3,'libelle':'commode'},
            {'id':4,'libelle':'armoire'},
        ]

meubles = [
    {'id':1,'nomMeuble':'klippan', 'prixMeuble':'50.20', 'dateFabrication':'2020-06-06', 'couleur':'rouge', 'materiaux' :'bois', 'typeMeuble_id':1, 'nbStock':'3', 'image':'klippan.png'},
    {'id': 2, 'nomMeuble':'malm', 'prixMeuble':'12.00', 'dateFabrication':'2020-06-06', 'couleur':'vert', 'materiaux' :'acier', 'typeMeuble_id':2, 'nbStock':'5', 'image':'malm.png'},
    {'id': 3, 'nomMeuble':'besta', 'prixMeuble':'14.36', 'dateFabrication':'2020-06-06', 'couleur':'jaune', 'materiaux' :'bois', 'typeMeuble_id':3, 'nbStock':'6', 'image':'besta.jpg'},
    {'id': 4, 'nomMeuble':'billy', 'prixMeuble':'24.59', 'dateFabrication':'2020-06-06', 'couleur':'bleu', 'materiaux' :'verre', 'typeMeuble_id':4, 'nbStock':'2', 'image':'billy.jpg'},
    {'id': 5, 'nomMeuble':'friheten', 'prixMeuble':'42.21', 'dateFabrication':'2020-06-06', 'couleur':'ebene', 'materiaux' :'acier', 'typeMeuble_id':1, 'nbStock':'8', 'image':'friheten.png'},
    {'id': 6, 'nomMeuble':'brimnes', 'prixMeuble':'11.11', 'dateFabrication':'2019-06-06', 'couleur':'magenta', 'materiaux' :'alumonium', 'typeMeuble_id':2, 'nbStock':'5', 'image':'brimnes.png'},
    {'id':7,'nomMeuble':'la commode du luxe', 'prixMeuble':'35.21', 'dateFabrication':'2019-06-06', 'couleur':'voilet', 'materiaux' :'marbre', 'typeMeuble_id':3, 'nbStock':'1', 'image':'commodeLuxe.jpg'},
    {'id':8,'nomMeuble':'lack', 'prixMeuble':'32.25', 'dateFabrication':'2019-12-06', 'couleur':'gris', 'materiaux' :'acier', 'typeMeuble_id':4, 'nbStock':'7', 'image':'lack.png'},
    {'id':9,'nomMeuble':'vilme', 'prixMeuble':'52.36', 'dateFabrication':'2019-12-26', 'couleur':'satin', 'materiaux' :'bois', 'typeMeuble_id':1, 'nbStock':'4', 'image':'vilme.png'},
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


-- # sujet 21 : meuble / typeMeuble        **

INSERT INTO type_meuble(id_type_meuble, libelle)
VALUES (NULL,'canape'),
       (NULL,'lit'),
       (NULL,'commode'),
       (NULL,'armoire');


INSERT INTO meuble (id_meuble, nom_meuble,prix_meuble,date_fabrication,couleur,materiaux,type_meuble_id,nb_stock,image) VALUES
(NULL,'klippan', '50.20', '2020-06-06', 'rouge', 'bois', 1, 3, 'klippan.png'),
(NULL,'malm', '12.00', '2020-06-06', 'vert', 'acier', 2, 5, 'malm.png'),
(NULL,'besta', '14.36', '2020-06-06', 'jaune', 'bois', 3, 6, 'besta.jpg'),
(NULL,'billy', '24.59', '2020-06-06', 'bleu', 'verre', 4, 2, 'billy.jpg'),
(NULL,'friheten', '42.21', '2020-06-06', 'ebene', 'acier', 1, 8, 'friheten.png'),
(NULL,'brimnes', '11.11', '2019-06-06', 'magenta', 'aluminium', 2, 5, 'brimnes.png'),
(NULL,'la commode du luxe', '35.21', '2019-06-06', 'voilet', 'marbre', 3, 1, 'commodeLuxe.jpg'),
(NULL,'lack', '32.25', '2019-12-06', 'gris', 'acier', 4, 7, 'lack.png'),
(NULL,'vilme', '52.36', '2019-12-26', 'satin', 'bois', 1, 4, 'vilme.png');



sujet 22

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_marque /marque-moto/show GET affiche les marques retourne la vue show_marque.html
add_marque /marque-moto/add GET affiche le formulaire pour ajouter une marque retourne la vue add_marque.html
valid_add_marque /marque-moto/add POST validation (soumission) du formulaire pour ajouter une marque redirection sur la route /marque-moto/show
delete_marque /marque-moto/delete GET suppression d’une marque redirection sur la route /marque-moto/show
edit_marque /marque-moto/edit GET affiche le formulaire pour modifier une marque retourne la vue edit_marque.html
valid_edit_marque /marque-moto/edit POST validation (soumission) du formulaire pour modifier une marque redirection sur la route /marque-moto/show
show_moto /moto/show GET affiche les motos retourne la vue show_moto.html
add_moto /moto/add GET affiche le formulaire pour ajouter une moto retourne la vue add_moto.html
valid_add_moto /moto/add POST validation (soumission) du formulaire pour ajouter une moto redirection sur la route /moto/show
delete_moto /moto/delete GET suppression d’une moto redirection sur la route /moto/show
edit_moto /moto/edit GET affiche le formulaire pour modifier une moto retourne la vue edit_moto.html
valid_edit_moto /moto/edit POST validation (soumission) du formulaire pour modifier une moto redirection sur la route /moto/show
filtre_moto /moto/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_moto_filtre_show.html




# peyrous yonnis
marquesMotos = [
 {'id' : 1, 'libelle':'Yamaha', 'logo':'logo-yamaha.jpg'},
 {'id' : 2, 'libelle':'Honda', 'logo':'logo-Honda.png'},
 {'id' : 3, 'libelle':'Kawasaki','logo':'logo-kawasaki.jpg'},
 {'id' : 4, 'libelle':'BMW', 'logo':'logo-bmw.png'},
 {'id' : 5, 'libelle':'Suzuki', 'logo':'logo-Suzuki.png'},
 {'id' : 6, 'libelle':'Triumph','logo':'logo-Triumph.jpg'},
 {'id' : 7, 'libelle':'Piaggio','logo':'logo-Piaggio.png'},
 {'id' : 8, 'libelle':'KTM', 'logo':'logo-KTM.png'},
 {'id' : 9, 'libelle':'Ducati', 'logo':'logo-Ducati.png'},
 {'id' : 10, 'libelle':'Harley Davidson', 'logo':'logo-Harley-Davidson.png'},
 {'id' : 11, 'libelle':'Kymco', 'logo':'logo-kymco.jpg'},
 {'id' : 12, 'libelle':'Aprilia','logo':'logo-aprilia.jpg'}
]

motos = [
 {'id' : 1, 'nomMoto':'T-MAX', 'puissance':400, 'DateMiseEnCirculation':'2012-06-15', 'couleur':'black', 'marque_id':1, 'photo':'T-MAX-noir.jpg'},
 {'id' : 2, 'nomMoto':'Niken', 'puissance':350, 'DateMiseEnCirculation':'2007-06-15', 'couleur':'yellow', 'marque_id':1, 'photo':'niken.jpg'},
 {'id' : 3, 'nomMoto':'MT09', 'puissance':250, 'DateMiseEnCirculation':'2015-06-15', 'couleur':'red', 'marque_id':1, 'photo':'mt09.jpg'},
 {'id' : 4, 'nomMoto':'X-MAX', 'puissance':450, 'DateMiseEnCirculation':'2019-06-15', 'couleur':'orange', 'marque_id':1, 'photo':'xmax.jpg'},
 {'id' : 5, 'nomMoto':'MT09-Tracer', 'puissance':100, 'DateMiseEnCirculation':'2001-06-15', 'couleur':'purple', 'marque_id':1, 'photo':'mt09tracer.jpg'},
 {'id' : 6, 'nomMoto':'Africa Twin', 'puissance':500, 'DateMiseEnCirculation':'1999-07-21', 'couleur':'white', 'marque_id':2, 'photo':'AFRICA_TWIN.jpg'},
 {'id' : 7, 'nomMoto':'Pan European', 'puissance':1500, 'DateMiseEnCirculation':'2000-09-30', 'couleur':'black', 'marque_id':2, 'photo':'panEuropean.jpg'},
 {'id' : 8, 'nomMoto':'Sh','puissance':150, 'DateMiseEnCirculation':'2020-09-30', 'couleur':'black', 'marque_id':2, 'photo':'sh.jpg'},
 {'id' : 8, 'nomMoto':'Swing', 'puissance':200, 'DateMiseEnCirculation':'2021-09-30', 'couleur':'black', 'marque_id':2, 'photo':'swing.jpg'},
 {'id' : 10, 'nomMoto':'PS','puissance':6, 'DateMiseEnCirculation':'2017-09-30', 'couleur':'black', 'marque_id':2, 'photo':'ps.jpeg'},
 {'id' : 11, 'nomMoto':'Deauville', 'puissance':100, 'DateMiseEnCirculation':'2010-09-30', 'couleur':'black', 'marque_id':2, 'photo':'deauville.jpg'},
 {'id' : 12, 'nomMoto':'A1','puissance':100, 'DateMiseEnCirculation':'2025-08-27', 'couleur':'green', 'marque_id':3, 'photo':'a1.jpg'},
 {'id' : 13, 'nomMoto':'H2','puissance':1000, 'DateMiseEnCirculation':'2020-08-27', 'couleur':'green', 'marque_id':3, 'photo':'h2.jpg'},
 {'id' : 14, 'nomMoto':'VN','puissance':500, 'DateMiseEnCirculation':'2024-08-27', 'couleur':'green', 'marque_id':3, 'photo':'vn.jpg'},
 {'id' : 15, 'nomMoto':'Z', 'puissance':200, 'DateMiseEnCirculation':'2023-08-27', 'couleur':'green', 'marque_id':3, 'photo':'z.jpg'},
 {'id' : 16, 'nomMoto':'Ninja 400', 'puissance':400, 'DateMiseEnCirculation':'2022-08-27', 'couleur':'green', 'marque_id':3, 'photo':'ninja400.jpg'},
 {'id' : 17, 'nomMoto':'Vulcan 650', 'puissance':650, 'DateMiseEnCirculation':'2021-08-27', 'couleur':'green', 'marque_id':3, 'photo':'vulcan250.jpg'},
 {'id' : 18, 'nomMoto':'K 1600', 'puissance':1600, 'DateMiseEnCirculation':'2010-08-27', 'couleur':'blue', 'marque_id':4, 'photo':'k1600.jpg'},
 {'id' : 19, 'nomMoto':'F 900 XR', 'puissance':900, 'DateMiseEnCirculation':'2011-08-27', 'couleur':'blue', 'marque_id':4, 'photo':'f900xr.jpg'},
 {'id' : 20, 'nomMoto':'R 1250 R', 'puissance':1250, 'DateMiseEnCirculation':'2012-08-27', 'couleur':'blue', 'marque_id':4, 'photo':'r1250r.jpeg'},
 {'id' : 21, 'nomMoto':'R 1200 RT', 'puissance':1200, 'DateMiseEnCirculation':'2013-08-27', 'couleur':'blue', 'marque_id':4, 'photo':'r1200rt.jpg'},
 {'id' : 22, 'nomMoto':'R 900 RT', 'puissance':900, 'DateMiseEnCirculation':'2014-08-27', 'couleur':'blue', 'marque_id':4, 'photo':'r900rt.jpg'},
 {'id' : 23, 'nomMoto':'S 1000 SR', 'puissance':1000, 'DateMiseEnCirculation':'2015-08-27', 'couleur':'blue', 'marque_id':4, 'photo':'s1000sr.jpeg'},
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


INSERT INTO marque_moto(id_marque, libelle,logo) VALUES
    (NULL,'Yamaha','logo-yamaha.jpg'),
    (NULL,'Honda','logo-Honda.png'),
    (NULL,'Kawasaki','logo-kawasaki.jpg'),
    (NULL,'BMW','logo-bmw.png'),
    (NULL,'Suzuki','logo-Suzuki.png'),
    (NULL,'Triumph','logo-Triumph.jpg'),
    (NULL,'Piaggio','logo-Piaggio.png'),
    (NULL,'KTM','logo-KTM.png'),
    (NULL,'Ducati','logo-Ducati.png'),
    (NULL,'Harley Davidson','logo-Harley-Davidson.png'),
    (NULL,'Kymco','logo-kymco.jpg'),
    (NULL,'Aprilia','logo-aprilia.jpg');


INSERT INTO moto(id_moto, nom_moto, puissance, date_premiere_mise_en_circulation, couleur, prix, marque_id, photo) VALUES
    (NULL,'T-MAX', 400, '2012-06-15', 'Noir' ,1000, 1,'T-MAX-noir.jpg'),
    (NULL,'Niken', 350, '2007-06-15', 'Jaune' ,1100, 1,'niken.jpg'),
    (NULL,'MT09', 250, '2015-06-15', 'Rouge' ,1200, 1,'mt09.jpg'),
    (NULL,'X-MAX', 450, '2019-06-15', 'Orange' ,1300, 1,'xmax.jpg'),
    (NULL,'MT09-Tracer', 100, '2001-06-15', 'Violet' ,1400, 1,'mt09tracer.jpg'),
    (NULL,'Africa Twin', 500, '1999-07-21', 'White' ,1500, 2,'AFRICA_TWIN.jpg'),
    (NULL,'Pan European', 1500, '20-09-30', 'Black' ,1600, 2,'panEuropean.jpg'),
    (NULL,'Sh', 150, '2020-09-30', 'Black' ,1700, 2,'sh.jpg'),
    (NULL,'Swing', 200, '2021-09-30', 'Black' ,1800, 2,'swing.jpg'),
    (NULL,'PS', 6, '2017-09-30', 'Black' ,1900, 2,'ps.jpeg'),
    (NULL,'Deauville', 100, '2010-09-30', 'Black' ,2000, 2,'deauville.jpg'),
    (NULL,'A1', 100, '2025-08-27', 'Green' ,2100, 3,'a1.jpg'),
    (NULL,'H2', 1000, '2020-08-27', 'Green' ,2200, 3,'h2.jpg'),
    (NULL,'VN', 500, '2024-08-27', 'Green' ,2300, 3,'vn.jpg'),
    (NULL,'Z', 200, '2023-08-27', 'Green' ,2400, 3,'z.jpg'),
    (NULL,'Ninja 400', 400, '2022-08-27', 'Green' ,2500, 3,'ninja400.jpg'),
    (NULL,'Vulcan 650', 650, '2021-08-27', 'Green' ,2600, 3,'vulcan250.jpg'),
    (NULL,'K 1600', 1600, '2010-08-27', 'Blue' ,2700, 4,'k1600.jpg'),
    (NULL,'F 900 XR', 900, '2011-08-27', 'Blue' ,2800, 4,'f900xr.jpg'),
    (NULL,'R 1250 R', 1250, '2012-08-27', 'Blue' ,2900, 4,'r1250r.jpeg'),
    (NULL,'R 1200 RT', 1200, '2013-08-27', 'Blue' ,3000, 4,'r1200rt.jpg'),
    (NULL,'R 900 RT', 900, '2014-08-27', 'Blue' ,3100, 4,'r900rt.jpg'),
    (NULL,'S 1000 SR', 1000, '2015-08-27', 'Blue' ,3200, 4,'s1000sr.jpeg');



sujet 23

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_region /region/show GET affiche les regions retourne la vue show_region.html
add_region /region/add GET affiche le formulaire pour ajouter une region retourne la vue add_region.html
valid_add_region /region/add POST validation (soumission) du formulaire pour ajouter une region redirection sur la route /region/show
delete_region /region/delete GET suppression d’une region redirection sur la route /region/show
edit_region /region/edit GET affiche le formulaire pour modifier une region retourne la vue edit_region.html
valid_edit_region /region/edit POST validation (soumission) du formulaire pour modifier une region redirection sur la route /region/show
show_club /club-echecs/show GET affiche les clubs retourne la vue show_club.html
add_club /club-echecs/add GET affiche le formulaire pour ajouter un club retourne la vue add_club.html
valid_add_club /club-echecs/add POST validation (soumission) du formulaire pour ajouter un club redirection sur la route /club-echecs/show
delete_club /club-echecs/delete GET suppression d’un club redirection sur la route /club-echecs/show
edit_club /club-echecs/edit GET affiche le formulaire pour modifier un club retourne la vue edit_club.html
valid_edit_club /club-echecs/edit POST validation (soumission) du formulaire pour modifier un club redirection sur la route /club-echecs/show
filtre_club /club-echecs/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_club_filtre_show.html




########################################################### Sujet  23

regions = [
   {'id' : 1 ,'nomRegion':'FrancheComte'},
   {'id' : 2 ,'nomRegion':'IleDeFrance'},
   {'id' : 3 ,'nomRegion':'Bretagne'},
   {'id' : 4 ,'nomRegion':'Occitanie'},
]

clubsEchecs = [
   {'id' : 1 ,'nomClub':'BelfortEchecs', 'nbAdherent':'67', 'dateCreation':'1977-01-31', 'prixCotisation':'100', 'region_id':1, 'image':'BelfortEchecs.jpg'},
   {'id' : 2 ,'nomClub':'EchiquierQuimpérois', 'nbAdherent':'36', 'dateCreation':'1983-06-27', 'prixCotisation':'90', 'region_id':3, 'image':'EchiquierQuimperois.png'},
   {'id' : 3 ,'nomClub':'TremblayEnFrance', 'nbAdherent':'109', 'dateCreation':'1982-03-05', 'prixCotisation':'50', 'region_id':2, 'image':'TremblayEnFrance.jpg'},
   {'id' : 4 ,'nomClub':'EchiquierLedonien', 'nbAdherent':'25', 'dateCreation':'1966-06-12', 'prixCotisation':'71', 'region_id':1, 'image':'EchiquierLedonien.jpg'},
   {'id' : 5 ,'nomClub':'EchiquierNimois' , 'nbAdherent':'85', 'dateCreation':'1987-03-21', 'prixCotisation':'120', 'region_id':4, 'image':'EchiquierNimois.jpg'},
   {'id' : 6 ,'nomClub':'LuteceEchecs', 'nbAdherent':'89', 'dateCreation':'1957-08-05', 'prixCotisation':'420', 'region_id':2, 'image':'LuteceEchecs.jpg'},
   {'id' : 7 ,'nomClub':'UsamEchiquierBrestois', 'nbAdherent':'73', 'dateCreation':'1964-06-25', 'prixCotisation':'100', 'region_id':3, 'image':'UsamEchiquierBrestois.jpg'},
   {'id' : 8 ,'nomClub':'EchecsClubMontpellier' , 'nbAdherent':'119', 'dateCreation':'1981-04-15', 'prixCotisation':'85', 'region_id':4, 'image':'EchecsClubMontpellier.jpg'},
   {'id' : 9 ,'nomClub':'ClichyEchecs92', 'nbAdherent':'85', 'dateCreation':'1961-10-07', 'prixCotisation':'189', 'region_id':2, 'image':'ClichyEchecs92.jpg'},
   {'id' : 10 ,'nomClub':'RoiBlancMontbeliard', 'nbAdherent':'31', 'dateCreation':'1950-02-10', 'prixCotisation':'76', 'region_id':1, 'image':'RoiBlancMontbeliard.jpg'},
   {'id' : 11 ,'nomClub':'EchiquierToulousain', 'nbAdherent':'88', 'dateCreation':'1978-03-18', 'prixCotisation':'140', 'region_id':4, 'image':'EchiquierToulousain.png'},
   {'id' : 12 ,'nomClub':'RennesPaulBert', 'nbAdherent':'89', 'dateCreation':'1959-10-07', 'prixCotisation':'115', 'region_id':3, 'image':'RennesPaulBert.jpg'}
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


--  sujet 23 : club / region       **

INSERT INTO region (id_region, nom_region) VALUES
   ( NULL ,'FrancheComte'),
   ( NULL ,'IleDeFrance'),
   ( NULL ,'Bretagne'),
   ( NULL ,'Occitanie');

INSERT INTO club_echecs (id_club, nom_club, nb_adherent, date_creation, prix_cotisation, region_id, image) VALUES
   (NULL ,'BelfortEchecs','67','1977-01-31','100',1,'BelfortEchecs.jpg'),
   (NULL ,'EchiquierQuimpérois', '36', '1983-06-27', '90', 3,'EchiquierQuimperois.png'),
   (NULL ,'TremblayEnFrance', '109', '1982-03-05', '50', 2,'TremblayEnFrance.jpg'),
   (NULL ,'EchiquierLedonien', '25', '1966-06-12', '71', 1,'EchiquierLedonien.jpg'),
   (NULL ,'EchiquierNimois' , '85', '1987-03-21', '120', 4,'EchiquierNimois.jpg'),
   (NULL ,'LuteceEchecs', '89', '1957-08-05', '420', 2,'LuteceEchecs.jpg'),
   (NULL ,'UsamEchiquierBrestois', '73', '1964-06-25', '100', 3,'UsamEchiquierBrestois.jpg'),
   (NULL ,'EchecsClubMontpellier' , '119', '1981-04-15', '85', 4,'EchecsClubMontpellier.jpg'),
   (NULL ,'ClichyEchecs92', '85', '1961-10-07', '189', 2,'ClichyEchecs92.jpg'),
   (NULL ,'RoiBlancMontbeliard', '31', '1950-02-10', '76', 1,'RoiBlancMontbeliard.jpg'),
   (NULL ,'EchiquierToulousain', '88', '1978-03-18', '140', 4,'EchiquierToulousain.png'),
   (NULL ,'RennesPaulBert', '89', '1959-10-07', '115', 3,'RennesPaulBert.jpg');



sujet 24

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_ville /ville/show GET affiche les villes retourne la vue show_ville.html
add_ville /ville/add GET affiche le formulaire pour ajouter une ville retourne la vue add_ville.html
valid_add_ville /ville/add POST validation (soumission) du formulaire pour ajouter une ville redirection sur la route /ville/show
delete_ville /ville/delete GET suppression d’une ville redirection sur la route /ville/show
edit_ville /ville/edit GET affiche le formulaire pour modifier une ville retourne la vue edit_ville.html
valid_edit_ville /ville/edit POST validation (soumission) du formulaire pour modifier une ville redirection sur la route /ville/show
show_parking /parking-ville/show GET affiche les parkings retourne la vue show_parking.html
add_parking /parking-ville/add GET affiche le formulaire pour ajouter un parking retourne la vue add_parking.html
valid_add_parking /parking-ville/add POST validation (soumission) du formulaire pour ajouter un parking redirection sur la route /parking-ville/show
delete_parking /parking-ville/delete GET suppression d’un parking redirection sur la route /parking-ville/show
edit_parking /parking-ville/edit GET affiche le formulaire pour modifier un parking retourne la vue edit_parking.html
valid_edit_parking /parking-ville/edit POST validation (soumission) du formulaire pour modifier un parking redirection sur la route /parking-ville/show
filtre_parking /parking-ville/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_parking_filtre_show.html



########################################################### Sujet  24

villes = [
    {'id':1,'nomVille':'Lyon'},
    {'id':2,'nomVille':'Lons-Le-Saunier'},
    {'id':3,'nomVille':'Belfort'},
    {'id':4,'nomVille':'Besançon'},
    {'id':5,'nomVille':'Nara'},
    {'id':6,'nomVille':'Montréal'}
]


parkingsVilles = [
    {'id':1,'nomParking':'Saint-Julien', 'nbPlaces':'200', 'dateConstruction':'2011-09-06', 'adresse':'40 rue de Barre', 'prixPlaceHeure' :'51.00', 'Ville_id':'2', 'photo':'parking_1.png'},
    {'id':2,'nomParking':'SuperPark', 'nbPlaces':'100', 'dateConstruction':'2019-01-05', 'adresse':'5 avenue Julien Humbey', 'prixPlaceHeure' :'04.00', 'Ville_id':'1', 'photo':'parking_2.png'},
    {'id':3,'nomParking':'ParkingSuper', 'nbPlaces':'340', 'dateConstruction':'2007-03-03', 'adresse':'chemin Hortense Besson', 'prixPlaceHeure' :'02.20', 'Ville_id':'3', 'photo':'parking_3.png'},
    {'id':4,'nomParking':'Nara Parking Lot', 'nbPlaces':'900', 'dateConstruction':'2011-02-21', 'adresse':'Suimoncho, Nara, 630-8208', 'prixPlaceHeure' :'01.30', 'Ville_id':'5', 'photo':'parking_4.png'},
    {'id':5,'nomParking':'Parking 11 novembre', 'nbPlaces':'10002', 'dateConstruction':'2013-03-16', 'adresse':'5 avenue Julien Humbey', 'prixPlaceHeure' :'13.00', 'Ville_id':'1', 'photo':'parking_5.png'},
    {'id':6,'nomParking':'Parking Rue Richebourg', 'nbPlaces':'3323', 'dateConstruction':'2001-02-14', 'adresse':'51 Rue Richebourg', 'prixPlaceHeure' :'21.00', 'Ville_id':'4', 'photo':'parking_6.png'},
    {'id':7,'nomParking':'Parking de la tête d or', 'nbPlaces':'230', 'dateConstruction':'2011-01-23', 'adresse':'58 chemin Renard', 'prixPlaceHeure' :'25.00', 'Ville_id':'1', 'photo':'parking_7.png'},
    {'id':8,'nomParking':'Saint-Patoche', 'nbPlaces':'20', 'dateConstruction':'2008-08-16', 'adresse':'94 place Anouk Pinto', 'prixPlaceHeure' :'35.00', 'Ville_id':'6', 'photo':'parking_8.png'},
    {'id':9,'nomParking':'Place du Romain', 'nbPlaces':'243', 'dateConstruction':'2020-03-26', 'adresse':'86-1 Zoshicho', 'prixPlaceHeure' :'31.40', 'Ville_id':'5', 'photo':'parking_9.png'},
    {'id':10,'nomParking':'Parking Saint-Bernard', 'nbPlaces':'92', 'dateConstruction':'2015-07-20', 'adresse':'rue Schneider', 'prixPlaceHeure' :'04.30', 'Ville_id':'4', 'photo':'parking_10.png'},
    {'id':11,'nomParking':'Parking 11 Novembre', 'nbPlaces':'394', 'dateConstruction':'2013-03-19', 'adresse':'Place du 11 Novembre', 'prixPlaceHeure' :'5.10', 'Ville_id':'2', 'photo':'parking_11.png'},
    {'id':12,'nomParking':'Parking gare', 'nbPlaces':'1297', 'dateConstruction':'2003-09-06', 'adresse':'5 avenue Julien Humbey', 'prixPlaceHeure' :'5.90', 'Ville_id':'1', 'photo':'parking_12.png'},
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


-- # sujet 24 : parking / ville        **

INSERT INTO ville(id_ville,nom_ville) VALUES 
(NULL,'Lyon'),
(NULL,'Lons-Le-Saunier'),
(NULL,'Belfort'),
(NULL,'Besançon'),
(NULL,'Nara'),
(NULL,'Montréal');




INSERT INTO parking_ville(id_parking, nom_parking,nb_places,date_construction,adresse,prix_place,ville_id, photo) VALUES
  (NULL,'Saint-Julien', 200, '2011-09-06', '40 rue de Barre',51.00,2, 'parking_1.png'),
  (NULL,'SuperPark', 100, '2019-01-05', '5 avenue Julien Humbey', 04.00,1, 'parking_2.png'),
  (NULL,'ParkingSuper', 340, '2007-03-03', 'chemin Hortense Besson', 02.20, 3, 'parking_3.png'),
  (NULL,'Nara Parking Lot', 900, '2011-02-21', 'Suimoncho, Nara, 630-8208', 01.30, 5, 'parking_4.png'),
  (NULL,'Parking 11 novembre', 10002, '2013-03-16', '5 avenue Julien Humbey', 13.00, 1, 'parking_5.png'),
  (NULL,'Parking Rue Richebourg', 3323, '2001-02-14', '51 Rue Richebourg', 21.00, 4, 'parking_6.png'),
  (NULL,'Parking de la tete d or', 230, '2011-01-23', '58 chemin Renard', 25.00, 1, 'parking_7.png'),
  (NULL,'Saint-Patoche', 20, '2008-08-16','94 place Anouk Pinto', 35.00, 6, 'parking_8.png'),
  (NULL,'Place du Romain', 243, '2020-03-26', '86-1 Zoshicho', 31.40, 5, 'parking_9.png'),
  (NULL,'Parking Saint-Bernard', 92, '2015-07-20', 'rue Schneider',04.30, 4, 'parking_10.png'),
  (NULL,'Parking 11 Novembre', 394, '2013-03-19', 'Place du 11 Novembre', 5.10, 2, 'parking_11.png'),
  (NULL,'Parking gare', 1297, '2003-09-06', '5 avenue Julien Humbey', 5.90, 1, 'parking_12.png');



sujet 25

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_type_ski /type-ski/show GET affiche les types de skis retourne la vue show_type_ski.html
add_type_ski /type-ski/add GET affiche le formulaire pour ajouter un type de ski retourne la vue add_type_ski.html
valid_add_type_ski /type-ski/add POST validation (soumission) du formulaire pour ajouter un type de ski redirection sur la route /type-ski/show
delete_type_ski /type-ski/delete GET suppression d’un type de ski redirection sur la route /type-ski/show
edit_type_ski /type-ski/edit GET affiche le formulaire pour modifier un type de ski retourne la vue edit_type_ski.html
valid_edit_type_ski /type-ski/edit POST validation (soumission) du formulaire pour modifier un type de ski redirection sur la route /type-ski/show
show_ski /ski/show GET affiche les skis retourne la vue show_ski.html
add_ski /ski/add GET affiche le formulaire pour ajouter un ski retourne la vue add_ski.html
valid_add_ski /ski/add POST validation (soumission) du formulaire pour ajouter un ski redirection sur la route /ski/show
delete_ski /ski/delete GET suppression d’un ski redirection sur la route /ski/show
edit_ski /ski/edit GET affiche le formulaire pour modifier un ski retourne la vue edit_ski.html
valid_edit_ski /ski/edit POST validation (soumission) du formulaire pour modifier un ski redirection sur la route /ski/show
filtre_ski /ski/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_ski_filtre_show.html



########################################################### Sujet  25


typeSki = [
    {'id' : 1 ,'libelle':'Mini-ski'},
    {'id' : 2 ,'libelle':'Ski de fond'},
    {'id' : 3 ,'libelle':'Ski de piste'},
    {'id' : 4 ,'libelle':'Ski de randonnée'},
    {'id' : 5 ,'libelle':'Freestyle'},
    {'id' : 6 ,'libelle':'Freeride'},
]
skis = [
   {'id' : 1 ,'modeleSki':'Wedze 500', 'dateAchat':'2019-05-20', 'etat':'Très Bon', 'prixAchat':'240', 'prixLocation':'50', 'taille':'172', 'typeSki_id':5, 'imageSki': 'wedze_500.jpg'},
   {'id' : 2 ,'modeleSki':'Wedze 500 Slash 100', 'dateAchat':'2020-09-13', 'etat':'Neuf', 'prixAchat':'360', 'prixLocation':'75', 'taille':'184', 'typeSki_id':6, 'imageSki': 'wedze_500_slash_100.jpg'},
   {'id' : 3 ,'modeleSki':'Inovix XC S 500', 'dateAchat':'2019-11-19', 'etat':'Assez Bon', 'prixAchat':'155', 'prixLocation':'30', 'taille':'205', 'typeSki_id':2, 'imageSki': 'inovix_xc_s_500.jpg'},
   {'id' : 4 ,'modeleSki':'Rossignol Experience 80', 'dateAchat':'2018-09-12', 'etat':'Très Bon', 'prixAchat':'380', 'prixLocation':'38', 'taille':'174', 'typeSki_id':3, 'imageSki': 'rossignol_experience_80.jpg'},
   {'id' : 5 ,'modeleSki':'Wedze Mountain touring MT85', 'dateAchat':'2018-07-11', 'etat':'Très Bon', 'prixAchat':'575', 'prixLocation':'56', 'taille':'176', 'typeSki_id':4, 'imageSki': 'wedze_mountain_touring_mt85.jpg'},
   {'id' : 6 ,'modeleSki':'Atomic Redster X5', 'dateAchat':'2019-05-20', 'etat':'Assez Bon', 'prixAchat':'370', 'prixLocation':'32', 'taille':'177', 'typeSki_id':3, 'imageSki': 'atomic_redster_x5.png'},
   {'id' : 7 ,'modeleSki':'Rossignol Experience 84', 'dateAchat':'2019-11-01', 'etat':'Bon', 'prixAchat':'540', 'prixLocation':'35', 'taille':'184', 'typeSki_id':3, 'imageSki': 'rossignol_experience_84.png'},
   {'id' : 8 ,'modeleSki':'Salomon Max 8S', 'dateAchat':'2017-02-11', 'etat':'Très Bon', 'prixAchat':'500', 'prixLocation':'50', 'taille':'165', 'typeSki_id':3, 'imageSki': 'salomon_max_8s.png'},
   {'id' : 9 ,'modeleSki':'Atomic Vantage 77 TI', 'dateAchat':'2019-05-20', 'etat':'Bon', 'prixAchat':'420', 'prixLocation':'41', 'taille':'156', 'typeSki_id':3, 'imageSki': 'atomic_vantage_77_ti.jpg'},
   {'id' : 10 ,'modeleSki':'Dynastar Vertical Deer', 'dateAchat':'2017-11-25', 'etat':'Mauvais', 'prixAchat':'697', 'prixLocation':'22', 'taille':'180', 'typeSki_id':4, 'imageSki': 'dynastar_vertical_deer.jpg'},
   {'id' : 11 ,'modeleSki':'Elan Ripstick 96', 'dateAchat':'2020-04-16', 'etat':'Très Bon', 'prixAchat':'490', 'prixLocation':'42', 'taille':'181', 'typeSki_id':6, 'imageSki': 'elan_ripstick_96.jpg'},
   {'id' : 12 ,'modeleSki':'Salomon Distance M10 GW L90', 'dateAchat':'2019-08-30', 'etat':'Neuf', 'prixAchat':'299', 'prixLocation':'34', 'taille':'125', 'typeSki_id':1, 'imageSki': 'salomon_distance_m10_gw_l90.jpg'},
   {'id' : 13 ,'modeleSki':'Rossignol Freeze Xpress GW', 'dateAchat':'2020-01-04', 'etat':'Très Bon', 'prixAchat':'269', 'prixLocation':'21', 'taille':'118', 'typeSki_id':1, 'imageSki': 'rossignol_freeze_xpress_gw.jpg'},
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


-- sujet 25 : ski / typeSki          **


INSERT INTO types_ski (id_type_ski, libelle_type_ski)
VALUES (NULL,'Mini-ski'),
       (NULL,'Ski de fond'),
       (NULL,'Ski de piste'),
       (NULL,'Ski de randonnée'),
       (NULL,'Freestyle'),
       (NULL,'Freeride');

INSERT INTO ski (id_ski, modele_ski, date_achat_ski, etat_ski, prix_achat_ski, prix_location_ski, taille_ski, image_ski, id_type_ski)
VALUES (NULL,'Wedze 500', '2019-05-20', 'Très Bon', 240, 50, 172, 'wedze_500.jpg', 5),
       (NULL,'Wedze 500 Slash 100', '2020-09-13', 'Neuf', 360, 75, 184, 'wedze_500_slash_100.jpg', 6),
       (NULL,'Inovix XC S 500', '2019-11-19', 'Assez Bon', 155, 30, 205, 'inovix_xc_s_500.jpg', 2),
       (NULL,'Rossignol Experience 80', '2018-09-12', 'Très Bon', 380, 38, 174, 'rossignol_experience_80.jpg', 3),
       (NULL,'Wedze Mountain touring MT85', '2018-07-11', 'Très Bon', 575, 56, 176, 'wedze_mountain_touring_mt85.jpg', 4),
       (NULL,'Atomic Redster X5', '2019-05-20', 'Assez Bon', 370, 32, 177, 'atomic_redster_x5.png', 3),
       (NULL,'Rossignol Experience 84', '2019-11-03', 'Bon', 540, 35, 184, 'rossignol_experience_84.png', 3),
       (NULL,'Salomon Max 8S', '2017-02-11', 'Très Bon', 500, 50, 165, 'salomon_max_8s.png', 3),
       (NULL,'Atomic Vantage 77 TI', '2019-05-20', 'Bon', 420, 41, 156, 'atomic_vantage_77_ti.jpg', 3),
       (NULL,'Dynastar Vertical Deer', '2017-11-25', 'Mauvais', 697, 22, 180, 'dynastar_vertical_deer.jpg', 4),
       (NULL,'Elan Ripstick 96', '2020-04-16', 'Très Bon', 490, 42, 181, 'elan_ripstick_96.jpg', 6),
       (NULL,'Salomon Distance M10 GW L90', '2019-08-30', 'Neuf', 299, 34, 125, 'salomon_distance_m10_gw_l90.jpg', 1),
       (NULL,'Rossignol Freeze Xpress GW', '2020-01-04', 'Très Bon', 269, 21, 118, 'rossignol_freeze_xpress_gw.jpg', 1);



sujet 26

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

Nom fonction Route Méthode description action (réponse HTTP)
show_layout / GET page d’accueil retourne la vue layout.html
show_matiere /matiere-cours/show GET affiche les matieres retourne la vue show_matiere.html
add_matiere /matiere-cours/add GET affiche le formulaire pour ajouter une matiere retourne la vue add_matiere.html
valid_add_matiere /matiere-cours/add POST validation (soumission) du formulaire pour ajouter une matiere redirection sur la route /matiere-cours/show
delete_matiere /matiere-cours/delete GET suppression d’une matiere redirection sur la route /matiere-cours/show
edit_matiere /matiere-cours/edit GET affiche le formulaire pour modifier une matiere retourne la vue edit_matiere.html
valid_edit_matiere /matiere-cours/edit POST validation (soumission) du formulaire pour modifier une matiere redirection sur la route /matiere-cours/show
show_enseignant /enseignant/show GET affiche les enseignants retourne la vue show_enseignant.html
add_enseignant /enseignant/add GET affiche le formulaire ajouter pour les informations sur un enseignant retourne la vue add_enseignant.html
valid_add_enseignant /enseignant/add POST validation (soumission) du formulaire pour ajouter les informations sur un enseignant redirection sur la route /enseignant/show
delete_enseignant /enseignant/delete GET suppression d’un enseignant redirection sur la route /enseignant/show
edit_enseignant /enseignant/edit GET affiche le formulaire pour modifier les informations sur un enseignant retourne la vue edit_enseignant.html
valid_edit_enseignant /enseignant/edit POST validation (soumission) du formulaire pour modifier un enseignant redirection sur la route /enseignant/show
filtre_enseignant /enseignant/filtre [GET] affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_enseignant_filtre_show.html



########################################################### Sujet  26

matieresCours = [
    {'id' : 1 ,'libelleMatiere':'Mathématiques'},
    {'id' : 2 ,'libelleMatiere':'Francais'},
    {'id' : 3 ,'libelleMatiere':'Physique-Chimie'},
    {'id' : 4 ,'libelleMatiere':'Sport'}
]
enseignants = [
    {'id':1,'nomEnseignant':'Jean Sansouci', 'salaire':'3452', 'dateNaissance':'1965-12-17', 'statut':'Agregé', 'adresseAdministrative' :'Collège Jules Ferry', 'heureDeCours':'15', 'photo':'employe1.png', 'matiere_id':2},
    {'id':2,'nomEnseignant':'Pascal Brian', 'salaire':'2754', 'dateNaissance':'1981-02-25', 'statut':'Agregé', 'adresseAdministrative' :'Lycée Condorcet', 'heureDeCours':'15', 'photo':'employe2.png', 'matiere_id':1},
    {'id':3,'nomEnseignant':'Charle Auclair', 'salaire':'2966', 'dateNaissance':'1977-06-05', 'statut':'Agregé', 'adresseAdministrative' :'Lycée Nelson Mandela', 'heureDeCours':'15', 'photo':'employe3.png', 'matiere_id':2},
    {'id':4,'nomEnseignant':'Maxime Chabot', 'salaire':'1772', 'dateNaissance':'1972-10-16', 'statut':'PEGC', 'adresseAdministrative' :'Collège Guynemer', 'heureDeCours':'23', 'photo':'employe4.png', 'matiere_id':1},
    {'id':5,'nomEnseignant':'Neil Dandonneau', 'salaire':'1498', 'dateNaissance':'1975-07-22', 'statut':'PEGC', 'adresseAdministrative' :'Collège Guynemer', 'heureDeCours':'21', 'photo':'employe5.png' , 'matiere_id':1},
    {'id':6,'nomEnseignant':'Patric Barteaux', 'salaire':'1945', 'dateNaissance':'1966-10-03', 'statut':'PEGC', 'adresseAdministrative' :'Collège Albert Camus', 'heureDeCours':'23', 'photo':'employe6.png', 'matiere_id':3},
    {'id':7,'nomEnseignant':'Alexia Tardif', 'salaire':'1290', 'dateNaissance':'1968-06-12', 'statut':'Contractuel', 'adresseAdministrative' :'Lycée Condorcet', 'heureDeCours':'18', 'photo':'employe7.png', 'matiere_id':3},
    {'id':8,'nomEnseignant':'Sylvie Crête', 'salaire':'1254', 'dateNaissance':'1973-07-18', 'statut':'Contractuel', 'adresseAdministrative' :'Lycée Nelson Mandela', 'heureDeCours':'19', 'photo':'employe8.png', 'matiere_id':3},
    {'id':9,'nomEnseignant':'Minette Migneault', 'salaire':'2241', 'dateNaissance':'1982-09-06', 'statut':'Certifié', 'adresseAdministrative' :'Collège Guynemer', 'heureDeCours':'18', 'photo':'employe10.png', 'matiere_id':4},
    {'id':10,'nomEnseignant':'Françoise Lefèbvre', 'salaire':'2621', 'dateNaissance':'1974-09-29', 'statut':'Certifié', 'adresseAdministrative' :'Collège Jules Ferry', 'heureDeCours':'18', 'photo':'employe11.png', 'matiere_id':4}
]


archive des fichiers d’images de ce sujet




livrable 2 (vacances Noel)


-- # sujet 26 : enseignant / matiere   **

INSERT INTO matiere_cours (id_matiere, libelle_matiere) VALUES 
(NULL, 'Mathématiques'),
(NULL, 'Français'),
(NULL, 'Physique-Chimie'),
(NULL, 'Sport');


INSERT INTO enseignant (id_enseignant, nom_enseignant, salaire, date_naissance, statut, adresse_administrative, nb_heure_cours, photo ,  matiere_id)
VALUES
    (NULL , 'Jean Sansouci', 3452.00, '1965-12-17', 'Agregé', 'Collège Jules Ferry', 15, 'employe1.png' , 2),
    (NULL , 'Pascal Brian', 2754.00, '1981-02-25', 'Agregé', 'Lycée Condorcet', 15, 'employe2.png', 1),
    (NULL , 'Charle Auclair', 2966.00, '1977-06-05', 'Agregé', 'Lycée Nelson Mandela', 15, 'employe3.png', 2),
    (NULL , 'Maxime Chabot', 1772.00, '1972-10-16', 'PEGC', 'Collège Guynemer', 23, 'employe4.png', 1),
    (NULL , 'Neil Dandonneau', 1498.00, '1975-07-22', 'PEGC', 'Collège Guynemer', 21, 'employe5.png', 1),
    (NULL , 'Patric Barteaux', 1945.00, '1966-10-03', 'PEGC', 'Collège Albert Camus', 23, 'employe6.png', 3),
    (NULL , 'Alexia Tardif', 1290.00, '1968-06-12', 'Contractuel', 'Lycée Condorcet', 18, 'employe7.png', 3),
    (NULL , 'Sylvie Crête', 1254.00, '1973-07-18', 'Contractuel', 'Lycée Nelson Mandela', 19, 'employe8.png', 3),
    (NULL , 'Minette Migneault', 2241.00, '1982-09-06', 'Certifié', 'Collège Guynemer', 18, 'employe10.png', 4),
    (NULL , 'Françoise Lefèbvre', 2621.00, '1974-09-29', 'Certifié','Collège Jules Ferry', 18, 'employe11.png', 4);



sujet 27

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

tableau des routes


Nom fonction Route Méthode description action (réponse HTTP)
show_accueil / GET page d’accueil retourne la vue layout.html
show_type_foret /type-foret/show GET affiche les types de forets retourne la vue show_type_foret.html
add_type_foret /type-foret/add GET affiche le formulaire pour ajouter un type de foret retourne la vue add_type_foret.html
valid_add_type_foret /type-foret/add POST validation (soumission) du formulaire pour ajouter un type de foret redirection sur la route /type-foret/show
delete_type_foret /type-foret/delete GET suppression d’un type de foret redirection sur la route /type-foret/show
edit_type_foret /type-foret/edit GET affiche le formulaire pour modifier un type de foret retourne la vue edit_type_foret.html
valid_edit_type_foret /type-foret/edit POST validation (soumission) du formulaire pour modifier un type de foret redirection sur la route /type-foret/show
show_foret /foret/show GET affiche les forets retourne la vue show_foret.html
add_foret /foret/add GET affiche le formulaire pour ajouter une foret retourne la vue add_foret.html
valid_add_foret /foret/add POST validation (soumission) du formulaire pour ajouter une foret redirection sur la route /foret/show
delete_foret /foret/delete GET suppression d’une foret redirection sur la route /foret/show
edit_foret /foret/edit GET affiche le formulaire pour modifier une foret retourne la vue edit_foret.html
valid_edit_foret /foret/edit POST validation (soumission) du formulaire pour modifier une foret redirection sur la route /foret/show
filtre_foret /foret/filtre GET affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_foret_filtre_show.html



########################################################### Sujet  27

typesForet = [
    {'id' : 1 ,'libelle':'Tropicale', 'photo':'tropicale.jpeg'},
    {'id' : 2 ,'libelle':'Taiga', 'photo':'taiga.jpg'},
    {'id' : 3 ,'libelle':'Jungle', 'photo':'jungle.jpg'},
    {'id' : 4 ,'libelle':'Sombre', 'photo':'sombre.jpg'},
    {'id' : 5 ,'libelle':'Amazonienne', 'photo':'amazonie.jpg'},
    {'id' : 6 ,'libelle':'Tempéré', 'photo':'tempere.jpg'},
]

forets = [
    {'id' : '1' ,'surface':'1500', 'dateRelevee':'2020-02-02', 'localisation':'Bangui', 'nbArbreAre':'5', 'typeForet_id':'1', 'coutEntretien':'20.5', 'photo':'img_bangui.png' },
    {'id' : '2', 'surface':'6000', 'dateRelevee':'2019-01-24', 'localisation':'Deggendorf', 'nbArbreAre':'6', 'typeForet_id':'6', 'coutEntretien':'80.3', 'photo':'img_Deggendorf.png' },
    {'id' : '3', 'surface':'7800', 'dateRelevee':'2013-08-11', 'localisation':'Manaus', 'nbArbreAre':'7', 'typeForet_id':'5', 'coutEntretien':'125.25', 'photo':'img_Manaus.png' },
    {'id' : '4', 'surface':'30', 'dateRelevee':'2015-09-12', 'localisation':'Tomsk', 'nbArbreAre':'8', 'typeForet_id':'2', 'coutEntretien':'30.2', 'photo':'img_Tomsk.png' },
    {'id' : '5', 'surface':'340', 'dateRelevee':'2020-10-23', 'localisation':'Boende', 'nbArbreAre':'9', 'typeForet_id':'3', 'coutEntretien':'80.6', 'photo':'img_Boende.png' },
    {'id' : '6', 'surface':'1500', 'dateRelevee':'2020-09-01', 'localisation':'Aokigahara', 'nbArbreAre':'10', 'typeForet_id':'Sombre', 'coutEntretien':'20.5', 'photo':'img_Aokigahara.png' },
    {'id' : '7', 'surface':'74', 'dateRelevee':'2008-08-15', 'localisation':'Blair', 'nbArbreAre':'9', 'typeForet_id':'Sombre', 'coutEntretien':'43.2', 'photo':'img_Blair.png' },
    {'id' : '8', 'surface':'25000', 'dateRelevee':'2017-02-14', 'localisation':'Jakarta', 'nbArbreAre':'8', 'typeForet_id':'1', 'coutEntretien':'13', 'photo':'img_Jakarta.png' },
    {'id' : '9', 'surface':'5300', 'dateRelevee':'2018-03-23', 'localisation':'Bussang', 'nbArbreAre':'7', 'typeForet_id':'2', 'coutEntretien':'20.7', 'photo':'img_Bussang.png' },
    {'id' : '10' ,'surface':'2000', 'dateRelevee':'2015-01-30', 'localisation':'Kupio', 'nbArbreAre':'6', 'typeForet_id':'2', 'coutEntretien':'20.7', 'photo':'img_Kupio.png'}
]


archive des fichiers d’images de ce sujet




-- sujet 27 : foret / type_foret     --



INSERT INTO type_foret(id_type_foret, libelle_type, image) VALUES
(NULL ,'Tropicale','tropicale.jpeg'), -- 1
(NULL ,'Taiga','taiga.jpg'), -- 2
(NULL ,'Jungle','jungle.jpg'), -- 3
(NULL ,'Sombre','sombre.jpg'), -- 4
(NULL ,'Amazonienne','amazonie.jpg'), -- 5
(NULL ,'Tempéré','tempere.jpg'); -- 6


INSERT INTO foret (id_foret, surface,date_relevee,localisation,nb_arbre_are,type_foret_id,cout_entretien, photo) VALUES
(NULL   , 1500, '2020-02-02', 'Bangui', 5, 1, 20.5, 'img_bangui.png'),
(NULL   , 6000, '2019-01-24', 'Deggendorf', 6, 6, 80.3, 'img_Deggendorf.png' ),
(NULL   , 7800, '2013-08-11', 'Manaus', 7, 5, 125.25, 'img_Manaus.png' ),
(NULL   , 300, '2015-09-12', 'Tomsk', 8, 2, 30.2, 'img_Tomsk.png' ),
(NULL   , 340, '2020-10-23', 'Boende', 9, 3, 80.6, 'img_Boende.png' ),
(NULL   , 1500, '2020-09-01', 'Aokigahara', 10, 4, 20.5, 'img_Aokigahara.png' ),
(NULL   , 740, '2008-08-15', 'Blair', 9, 4, 43.2, 'img_Blair.png' ),
(NULL   , 25000, '2017-02-14', 'Jakarta', 8, 1, 13.1, 'img_Jakarta.png' ),
(NULL   , 5300, '2018-03-23', 'Bussang', 7, 6, 20.6, 'img_Bussang.png' ),
(NULL   , 2000, '2015-01-30', 'Kupio', 6, 2, 20.7, 'img_Kupio.png');

sujet 28

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

tableau des routes


Nom fonction Route Méthode description action (réponse HTTP)
show_accueil / GET page d’accueil retourne la vue layout.html
show_type_jeu /type-jeu/show GET affiche les types de jeux retourne la vue show_type_jeu.html
add_type_jeu /type-jeu/add GET affiche le formulaire pour ajouter un type de jeu retourne la vue add_type_jeu.html
valid_add_type_jeu /type-jeu/add POST validation (soumission) du formulaire pour ajouter un type de jeu redirection sur la route /type-jeu/show
delete_type_jeu /type-jeu/delete GET suppression d’un type de jeu redirection sur la route /type-jeu/show
edit_type_jeu /type-jeu/edit GET affiche le formulaire pour modifier un type de jeu retourne la vue edit_type_jeu.html
valid_edit_type_jeu /type-jeu/edit POST validation (soumission) du formulaire pour modifier un type de jeu redirection sur la route /type-jeu/show
show_jeu_plateau /jeu-plateau/show GET affiche les jeux retourne la vue show_jeu.html
add_jeu_plateau /jeu-plateau/add GET affiche le formulaire pour ajouter un jeu retourne la vue add_jeu.html
valid_add_jeu /jeu-plateau/add POST validation (soumission) du formulaire pour ajouter un jeu redirection sur la route /jeu-plateau/show
delete_jeu_plateau /jeu-plateau/delete GET suppression d’un jeu redirection sur la route /jeu/show
edit_jeu_plateau /jeu-plateau/edit GET affiche le formulaire pour modifier un jeu retourne la vue edit_jeu.html
valid_edit_jeu_plateau /jeu-plateau/edit POST validation (soumission) du formulaire pour modifier un jeu redirection sur la route /jeu/show
filtre_jeu_plateau /jeu-plateau/filtre GET affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_jeu_filtre_show.html



########################################################### Sujet  28

# ? jeuPlateau(id,nomJeu, marque, prix_jeu, nbMiniJoueurs, nbMaxiJoueurs, description, photo, typeJeu_id )  typeJeu(id,libelleTypeJeu)


typeJeu = [
 {'id':1, 'libelleTypeJeu':'jeu de stratégie'},
 {'id':2, 'libelleTypeJeu':'jeu de hasard'},
 {'id':3, 'libelleTypeJeu':'jeu de lettre'},
 {'id': 4, 'libelleTypeJeu': 'jeu de mémoire'},
 {'id': 5, 'libelleTypeJeu': 'jeu de déduction'},
 {'id': 6, 'libelleTypeJeu': 'jeu de réflexe'},
 {'id': 7, 'libelleTypeJeu': 'jeu de coopération'},
]

jeuPlateau = [
 {'id':1, 'nomJeu':'Monopoly', 'marque':'Hasbro', 'prix':29.99, 'joueursMin':3, 'joueursMax':6,
  'description':'Jeu de chance dont le but est de ruiner ses adversaires grâce à ses hôtels', 'image':'monopoly.png', 'dateCreation':'1904-01-01', 'typeJeu_id':2},
 {'id':2, 'nomJeu':'Uno', 'marque':'Mattel', 'prix':9.99, 'joueursMin':2, 'joueursMax':10,
  'description':'Jeu de rapidité qui consiste à se débarasser de toutes ses cartes en premier', 'image':'uno.png', 'dateCreation':'1971-02-02', 'typeJeu_id':6},
 {'id':3, 'nomJeu':'Loup-Garou', 'marque':'Thiercelieux', 'prix':12.57, 'joueursMin':6, 'joueursMax':24,
  'description':'Jeu de déduction qui oppose loup-garous et villageois, et dont le but est de survivre', 'image':'loupGarou.png', 'dateCreation':'1986-02-02', 'typeJeu_id':5},
 {'id':4, 'nomJeu':'Scrabble', 'marque':'Scrabble', 'prix':35.92, 'joueursMin':2, 'joueursMax':4,
  'description':'Jeu de lettre dans lequel on marque des points en formant des mots sur un plateau', 'image':'scrabble.png', 'dateCreation':'1955-02-02', 'typeJeu_id':3},
 {'id':5, 'nomJeu':'Risk', 'marque':'Hasbro', 'prix':59.99, 'joueursMin':2, 'joueursMax':6,
  'description':'Jeu de stratégie militaire consistant à conquérir des territoires', 'image':'risk.png', 'dateCreation':'1957-02-02', 'typeJeu_id':1},
 {'id':6, 'nomJeu':'Times Up', 'marque':'Asmodee', 'prix':23.49, 'joueursMin':4, 'joueursMax':12,
   'description':'Jeu en coopération qui oppose plusieurs équipes de 2 devants faire deviner des mimes pour gagner des points', 'image':'timesup.png', 'dateCreation':'1999-02-02', 'typeJeu_id':7},
 {'id':7, 'nomJeu':'Colon Catan', 'marque':'Kosmos', 'prix':45.99, 'joueursMin':3, 'joueursMax':4,
   'description':'Jeu de stratégie dont le but est de collecter et organiser des ressources pour coloniser l\'île', 'image':'colon.png', 'dateCreation':'1995-02-02', 'typeJeu_id':1},    # colon de catane
]


archive des fichiers d’images de ce sujet




-- sujet 28 : jeu_plateau / type_jeu     --



INSERT INTO type_jeu(id_type_jeu, libelle_type_jeu, image) VALUES
(NULL ), -- 1
(NULL ), -- 2
(NULL ), -- 3
(NULL ), -- 4
(NULL ), -- 5
(NULL ); -- 6


INSERT INTO jeu_plateau (id_jeu_plateau, marque, prix, joueurs_min, joueurs_max, description, image, date_creation, type_jeu_id) VALUES
(NULL ),
(NULL ),
(NULL ),
(NULL ),
(NULL ),
(NULL ),;

sujet 29

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

tableau des routes


Nom fonction Route Méthode description action (réponse HTTP)
show_accueil / GET page d’accueil retourne la vue layout.html
show_type_pneu /type-pneu/show GET affiche les types de pneus retourne la vue show_type_pneu.html
add_type_pneu /type-pneu/add GET affiche le formulaire pour ajouter un type de pneu retourne la vue add_type_pneu.html
valid_add_type_pneu /type-pneu/add POST validation (soumission) du formulaire pour ajouter un type de pneu redirection sur la route /type-pneu/show
delete_type_pneu /type-pneu/delete GET suppression d’un type de pneu redirection sur la route /type-pneu/show
edit_type_pneu /type-pneu/edit GET affiche le formulaire pour modifier un type de pneu retourne la vue edit_type_pneu.html
valid_edit_type_pneu /type-pneu/edit POST validation (soumission) du formulaire pour modifier un type de pneu redirection sur la route /type-pneu/show
show_pneu_velo /pneu-velo/show GET affiche les pneus retourne la vue show_pneu_velo.html
add_pneu_velo /pneu-velo/add GET affiche le formulaire pour ajouter un pneu retourne la vue add_pneu_velo.html
valid_add_pneu_velo /pneu-velo/add POST validation (soumission) du formulaire pour ajouter un pneu redirection sur la route /pneu-velo/show
delete_pneu_velo /pneu-velo/delete GET suppression d’un pneu redirection sur la route /pneu-velo/show
edit_pneu_velo /pneu-velo/edit GET affiche le formulaire pour modifier un pneu retourne la vue edit_pneu_velo.html
valid_edit_pneu_velo /pneu-velo/edit POST validation (soumission) du formulaire pour modifier un pneu redirection sur la route /pneu-velo/show
filtre_pneu_velo /pneu-velo/filtre GET affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_pneu_filtre_show.html



########################################################### Sujet  29


typePneuVelo = [
    {'id': 1, 'libelleType': 'Ville'},
    {'id': 2, 'libelleType': 'VTT'},
    {'id': 3, 'libelleType': 'Route'},
    {'id': 4, 'libelleType': 'Vélo électrique'},
    {'id': 5, 'libelleType': 'Enfant'}
]

pneuVelo = [
    {'id': 1, 'nomPneu': 'Pneu velo Confort Michelin', 'fabricant': 'Michelin', 'modelePneu':'Pneu Michelin blanc et noir', 'largeurPneu': 3, 'diametreJante': 65, 'dimension': '22 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 1, 'prixPneu': 22.00, 'image': 'pneu_michelin_blanc_noir.png'},
    {'id': 2,'nomPneu': 'Pneu VTT Crossmax', 'fabricant': 'Mavic', 'modelePneu': 'Crossmax Pro', 'largeurPneu': 2.4, 'diametreJante': 60, 'dimension': '29 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 2, 'prixPneu': 55.00, 'image': 'pneu_VTT_crossmax.png'},
    {'id': 3, 'nomPneu': 'Pneu ville CityTouring', 'fabricant': 'Continental', 'modelePneu': 'TourRide', 'largeurPneu': 3, 'diametreJante': 62, 'dimension': '28 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 1, 'prixPneu': 35.58, 'image': 'pneu_ville_touring.png'},
    {'id': 4, 'nomPneu': 'Pneu Route Ultrasport', 'fabricant': 'Schwalbe', 'modelePneu': 'Ultrasport', 'largeurPneu': 2, 'diametreJante': 70, 'dimension': '28 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 3, 'prixPneu': 28.00, 'image': 'pneu_ultrasport.png'},
    {'id': 5, 'nomPneu': 'Pneu Cars', 'fabricant': 'Michelin', 'modelePneu': 'Mich&Flash', 'largeurPneu': 1.3, 'diametreJante': 15, 'dimension': '16 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 5, 'prixPneu': 15.00, 'image': 'pneu_cars.png'},
    {'id': 6, 'nomPneu': 'Pneu Big Ben', 'fabricant': 'Schwalbe', 'modelePneu': 'Ballon', 'largeurPneu': 2.3, 'diametreJante': 30, 'dimension': '26 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 4, 'prixPneu': 20.00, 'image': 'pneu_big_ben.png'},
    {'id': 7, 'nomPneu': 'Pneu Energy', 'fabricant': 'Michelin', 'modelePneu': 'ElectrikRide', 'largeurPneu': 3, 'diametreJante': 35, 'dimension': '29 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 4, 'prixPneu': 22.64, 'image': 'pneu_energy.png'},
    {'id': 8, 'nomPneu': 'Pneu Touring Marathon', 'fabricant': 'Schwalbe', 'modelePneu': 'Touring', 'largeurPneu': 5, 'diametreJante': 55, 'dimension': '26 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 3, 'prixPneu': 60.00, 'image': 'pneu_touring_marathon.png'},
    {'id': 9, 'nomPneu': 'Pneu VTT Ikon', 'fabricant': 'Maxxis', 'modelePneu': 'EXO', 'largeurPneu': 7, 'diametreJante': 63, 'dimension': '29 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 2, 'prixPneu': 33.99, 'image': 'pneu_VTT_Ikon.png'},
    {'id': 10, 'nomPneu': 'Pneu Route Corsa', 'fabricant': 'Veloflex', 'modelePneu': 'Corsa Evo', 'largeurPneu': 2, 'diametreJante': 75, 'dimension': '25 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 3, 'prixPneu': 49.26, 'image': 'pneu_route_corsa.png'},
    {'id': 11, 'nomPneu': 'Pneu velo Zig Zag', 'fabricant': 'Oxford', 'modelePneu': 'Noir traditionnel', 'largeurPneu': 3.2, 'diametreJante': 58, 'dimension': '26 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 1, 'prixPneu': 10.00, 'image': 'pneu_velo_zig_zag.png'},
    {'id': 12, 'nomPneu': 'Pneu Kid Road', 'fabricant': 'Bike Original', 'modelePneu': 'RoadTown', 'largeurPneu': 1.5, 'diametreJante': 18, 'dimension': '18 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 5, 'prixPneu': 12.00, 'image': 'pneu_kid_road.png'},
    {'id': 13, 'nomPneu': 'Pneu VTT Syerra', 'fabricant': 'Vittoria', 'modelePneu': 'TLR G2', 'largeurPneu': 3, 'diametreJante': 46, 'dimension': '27 pouces', 'dateCreation':'2023-02-02' , 'typePneu_id': 2, 'prixPneu': 44.99, 'image': 'pneu_VTT_syerra.png'}
]


archive des fichiers d’images de ce sujet




-- sujet 29 : pneu_velo / type_pneu_velo     --



INSERT INTO type_pneu_velo(id_type_pneu, libelle_type) VALUES
(NULL ), -- 1
(NULL ), -- 2
(NULL ), -- 3
(NULL ), -- 4
(NULL ), -- 5
(NULL ); -- 6


INSERT INTO pneu_velo (id_pneu_velo, nom_pneu,  fabricant, modele_pneu, largeur_pneu,diametre_jante,dimension, date_creation, type_pneu_id, prix_pneu, image ) VALUES
(NULL ),
(NULL ),
(NULL ),
(NULL ),
(NULL ),
(NULL ),;

sujet 30

livrable 1 (vacances Toussaint)

éléments à respecter dans le fichier app.py

tableau des routes


Nom fonction Route Méthode description action (réponse HTTP)
show_accueil / GET page d’accueil retourne la vue layout.html
show_type_salle /type-salle/show GET affiche les types de salles retourne la vue show_type_salle.html
add_type_salle /type-salle/add GET affiche le formulaire pour ajouter un type de salle retourne la vue add_type_salle.html
valid_add_type_salle /type-salle/add POST validation (soumission) du formulaire pour ajouter un type de salle redirection sur la route /type-salle/show
delete_type_salle /type-salle/delete GET suppression d’un type de salle redirection sur la route /type-salle/show
edit_type_salle /type-salle/edit GET affiche le formulaire pour modifier un type de salle retourne la vue edit_type_salle.html
valid_edit_type_salle /type-salle/edit POST validation (soumission) du formulaire pour modifier un type de salle redirection sur la route /type-salle/show
show_salle_cours /salle-cours/show GET affiche les salles retourne la vue show_salle_cours.html
add_salle_cours /salle-cours/add GET affiche le formulaire pour ajouter une salle retourne la vue add_salle_cours.html
valid_add_salle_cours /salle-cours/add POST validation (soumission) du formulaire pour ajouter une salle redirection sur la route /salle-cours/show
delete_salle_cours /salle-cours/delete GET suppression d’une salle redirection sur la route /salle-cours/show
edit_salle_cours /salle-cours/edit GET affiche le formulaire pour modifier une salle retourne la vue edit_salle_cours.html
valid_edit_salle_cours /salle-cours/edit POST validation (soumission) du formulaire pour modifier une salle redirection sur la route /salle-cours/show
filtre_salle_cours /salle-cours/filtre GET affichage du formulaire du filtre et des éléments d’une des tables python sous forme de ‘cards’ retourne la vue front_salle_filtre_show.html



########################################################### Sujet  30


typeSalle = [
    {'id': 1, 'nomTypeSalle': 'td', 'typeCours': 'TD'},
    {'id': 2, 'nomTypeSalle': 'amphi', 'typeCours': 'CM'},
    {'id': 3, 'nomTypeSalle': 'tp_machine', 'typeCours': 'TP'},
    {'id': 4, 'nomTypeSalle': 'tp_reseau', 'typeCours': 'TP'},
    {'id': 5, 'nomTypeSalle': 'salle_des_profs', 'typeCours': None}
]


salleCours = [
    {'id': 1, 'nomSalle': 'Salle 101', 'etage': 0, 'nbMaxEtudiants': 30, 'surface': 100, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 3, 'photo':'101.jpg'},
    {'id': 2, 'nomSalle': 'Salle 102', 'etage': 0, 'nbMaxEtudiants': 25, 'surface': 102, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 3, 'photo':'102.jpg'},
    {'id': 3, 'nomSalle': 'Salle 103', 'etage': 1, 'nbMaxEtudiants': 28, 'surface': 104, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 4, 'photo':'103.jpg'},
    {'id': 4, 'nomSalle': 'Salle 104', 'etage': 1, 'nbMaxEtudiants': 24, 'surface': 105, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 3, 'photo':'104.jpg'},
    {'id': 5, 'nomSalle': 'Salle 105', 'etage': 1, 'nbMaxEtudiants': 28, 'surface': 98, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 3, 'photo':'105.jpg'},
    {'id': 6, 'nomSalle': 'Salle 106', 'etage': 1, 'nbMaxEtudiants': 23, 'surface': 97, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 3, 'photo':'106.jpg'},
    {'id': 7, 'nomSalle': 'Salle 107', 'etage': 1, 'nbMaxEtudiants': 24, 'surface': 96, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 3, 'photo':'107.jpg'},
    {'id': 8, 'nomSalle': 'Salle 108', 'etage': 1, 'nbMaxEtudiants': 31, 'surface': 85, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 5, 'photo':'108.jpg'},
    {'id': 9, 'nomSalle': 'Salle 109', 'etage': 1, 'nbMaxEtudiants': 34, 'surface': 88, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 5, 'photo':'109.jpg'},
    {'id': 10, 'nomSalle': 'Salle 200', 'etage': 1, 'nbMaxEtudiants': 10, 'surface': 91, 'nbPrisesCourant': 15,
     'nbMachines': 25, 'batiment': 'E', 'type_salle_id': 3, 'photo':'200.jpg'},
    {'id': 11, 'nomSalle': 'Salle 201', 'etage': 1, 'nbMaxEtudiants': 10, 'surface': 94, 'nbPrisesCourant': 15,
     'nbMachines': 25, 'batiment': 'E', 'type_salle_id': 3, 'photo':'201.jpg'},
    {'id': 12, 'nomSalle': 'Salle 202', 'etage': 2, 'nbMaxEtudiants': 14, 'surface': 95, 'nbPrisesCourant': 15,
     'nbMachines': 25, 'batiment': 'E', 'type_salle_id': 3, 'photo':'202.jpg'},
    {'id': 13, 'nomSalle': 'Salle 203', 'etage': 2, 'nbMaxEtudiants': 30, 'surface': 96, 'nbPrisesCourant': 25,
     'nbMachines': 35, 'batiment': 'E', 'type_salle_id': 1, 'photo':'203.jpg'},
    {'id': 14, 'nomSalle': 'Salle 204', 'etage': 2, 'nbMaxEtudiants': 28, 'surface': 103, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'E', 'type_salle_id': 1, 'photo':'204.jpg'},
    {'id': 15, 'nomSalle': 'Salle 205', 'etage': 2, 'nbMaxEtudiants': 27, 'surface': 108, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'E', 'type_salle_id': 1, 'photo':'205.jpg'},
    {'id': 16, 'nomSalle': 'Salle 206', 'etage': 2, 'nbMaxEtudiants': 36, 'surface': 107, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'E', 'type_salle_id': 1, 'photo':'206.jpg'},
    {'id': 17, 'nomSalle': 'Salle 207', 'etage': 2, 'nbMaxEtudiants': 36, 'surface': 100, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'E', 'type_salle_id': 1, 'photo':'207.jpg'},
    {'id': 18, 'nomSalle': 'Salle 208', 'etage': 2, 'nbMaxEtudiants': 28, 'surface': 100, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'E', 'type_salle_id': 1, 'photo':'208.jpg'},
    {'id': 19, 'nomSalle': 'Salle 209', 'etage': 2, 'nbMaxEtudiants': 27, 'surface': 100, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'E', 'type_salle_id': 1, 'photo':'209.jpg'},
    {'id': 20, 'nomSalle': 'Amphi 1', 'etage': 0, 'nbMaxEtudiants': 100, 'surface': 500, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'F', 'type_salle_id': 2, 'photo':'amphi1.jpg'},
    {'id': 21, 'nomSalle': 'Amphi 3', 'etage': 0, 'nbMaxEtudiants': 100, 'surface': 500, 'nbPrisesCourant': 10,
     'nbMachines': 15, 'batiment': 'D', 'type_salle_id': 2, 'photo':'amphi3.jpg'}
]



archive des fichiers d’images de ce sujet




INSERT INTO type_salle(id_type_salle, nom_type_salle, type_cours) VALUES
(NULL ), -- 1
(NULL ), -- 2
(NULL ), -- 3
(NULL ), -- 4
(NULL ), -- 5
(NULL ); -- 6


INSERT INTO salle_cours (id_salle, nom_salle,  etage, nb_max_etudiants, surface , nb_prises_courant, nb_machines, batiment, type_salle_id, photo  ) VALUES
(NULL ),
(NULL ),
(NULL ),
(NULL ),
(NULL ),
(NULL );