Applications distribuées en .NET

Introduction IUT Lyon 1

Clément Bouillier - Devcrafting - @clem_bouillier

Faisons connaissance !

Ca m'intéresse

  1. Votre expérience ? Ce que vous faites ?
  2. Ce que vous voulez faire ? Quels métiers ? Quels technologies ?
  3. Ce que vous attendez de ce cours ?

Je réponds rapidement à ces questions

  1. Expériences principalement en .NET depuis 10 ans
  2. Mais également en JAVA et PHP (+ autres expérimentations)
  3. Tour à tour : développeur, chef de projet technique, architecte, tech leader, chef de projets, maîtrise d'ouvrage...
  4. Aujourd'hui : "software craftsman" et "generalizing specialist", bref n'ayons pas peur des mots : développeur ! ET FIER DE L'ETRE !
  5. Sensibiliser des personnes investies et ouvertes à une autre vision de l'informatique

A vous : vos expériences

  1. Langages/plateformes ?
  2. Métier ?

A vous : votre futur

  1. Langages/plateformes ?
  2. Métiers ?

A vous : ce que vous attendez de ce cours

  1. ?
  2. ?

Contenu et déroulé du module

Ce module n'est pas...

  1. ...un gavage sur toutes les facettes du framework .NET
  2. ...un tutoriel pour apprendre LA façon de faire
  3. ...une vision exhaustive du développement et de l'architecture logicielle

Un maximum de pratique !

  1. J'aime la théorie, mais j'en ai trop "souffert" :)
  2. /!\ cela ne signifie pas que ce n'est pas important /!\
  3. Je vous propose donc une démarche pragmatique où chacun pourra creuser plus ou moins loin
  4. /!\ ce n'est pas une invitation à en faire le minimum /!\

Quelques principes à adopter

  1. Je suis un adepte des coding dojo : un moment pour s'entraîner sans pression du résultat
  2. Pair programming : en binôme on est plus efficace et c'est plus enrichissant
  3. TDD/TDL : Test Driven Development/Learning = exprimer l'intention et réaliser la réponse la plus simple
  4. Démarche "Agile" : introduction (30min), 3 itérations (45min) et rétrospectives (15min), 1 rétrospective finale (30min)

Une base importante : Git

  1. Le support du cours sera sur GitHub (incluant cette présentation)
  2. Mis à jour lors de chaque TD avec votre contribution !
  3. Il est fortement conseillé de forker le repository du module sur son compte GitHub
  4. Vous travaillerez avec Git en continu durant toutes les sessions

"Une autre vision" de l'architecture "distribuée"

  1. VS architecture "en couches" et "N-Tiers"
  2. VS centrée sur un modèle relationnel (avec une base SQL)
  3. Approche libs VS frameworks
  4. "Architecture émergente"

Tout cela en essayant de conserver un maximum de lien d'un TD à l'autre...

Tuons quelques vieux démons !

    On utilisera le langage C# et la plateforme .NET, mais...

  1. ...ce que nous allons voir n'est pas spécifique à .NET !
  2. ...le C# est très proche d'autres langages orientés objets (on se concentrera sur les différences éventuellement)
  3. ...ne faites pas une "fixette" sur Micro$oft ! D'ailleurs ça change...de plus en plus d'Open Source

Et enfin, une règle de conduite

  1. Si vous venez c'est pour participer...
  2. ...et tant qu'à être "obligé de venir pour valider votre licence", essayer d'en tirer quelque chose...
  3. ...que le développement .NET soit ou non dans votre cible professionnelle, vous devriez trouver ;)

MERCI POUR VOTRE RESPECT (notamment des autres)