Développement web ISC3-il
Présentation du cours
Programme
- Frameworks MVC : Laravel, Django, …
- HTML5 : vue d’ensemble
- Javascript : VueJS, Node.js, jQuery, AJAX, JSON, …
- Déploiement et configuration Serveur
- Webservices : REST vs SOAP
- Sécurité : Technologies, prévention des risques courants
- (Responsive) Web Design
- (Syndication : RSS, Atom)
- Vos souhaits ?
Contenu, activités
- Cours théorique
- 2 Projets
- frameworks : Laravel, Django, Vue.js (ouvert à d’autres
propositions)
- Groupes de 3, 30h
par personne et par projet
- Présentation de 20min
- Workshops intervenants externes
- Support : ghpages (source),
partage fichiers : teams
Projets
- Faire pour apprendre
- Les rôles dans une équipe de développement web, workflow
- Ne pas réinventer la roue ou tout faire soi-même
- Critères d’évaluation d’un projet
- En profiter pour apprendre des choses qui vous intéressent
- Avant le 1er octobre :
- Avoir un compte github avec une clé SSH (indispensable au
déploiement)
- Constitution des équipes de 3 personnes
- Choix du projet
- Forge : Créer projet sur github dans l’entité HE-Arc
- S’inscrire
Choix des projets
- Contrainte : appli basée sur des données
- Choix
- Besoin réel
- Données existantes : dbpedia,
opendata, …
- S’inspirer de l’existant :
- Commencer tôt pour se libérer les dernières semaines de l’année
Calendrier
38 |
Projet PHP |
8 |
|
39 |
|
9 |
|
40 |
|
10 |
Rendu intermédiaire |
41 |
S. thématique |
11 |
|
42 |
|
12 |
|
43 |
|
13 |
|
44 |
Rendu intermédiaire |
14 |
|
45 |
|
16 |
|
46 |
|
17 |
|
48 |
|
18 |
Présentations |
49 |
|
19 |
Présentations |
50 |
|
20 |
Examens |
51 |
Présentations |
21 |
Début TB |
2 |
Projet Python |
|
|
3 |
|
|
|
4 |
|
|
|
5 |
T. Autonome |
|
|
6 |
Examen |
|
|
Suivi du calendrier (à jour sur teams)
Jalons pour chacun des 2 projets
- Echéances
- En début de semaine, pour chacun des projets :
- Formation équipe et choix thème
- Objectifs et maquettes
- Authentification et 1er déploiement
- Modèles avec relations (au moins 3, dont 1 n-n)
- Rendu intermédiaire (1x [route, validation,
contrôleur, vue] GET et POST + bonnes pratiques Laravel + app
déployée)
- Minimal Viable Product
- Rendu projet, Présentation
- Il n’est pas interdit d’en ajouter
Conseils
- Le plus simple possible, pas trop de données
- Application crédible (vraies données, cas réalistes)
- Projet à blanc pour la prise en main du framework
- Maquettes
- Organisez
l’utilisation du dépôt
- Le temps disponible à l’horaire ne suffira pas !
- Essayez de commit avec la même identité
- Signalez dans le commit msg si vous n’êtes pas l’auteur
- Le déploiement est long : commencez tôt !
- Il est moins risqué travailler plus au début du projet qu’à la fin
!
- Discutez ! Echangez !
Évaluation des projets
- Note intermédiaire (1/5 de la note du module) :
- 1 page affichage BDD (autre que user)
- p.ex. : Liste de tous les films
- 1 page d’enregistrement BDD (autre que user)
- p.ex. : Création d’un film
- Respect des conventions et bonnes pratiques
- Respect du pattern MVC : Les requêtes doivent passer par toutes les
étapes importantes de Laravel
- route, validation des entrées, contrôleur, vue
- Application déployée avec tous les éléments cités plus haut testable
et fonctionnel
Évaluation des projets - suite
- Note finale (4/5 de la note du module) :
- Code : 50%
- Absence bugs, qualité code, lisibilité, respect conventions et
bonnes pratiques
- Déploiement, configuration
- User Experience : 30%
- Design UI, Utilisabilité (Efficacité, efficience, satisfaction)
- Gestion de projet : 20%
- Fichiers versionnés, messages de commit, Issues, planification,
travail en équipe
- Documentation (wiki), Investissement, volume de travail
- Bonus (ceux qui vont plus loin) : 0-20%
- WebSockets ou autre API HTML5, webservices, …
- Contribution, présentation, documentation, …
- Tous les membres d’un groupe n’ont pas
forcément la même note
Participation
- Aux projets des autres : Issues, PR
- Participez à la Hacktoberfest
- Pariticipez au cours : contenu, présentation, pages (index, wiki, …)
- Echangez avec caravel
(groupe : 23-ISC3il-a) et tout autre im (discord, teams, …)
Présentation facultative
- Facultatif, ne peut qu’augmenter la moyenne
- DOIT être annoncé au semestre d’automne
- Un thème absent du cours
- 2 à 4 personnes
- Une présentation claire avec démo (printemps)
- Un exercice d’application
- Critiques et discussion
- Au plus tôt :
- Constitution des équipes
- Proposer 1 à 3 thèmes
- Proposer
le(s) thème(s) de présentation et l’équipe
Examen oral SA
- Généralités pour la partie dev web de l’examen :
- Vous n’avez droit à rien : on vous mettra à disposition 1 crayon et
du papier pour préparer votre présentation,
- L’examen porte sur toute la matière vue au en cours (yc
workshops),
- Les questions sont générales, il s’agit de présenter des concepts
vus en cours (souvent 1 chapitre), et expliquer certains mécanismes
sous-jacents,
- Il n’agit pas de réciter le contenu des slides par coeur coeur, mais
de les présenter avec vos propres mots (compréhension), et vos propres
exemples.
Examen oral SA
- Déroulement :
- Vous tirez un n° de question au hasard pour chaque cours
- Vous disposez de 15 min pour préparer une présentation de 10 min
pour chacun des 2 cours (pendant la présentation de l’étudiant
précédent)
- Idéalement vous faites une présentation d’environ 10 min et les 5
min restantes sont dédiées aux questions (pour chacun des cours)
Mon expérience en développement web
- Questionnaire
obligatoire (votre username github vous y sera demandé)
🙏 !