M1 Miage 2011-2012 Mini projet

De $1

Version de 09:45, 26 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Introduction

Plusieurs sujets vous sont proposés en fonctions de vos envies, de votre niveau en informatique, de votre future orientation.

1 - Un site de vente en ligne de DVD/Blueray

C'est le sujet le plus simple à appréhender. Voir les détails sur cette page : M1 miage application web - réaliser un site de vente en ligne de dvd/blurays 

2 - Un site "social" de gestion de photos

C'est un projet sympa pour ceux qui ont bien aimé le cours HTML5, qui veulent jouer avec CSS3, jQuery etc.

Sujet pour ceux qui veulent un peu plus s'amuser avec un site "fun" bourré d'animations, de popups, de slide shows, de jQuery effects etc. On se propose de refaire un site web "à la picasa". Remarque : il existe de nombreux plugins jquery pour afficher des albums photos, etc. Vous avez tout à fait le droit de les utiliser mais : citer les sources, indiquer ce que vous avez modifié, etc. !

  • Gestion d'albums photos, partage d'albums, commentaires, notifications,
  • En gros : on uploade des photos, elles arrivent sur le serveur (ce sera une tâche à faire marcher en priorité : l'upload), l'idéal est qu'on puisse envoyer plusieurs photos en multi-selection, ou à l'aide d'une applet java spécialisée ou d'une appli flash spécialisée (il y en a). Au pire -> selecteur de fichiers avec selection multiple. Voir le tutorial HTML5 de Michel Buffa, section "discovery path", il y a un exemple de selection de photos multiples avec possibilité de drag'n'drop. Il manque la partie "upload" en ajax, pour cela voir Michel Buffa ou chercher sur google "images base64 save on server" ou "canvas save on server".
  • Gestion des albums : lors d'un upload, on choisit le nom de l'album où va la photo, on peut en créer un nouveau,
  • Affichage des photos dans l'album + affichage de la photo en grand. Là, jQuery ou Dojo sont vos amis : on trouve de nombreux widgets pour afficher de manière très sympa des photos !
  • Possibilité de partager des albums (en donnant la liste des utilisateurs avec qui ont veut partager : autocompletion attendue !)
  • Lors d'un partage les autres utilisateurs sont notifiés (par email ou bien lors de la prochaine connexion. Si par email, chercher java mail api sur google + utiliser un initParameter ou un contextParameter cf cours sur les servlets),
  • Lors d'un partage, les photos qui n'appartiennent pas à un utilisateur mais qui sont partagées avec lui doivent apparaitre dans la rubrique "albums partagés".
  • On peut commenter les photos mais aussi celles des albums partagés. Là aussi des notifications seront envoyées.
  • Des albums peuvent être publics ou privés. On peut partager des albums même publics ->  notifications en cas de commentaires.

Facultatif :

  • Réduire les photos pour en faire des imagettes une fois reçues sur le serveur,
  • Possibilité de "décorer les photos" en ajoutant des cadres, des effets (il y a des libs pour cela, chercher sur google), nombreux exemples HTML5 sur le web.
  • Utiliser plein de trucs sympas en jQuery pour des effets visuels, comme faire un slideshow à partir d'un album ou de photos sélectionnées,
  • Afficher la géolocalisation des photos  sur une google map (ou demander de cliquer dessus),
  • etc... allez voir sur picasa ou sur d'autres sites de photos...

 

3 - Ecriture d'un "facebook like"

Il s'agit d'un sujet "ouvert", si vous êtes bons, passionnés, curieux, il y a plein de trucs à faire. Vous pouvez aussi vous associer avec un des groupes qui a pris le sujet "galerie de photo en ligne" pour la partie gestion des photos.

 

Conseils/FAQ :

  • METTEZ DES COMMENTAIRES DANS LE CODE, AVANT TOUT POUR VOUS !
  • Utilisez un netbeans et un glassfish à jour (help/update),
  • Penser à lire les logs de glassfish, c'est là que sont les erreurs,
  • Penser à regarder la console de firebug : c'est là que sont les erreurs javascript,
  • Utiliser un gestionnaire de version (ce sera obligatoire l'an prochain), mettez le projet sur github ou sur googlecode ou sur sourceforge par ex... netbeans ou eclipse savent gérer les principaux gestionnaires de version,
  • Utiliser une méthode de conception "agile" : tester le plus rapidement des fonctionnalités avant d'avoir le modèle de données définitif, l'interface définitive, orienter votre développement "demain je dois pouvoir afficher un produit, demain après midi je dois pouvoir rechercher un produit, après demain je dois pouvoir ajouter un produit à une commande, etc....",
  • En cas de soucis, pensez que si vous changez vos classes, le modèle de données doit changer, mettez vous en "drop and create",
  • Si vous avez une erreur sur le build.xml : stoppez le serveur, clean and build, redémarrez,
  • Bien lire les messages d'erreurs, vérifier vos requêtes en lisant les logs,
  • Si les logs ne bougent pas où s'ils ont disparus : clic droit sur glassfish et "voir logs",
  • Mettre impérativement un login et un password à votre base de données,
  • Si vraiment tout foire : supprimer les fichiers persistence.xml et glassfish-resources.xml et les re-créer (en faisant clic droit/new/persistence/persistence Unit sur le projet)