A rendre le dimanche 12 février 2023 minuit au plus tard
Projet individuel
Comment le rendre
Faites un fichier README.txt et déposez-le ici
Dans le fichier README.txt, précisez :
le sujet choisi
l’adresse de votre site
un nom d’utilisateur
un mot de passe
(et plusieurs nom/mot de passe, s’il y a plusieurs niveaux de droits (administrateur/visiteur etc.))
si vous avez utilisé des librairies spécifiques que je vous ai autorisées, merci de le re-préciser
Sujet
Ce que vous voulez tant que c’est dans le cadre de ce que l’on a vu. Vous avez tout le Web comme inspiration ! N’oubliez pas de me donner le nom et le mot de passe pour se connecter ! Si vous gérez des profils différents (admin / user ou autre), donnez moi les noms et mots de passe de différents profils !
Fonctionnalités obligatoires
Nouveaux modèles
Nouvelles relations à mettre en oeuvre : ForeignKey, ManyToMany, OneToOne
Au moins un formulaire
Connexion + déconnexion (vu en cours)
Visualisation de tout dans l’interface d’administration
Sujets possibles
Site de partage de photos
Site de cocktails (cf ci-dessus)
e-rated : site d’appréciations (selon des sujets, à définir)
Ask-a-question : site où l’on pose des questions sur des sujets divers, et des gens répondent
Write-a-book-together : site où l’on se connecte et où on peut écrire un livre à plusieurs
Wedding-couple-site : site où l’on uploade + partage des photos de mariage + livre de commandes
Playing-cards-collection : site où on scanne + échange des cartes (Magic the gathering)
Polls-and-surveys : site de création de sondages (= QCM, exemple très beau ici : quipoquiz)
Poems-generator : faire un cadavre exquis qui génère des poèmes + possibilité pour les utilisateurs de les noter / d’ajouter des mots
The-future-of-post-it : faire un carnet de choses à faire pour les utilisateurs, qui envoie des mails de rappels de ces choses à des dates données
Gift-ideas : un site où l’on va faire des idées de cadeaux / suggérer des idées de cadeaux + les noter (les meilleurs ressortent en premier)
Le-bon-recoin : refaire le bon coin en plus simple
Suggest-crawlers : site de suggestions : on clique sur un mot, il en suggère plein d’autres avec + définitions / liens de sites pour chacuns
Tv-fans : site de présentations + notes d’émissions télé
Faire le jeu SokoBan vu en cours, avec la possibilité de login, enregistrement. Pour les appels JSON supplémentaires, lorsque l’utilisateur choisit un tableau, s’en souvenir (= AJAX) et lorsqu’il se reconnecte, le remettre directement. Puis enregistrer son score lorsqu’il a terminé un niveau + montrer les meilleurs scores.
Pour les sujets qui suivent, ils sont possibles mais plutôt complexes et demandent plus d’investissement. Si vous êtes motivés, demandez-moi plus d’informations, je vous expliquerai les difficultés que vous allez rencontrer.
Turn-by-turn : faire un jeu multijoueurs en tour par tour (jeu de cartes, de poker, ou de plateau etc)
Chat-with-someone : site de chat/discussion
A-maze-ing : site où l’on peut se ballader dans un labyrinthe et essayer d’en trouver la sortie
Sujet imposé si vous n’avez pas d’idée
Cocktails : on se connecte, on a une liste d’éléments (récupérés en JSON) disponibles, on coche ceux qui nous intéressent, on valide, c’est envoyé, et le retour en JSON affiche les cocktails qu’il est possible de faire avec ce que l’on a coché.
Note pour ceux qui connaissent / font / du React : la librairie est autorisée, mais il me faut le code d’origine, et non pas le code minifié / de production.
Interdiction d’utiliser une librairie JavaScript qui ne vienne pas des sites autorisés précédemment
Retard
Après la date et heure limite
Passé ce délai ce sera 1 pt par 2 heures de retard (mon robot qui analyse les mails prend en compte la date de réception du mail, tout est fait automatiquement).
Pour ceux qui essaient vraiment d’aller jusqu’à la dernière minute, toute heure entamée est comptée comme une heure complète.
Exemple : un point en moins si je le reçois un jour après à la minute près, soit date limite plus 00:01 minute.
N’oubliez pas de me donner le nom et le mot de passe pour se connecter !
Copier-coller
Copie sur une autre personne (« je se savais pas comment implémenter telle ou telle fonctionnalité dont j’avais besoin pour aller plus loin, je l’ai copiée sur un autre ») :
si la personne est clairement nommée : note pour la fonctionnalité divisée par 2 (uniquement la moitié du travail a été faite) ;
0 aux deux personnes sinon ;
Si je m’aperçois que vous avez bêtement copié collé des sources Internet, je vous convoquerai pour vous demander de m’expliquer la fonctionnalité, et :
si vous ne savez pas m’expliquer le code alors 0 ;
si vous savez m’expliquer tout le code alors votre note totale sera divisée par vous + le nombre de contributeurs à ce projet, ce qui se rapprochera certainement de 0 aussi.
Python, comme de nombreux autres langages ainsi que des implémentations matérielles, suit la norme IEEE 754 pour manipuler les nombres à virgule (le type float en Python). Cette norme définit les tailles possibles de mémoire allouée pour contenir le nombre. La taille étant fixe, certains nombres ne sont pas représentables et la valeur enregistrée peut être légèrement erronée.
Cette situation n’est donc pas spécifique à Python. L’écart entre la valeur saisie et la valeur en mémoire est visible avec un interpréteur Python :
Ce type d’erreur ne se rencontre pas uniquement dans les domaines spatial ou scientifique. Par exemple, des calculs de TVA et TTC peuvent produire des erreurs visibles pour l’utilisateur.
Pour éviter ces erreurs, il est possible d’utiliser la bibliothèque decimal incluse dans la bibliothèque standard :
Un autre moyen est de faire des calculs en n’utilisant que des entiers et faire des conversions au dernier moment. Dans le cas de la TVA, cela signifie de ne travailler qu’en centimes et de ne convertir en euro que lors de l’affichage à l’utilisateur (avec l’arrondi adapté, limité à deux décimales).
Exposition organisé·e par l’Afpy l’Université Bordeaux-Talence
Conférence annuelle des pythonistes francophones 🐍 🇫🇷
https://pycon.fr/2023/
Du jeudi 16 février au dimanche 19 février 2023