Programmable Web - client side 2014-2015

De $1

Version de 18:51, 24 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Introduction

Ce cours est complémentaire de "Programmable Web - server side" donné par Peter Sander.

Nous allons, au travers de ce cours, manipuler des standards récents du web (HTML5 et ses APIs JavaScript, les WebSockets), mais aussi des standards "émergents" encore expériementaux (webRTC), pour réaliser une plate-forme de support pour des cours en ligne. Cette plate-forme web fournira à n personnes travaillant ensembles les services suivants :

  • Chat audio / vidéo / texte en 1-1 ou en N-N, sorte de Skype mais au lieu d'être une application native ou un plugin, la solution sera codées en technos web (JS/HTML/CSS) et tournera dans un navigateur, sans aucune installation préalable,
  • Possibilité de muter micros ou caméras,
  • A voir : passage en plein écran et mute automatique, on passe la parole à celui qui parle ?
  • Carte permettant de situer la position géographique des participants (utilisation de l'API de géo-localisation de HTML5),
  • Transfert de fichier direct en p2p,  (par ex par drag'n'drop d'un fichier sur la vidéo d'un des participants)
  • Partage d'écran,
  • FileSystem partagé et si possible versionné (via des web services google drive ou via des gists, ou autre, solution non encore choisie)
  • Support de "salles vituelles, c'est-à-dire que la plateforme permettra à plusieurs groupes de personnes de participer à des réunions en parallèle, à la manière de appear.in, talky.io, jipsy etc.

Le cours s'étendra sur 8 semaines, les trois ou quatre dernières séances étant à temps plein consacrées à la finalisation du projet et à sa soutenance.

Les premières séances seront consacrées à la prise en main des diverses technologies abordées.

Séance 1 : présentation générale de WebRTC et des WebSockets

Support de cours : 

Travaux pratiques :

Pour ceux qui ne connaissent pas NodeJS et les WebSockets :

Exercices obligatoires sur WebRTC :

Ressources

Outils (attention, sujet trollesque...!)

Nous n'allons pas utiliser d'outils particuliers pour cette formation, uniquement des outils "standards" tels que Eclipse, Netbeans, Sublime Text 2, Notepad++ ou les outils que vous appréciez pour éditer du code. Néanmoins, de nombreux exemples HTML5/JS/CSS seront proposés sur des envrionnements de développement en ligne tels que http://jsbin.com/http://jsfiddle.net/http://dabblet.com/ ou http://codepen.io/, particulièrement adaptés pour faire de petits exemples partageables (vous pouvez modifier les exemples, vous les approprier, mais jamais les casser, car pour chaque modification une version est générée, avec son URL unique).

ICI UN DOCUMENT QUI EXPLIQUE COMMENT CONFIGURER EFFICACEMENT DES OUTILS/EDITEURS/IDEs pour faire du JavaScript de manière optimale (brancher NodeJS pour valider du JS et rediriger les erreurs dans Sublime Text, WebStorm et NetBeans, les devtools de google chrome pour pouvoir éditer / sauver les fichiers depuis le browser)

Comment tirer le meilleur de Sublime Text (raccourcis claviers + meilleurs modules) : http://slides.com/grinnyhermant/les-...sublime-text#/

Autre cours et galleries d'exemples CSS 2 et 3, JavaScript et HTML5

JavaScript

En plus du support papier distribué vous pouvez également regarder ces ressources:

CSS

Un bon exemple CSS3 avec zoom, rotation, bords arrondis, ombres, etc...

Flex Layout exemples

Transitions exemples

Animations exemples

Multi-colonnes exemple

WebFont exemple

Dégradés exemples

Ombres exemple

Background exemple

Border-image exemple

HTML5 

Vous trouverez de très nombreux exemples interactifs dans les liens jsbin.com des supports de cours PDF en anglais. La plupart de ces exemples sont aussi disponibles sur cette page : HTML5 discovery tutorial