Aller au contenu

Ce cours traite de différents aspects de l'ingénierie du logiciel pour un public de développeurs et de statisticiens.

Programme

  • Git avancé, environnement de travail : rappels sur l'utilisation de Git, travail collaboratif, issues, merge / pull requests.
  • Portabilité, configuration, packaging : lancer du code sans IDE, comprendre l'environnement d'exécution, environnements virtuels et gestion de paquets.
  • Tests, automatisation et initiation à l'intégration continue : tests unitaires, mocking, automatisation via script sur environnement Linux, initiation au principe d'intégration continue.
  • Applications web et webservices : présentation des différents enjeux, en tant que client et en tant que serveur.
  • Architecture applicative avancée : zoom sur des concepts plus avancés – ORM et différents types de bases de données, patrons de conception et prise de perspective avec la POO, introduction à la programmation fonctionnelle.

Langage

Les mises en pratique seront principalement en Python mais des parallèles avec d'autres langages seront faits tout au long du cours.

Approche pédagogique

Le cours met l'accent sur l'ingénierie de développement et sur la vie d'un code.

L'important ce n'est pas de savoir quoi écrire mais où l'écrire.

Fil rouge et évaluation

  • Publier, sur un dépôt public, le code source d'un projet de développement web moderne.
  • Diffuser publiquement un livrable de l'application, construit automatiquement à partir des sources.
  • Le livrable devra pouvoir être utilisé tel quel sur différents environnements et configurable pour choisir le modèle et d'autres paramètres.
Plus d'informations ➡️ici⬅️

Sections du cours