Introduction et organisation du cours

Introduction et organisation du cours

https://github.com/heig-vd-progserv-course/heig-vd-progserv1-course

Visualiser le contenu complet sur GitHub à cette adresse.

L. Delafontaine, avec l'aide de GitHub Copilot.

Ce travail est sous licence CC BY-SA 4.0.

Introduction et organisation du cours

Bienvenue au cours Programmation serveur 1 (ProgServ1) !

Introduction et organisation du cours

Qui suis-je

Introduction et organisation du cours

Mes objectifs et souhaits pour ProgServ1

PHP va vous accompagner tout au long de vos études à la HEIG-VD (ProgServ1, ProgServ2, ProgServ3, etc.) et aussi plus tard dans votre vie professionnelle.

Mon objectif est de vous donner des bases solides et une bonne compréhension de ce language pour vos études et pour la suite.

Si quelque chose ne convient pas dans mon cours, n'hésitez pas à me le dire. Je suis ouvert à toutes critiques pour améliorer mon enseignement.

Introduction et organisation du cours

Comment me contacter

Selon vos préférences, vous pouvez utiliser l'un des canaux suivants pour toutes questions relatives au cours :

  • En personne, durant les sessions de cours ou en dehors.
  • Par e-mail (ludovic.delafontaine@heig-vd.ch).
  • Microsoft Teams :
    • Dans le canal Teams du cours (de préférence - n'hésitez pas à vous entraider si je ne suis pas disponible).
    • Message privé sur Teams (à éviter si possible).
Introduction et organisation du cours

Objectifs

  • Lister les objectifs du cours.
  • Lister les modalités d'organisation du cours.
  • Lister les modalités d'évaluation.
Introduction et organisation du cours

Objectifs du cours

À la fin de ce cours, vous devriez être capable de :

  • Expliquer les bases d'un langage de programmation serveur comme PHP et son rôle dans le monde web.
  • Organiser un code propre à l'aide de fonctions.
  • Manipuler des tableaux et utiliser des boucles pour traiter des collections de données.
  • Gérer les formulaires et les données qu'ils contiennent.
  • Persister des données dans une base de données.
Introduction et organisation du cours

Grâce à ces compétences, la personne qui étudie sera en mesure de développer des applications web simples pour gérer une collection de données (par exemple, un carnet d'adresses, un gestionnaire de tâches, sa liste favorite de jeux vidéo, etc.).

Introduction et organisation du cours

Organisation du cours

  • En présentiel dans cette même salle.
  • Mélange de théorie/pratique pour un apprentissage efficace :
    • Moment de théorie court pour expliquer les concepts.
    • Exemples de code à explorer et tester.
    • Exercices à faire en classe ou à la maison.
    • Mini-projet à réaliser tout au long du cours.
  • Espace de discussion pour poser des questions et obtenir de l'aide (il n'y a pas de questions bêtes !, je suis payé pour ça).
Introduction et organisation du cours

Exemples de code

  • Permet de voir prendre en main et comprendre les exemples de code PHP présentés en cours.
Introduction et organisation du cours

Exercices

  • Permet d'exercer les concepts vus en cours, autant théoriques que pratiques.
Introduction et organisation du cours

Mini-projet

  • Application web en PHP pour gérer des animaux de compagnie.
  • Permet de mettre en pratique le contenu théorique du cours.
  • À réaliser tout au long du cours de façon guidée.
  • A déployer en ligne pour être accessible depuis n'importe où.
  • Je suis là pour vous aider.
Introduction et organisation du cours

"J'ai fini, je peux partir ?"

Introduction et organisation du cours

"J'ai fini, je peux partir ?"

Si vous avez fini plus tôt, vous êtes libre de partir. Par contre, je vous encourage à :

  • Bien comprendre ce que vous avez fait.
  • Tester/expérimenter différentes choses.
  • Aider les personnes qui sont en difficulté.
  • Poser des questions.

Pas besoin de finir au plus vite. Profitez de ce temps pour ancrer la matière ! Le temps investi maintenant sera récompensé plus tard.

Introduction et organisation du cours

Modalités d'évaluation

Un seul examen final composé de deux parties :

  • Partie 1 - Compréhension
    • 60% de la note finale.
    • 90 minutes.
  • Partie 2 - Exécution
    • 40% de la note finale.
    • 90 minutes.
Introduction et organisation du cours

Partie 1

  • Papier et crayon.
  • Capacité de :
    • raisonner,
    • analyser,
    • et expliquer des concepts.
  • Sans aucune ressource.

➡️ Basé sur votre compréhension.

Introduction et organisation du cours

Partie 2

  • Ordinateur avec accès à Internet.
  • Capacité de :
    • organiser,
    • planifier,
    • et développer une solution.
  • Avec certaines ressources.

➡️ Basé sur votre réalisation.

Introduction et organisation du cours

Les deux parties peuvent vous demander de coder (expliquer, compléter, réaliser, etc.).

But : tester tout ce que vous avez appris sur tous les aspects.

Tout est décrit dans le document Évaluation finale.

Introduction et organisation du cours

Comment se préparer ?

  • Relire les supports de cours.
  • Pratiquer les exercices.
  • Travailler sur le mini-projet.
  • Discuter avec les autres étudiant.es et poser des questions.

Il n'y a pas de secret : la meilleure façon de se préparer est de pratiquer et de travailler sur le mini-projet.

Il est attendu à ce que vous travailliez hors du cours (peu mais régulièrement) pour acquérir correctement la matière.

Introduction et organisation du cours

La programmation et l'anglais

Le domaine de la programmation est très largement anglophone. La majorité des ressources que vous trouverez dans votre carrière sont en anglais.

Dans le but de vous préparer à cette réalité, les exemples de code que nous utiliserons dans les cours seront en anglais (commentaires en français par contre).

Le reste du cours restera néanmoins en français. Si l'anglais est une barrière pour vous, n'hésitez pas à me le faire savoir.

Introduction et organisation du cours

"Qu'en est-il de ChatGPT, etc. ?"

Introduction et organisation du cours

"Qu'en est-il de ChatGPT, etc. ?" (1)

Vous pouvez utiliser tous les outils que vous souhaitez (notes personnelles, Internet, outils d'IA, etc.), sauf pendant les évaluations (sauf mention contraire). Vous pouvez les utiliser dans la vie réelle ; il serait utopique de ma part de vous en priver.

Cependant, d'après mon expérience, ces outils ne sont pas suffisamment fiables pour être utilisés sans supervision. Ils peuvent vous aider, mais ils ne remplacent pas vos propres connaissances et compétences.

Introduction et organisation du cours

"Qu'en est-il de ChatGPT, etc. ?" (2)

Concentrez-vous sur la compréhension des concepts et des principes qui sous-tendent les tâches sur lesquelles vous travaillez.

Une fois que vous maîtrisez les concepts, vous pouvez utiliser ces outils pour vous aider dans la mise en œuvre.

Au risque d'utiliser une analogie un peu vieillotte : apprenez à calculer avant de vouloir utiliser une calculatrice.

Une excellente vidéo sur le sujet : "La Fabrique à Idiots" - Micode.

Introduction et organisation du cours

"Qu'en est-il de ChatGPT, etc. ?" (3)

Quelques règles concernant l'utilisation de ces outils pour vos rendus :

  • Vous devez indiquer quand, pourquoi et comment vous avez utilisé une aide externe (la raison, outils, sources, etc.), soit dans le code, soit dans un rapport annexe.
  • Vous devez expliquer le fonctionnement du code que vous avez utilisé, que ce soit du code généré par des outils d'intelligence artificielle ou du code copié depuis des sources externes, et comment il s'intègre dans votre travail.
Introduction et organisation du cours

"Qu'en est-il de ChatGPT, etc. ?" (4)

  • En cas de doutes de notre part, vous pourriez être questionné.e.
  • Si vos explications ne sont pas convaincantes, injustifiées dans le contexte ou si vous n'êtes pas transparent.e sur l'utilisation de ces outils, je considère que vous n'avez pas acquis les compétences nécessaires du cours. Vous serez alors pénalisé.e avec la note 1 pour l'évaluation concernée.
  • En cas de doutes, n'hésitez pas à me contacter pour discuter de votre utilisation de ces outils.

Votre intégrité personnelle et académique est en jeu.

Introduction et organisation du cours

Qu'en est-il de ChatGPT, etc. ?" (5)

Tout le monde va utiliser l'AI lorsque vous sortirez de vos études.

C'est justement grâce à un esprit critique et une bonne compréhension des concepts que vous saurez utiliser efficacement les outils à disposition (AI ou autre) et que vous pourrez vous démarquer des autres.

À titre personnel, je pense qu'une personne issue du monde de l'ingénierie ne fait bien son travail que si elle le remet en question.

Introduction et organisation du cours

Bibliographie et ressources utilisées

Introduction et organisation du cours

Questions

Est-ce que vous avez des questions ?

Introduction et organisation du cours

Sources

URLs

Illustrations