ENSIIE / Projet web 2017

This document is dedicated to french students. Sorry english speakers !
the 2016 edition is here

Projet web ENSIIE 1A

Objectif pédagogique

Apprendre à concevoir et développer des applications web utilisant un serveur de bases de données.

Prendre conscience des problématiques d’organisations d’équipes et de répartition des tâches.

Le sujet

Projets proposés

Nous proposons trois sujets qui seront détaillés ultérieurement et présentés lors de la première séance :

Projet libre

Vous pouvez également proposer votre propre sujet. Celui-ci devra défini au plus tard à la fin de la première séance et devra être validé.

Soyez imaginatifs ! Mais veillez tout de même à respecter les contraintes présentées ci-dessous. N’hésitez pas à imaginer des sujets qui pourraient vous servir (ou vos associations) aux quotidiens. Nous serons là pour vous accompagner au cours de la réalisation de ce projet, alors profitez en !

Must have

Les sujets devront tous proposer au minimum :

  • Une authentification
  • Un compte administrateur donnant les droits à certaines fonctionnalités (au choix)
  • Un profil utilisateur éditable
  • Une base de données relationnelle :
    • au moins 3 tables
    • au moins une table de jointure ( n…n)
    • au moins une jointure dans une requête
    • des INSERT, DELETE, UPDATE, SELECT
  • Un CRUD (Create Read Update Delete)
  • Du javascript (au minimum validation JS des formulaires)

Nous attendons de la part des élèves une véritable appropriation du sujet. Il ne suffira pas de remplir des cases à cocher pour avoir la moyenne, nous voulons voir une démarche d’ingénieur, pas d’exécutant.

Les technologies

  • On oblige
    • PHP 7.0
    • PostgreSQL
    • JavaScript
    • Pas de framework
  • On aimera
    • PHP 7.1+
    • Les tests automatisés (unitaires, fonctionnels, de sécurité, de performance, …)
    • Une API REST bien faite
    • Les animations CSS parcimonieuses qui profitent à l’UX
  • On n’aimera pas
    • Les framework
    • Le XML
    • jQuery utilisé n’importe comment
    • HTML5 utilisé n’importe comment

Séances

  • Séance 1 : choix du sujet, début des projets, présentation de cloud9 (documentation)
    • Mardi 28 Mars 2017
  • Séance 2 : point d’avancement, échange sur les bonnes pratiques, analyse du code
    • Mardi 18 Avril 2017
  • Séance 3 : soutenance, livraison des sources
    • Mardi 9 Mai 2017

La notation

Une partie de la note sera attribuée par groupe, une autre, réservé à l’investissement personnel.

Les points auxquels nous ferons attention lors de la notation :

  • La méthodologie, quels vont être vos choix d’organisation ?
  • La participation au sein de l’équipe, on attend que vous soyez moteur et que vous soyez force de proposition.
  • La qualité technique du projet, nous voulons pouvoir comprendre votre code sans nous arracher les cheveux. Préférez peu de code bien fait avec des fonctionnalités complètes à une grosse quantité de code illisible, avec beaucoup de fonctionnalités copiées collées et/ou à moitiés terminées.
  • La soutenance du projet, nous souhaitons voir une soutenance dynamique. Pas de présentation point par point afin de vérifier que oui il y a bien une inscription et ou un CRUD. On veut voir que ça marche, on veut être convaincu et on veut se l’arracher votre projet. Encore moins une lecture de votre rapport.
  • Le rapport du projet a un but complètement différent de la soutenance. La soutenance nous permet de voir le produit tel que vous avez imaginé son utilisation, le rapport nous permet de comprendre la partie interne du fonctionnement de votre groupe. Il est très important pour nous de bien comprendre quels ont été les enjeux de chaque groupe, quelles ont été les difficultés rencontrées et surtout quels ont été les solutions trouvées pour les contourner.

L’environnement de développement

Afin de s’affranchir de problème d’infrastructure, nous vous mettons à disposition un environnement de développement pour ce projet.

Lors du premier cours, nous vous présenterons un IDE en ligne cloud9 et comment il vous permettra de travailler en groupe efficacement et surtout rapidement.

Le rendu des sources et du rapport

Pour le rendu des sources, nous accèderons directement à vos environnement cloud9 que nous vous aurons fournis.

  1. Le rapport doit être inclus dans les sources du projet, à la racine: /rapport.pdf
  2. Pour ceux qui auront choisi d’utiliser git, un accès au dépôt en lecture est bienvenue (le git de l’école, le git d’arise, github ou tout autre dépôt pourra très bien faire l’affaire).

Toutefois, il serait dommage de rester bloquer sur le rendu donc préparez-vous avant et contactez nous le plus tôt possible en cas de problème.

Le rapport doit

  • Faire 10 pages maximum pour refléter le monde de l’entreprise où la concision est une qualité
  • Expliquer l’approche mise en place, les problématiques rencontrées (techniques comme méthodes) et les solutions apportées
  • Expliquer la répartition des rôles au sein de l’équipe
  • La problématique à laquelle il répond.

La soutenance

Nous souhaitons simuler une séance plénière devant des investisseurs. Nous voulons que vous vous mettiez dans la peau d’une jeune startup devant vendre sa toute nouvelle application à un public d’investisseurs intéressés.

Ce format de soutenance sera aussi une bonne occasion de se faire une première expérience de communication autour d’un projet.

La soutenance:

  • Présentation plénière (tous les groupes devant tout le monde)
  • 8 minutes par groupe, pas une minute de plus
  • Pure démo de l’application, pas de questions
  • L’objectif est de vendre l’application aux personnes dans la salle, mode start-up ACTIVÉ
  • La note de soutenance n’est pas donnée le jour même
  • Tout le monde doit être présent lors des soutenances.

Aussi, n’oubliez pas qu’on est là pour passer un bon moment, pas de lynchage, uniquement des critiques constructives. Nous comprenons également que le facteur stress peut jouer en votre défaveur en fonction de votre personnalité, aussi ne vous inquiétez pas car nous sommes conscients de cela et nous sommes là pour noter l’adéquation de chacun avec les attentes d’un ingénieur:

  • Méthode
  • Apprentissage
  • Qualité du travail rendu
  • Expression
  • Adaptabilité

Notre équipe !

  • Clément Prévost : ENSIIE promo 2012, Chef de projet chez Inovia.
  • Pierre Trouvé : ENSIIE promo 2009, Scrum master chez Inovia.
  • Thomas Comes : ENSIIE promo 2012, Scrum master chez Inovia.

Comment nous contacter

En cas de question, envoyez un email à tp_web_ensiie@inovia.fr en précisant le numéro de votre groupe. N’hésitez pas à nous poser des questions techniques lors de l’exécution du projet. Nous serons là pour vous aider avec des conseils ou en vous fournissant des ressources.

Vous êtes également les bienvenus tous les jeudis après-midi dans nos locaux au 10 rue du Faubourg Poissonnière 75010 PARIS. Ce sera l’occasion de faire un peu plus connaissance, et d’assister à nos SteamLearn, les formations hebdo !