Légende:

Difficulté:
  • Facile
  • Intermédiaire
  • Difficile

Nécessité:
  • Indispensable
  • Récommandé
  • Optionnel


Plan:

  1. Le langage JavaScript
    • Le premier script
      • exécution d'un code JavaScript avec Node.js

    • Les opérateurs conditionnels et le typage implicite
      • introduction if/else
      • consolidation if/else et switch

    • Les objets "simples", tableaux et boucles
      • Tableaux et boucles

    • Les fonctions et les scopes
    • Le prototype et l'héritage
    • L'asynchronicité
    • Les erreurs
    • Les moteurs JavaScript et la compatibilité

  2. La plateforme Node.js
    • Les dépendances et require
    • La gestion de pacquets et npm
    • La gestion non bloquante des I/O: asynchronicité et boucle évènementielle
    • L'architecture orientée évènements
    • Les processus enfants
    • Les flux
    • La programmation client/serveur

  3. La programmation client/serveur
    • La première page web
    • Le HTTP
    • Le HTML
    • Le CSS
    • L'AJAX
    • Les sockets et la programmation temps réel

  4. L'architecture applicative
    • L'injection de dépendance
    • L'architecture orientée services
    • Les API REST
    • La programmation modulaire

  5. L'industrialisation des développements
    • Les tests unitaires
    • La gestion de source/version
    • L'intégration continue
    • Les frameworks
    • Les bases de données
    • La qualité du code
    • Les IDE


Topics de discussion/validation

Chapitre 1 : le langage JavaScript


Attribution des rôles


Je vous propose d'attribuer des rôles "principaux" (CE N'EST PAS LIMITATIF!) à chacun de ceux qui participent pour le moment histoire qu'on s'y retrouve un petit peu:

  • autran: organisateur/rédacteur d'exercices
  • ABCIWEB: rédacteur d'exercices
  • SylvainPV: relecteur technique
  • Gnuum: correcteur/rédacteur de cours
  • vermine: surveillant
  • TheSuperGeek: apprenant
  • touit: apprenant
  • Beginner.: apprenant


Ce qui donne concrètement, les tâches suivantes pour chacun:

  • Marc, il faudrait maintenir une entrée de blog qui récapitule les tâches en cours (correction, validation, ...) et coordonner ça avec Xavier (pour la validation finale) car pour le moment je ne sais jamais où trouver une liste de ce qui doit être fait. Par exemple, quand un exercice est en validation, il faut le rajouter à la liste des tâches en cours puis le signaler sur cette discussion en mettant le lien vers la liste des tâches à chaque fois.
  • Marc, il faut que tu nous propose un procès de fabrication d'exercice (par exemple: on te l'envoie, tu le mets sur une entrée de blog, on te propose des nouvelles versions, tu remplaces l'ancienne version avec les nouvelles, on fait valider par Xavier, on met à disposition, ...).
  • Alain et Marc, il nous faut des exercices sympas et de difficultés progressive sur les boucles.
  • Thomas, il faut faire les parties cours des exercices proposés.
  • Sylvain, il faut vérifier, corriger et/ou améliorer les parties cours de Thomas.
  • Sylvain et Thomas, il faut vérifier la faisabilité des exercices et la compréhensibilité des énoncés.
  • Sylvain, Alain et Thomas, il faut valider le respect des principales conventions de codage JS pour avoir un contenu a peu près uniforme.
  • TheSuperGeek, touit, Beginner., il faut que vous mettiez vos codes sur la discussion propre à chaque exercice pour avoir un avis de la part des tuteurs.
  • Xavier, il faut nous surveiller et nous piloter pour qu'on utilise correctement les possibilités du forum et de la page exercices.


Qu'en pensez-vous? Dites moi si une tâche vous intéresse plus qu'une autre où si je vous ai mis à faire un truc que vous ne voulez pas faire. Je rapelle que les rôles ne sont nullement limitatifs et qu'ils sont juste là pour nous aider à nous organiser au début et à nous lancer dans un mode de production plus fluide!