- Cours (CM) -
- Cours intégrés (CI) -
- Travaux dirigés (TD) 32h
- Travaux pratiques (TP) -
- Travail étudiant (TE) -
Langue de l'enseignement : Français
Enseignement proposé en : en présence
Description du contenu de l'enseignement
Outils de développement et de gestion de systèmes d’exploitation
L'objectif de la première partie du cours et de dresser un aperçu étoffé des outils de développement visant à faciliter le travail d'élaboration et de qualification du code.
Une initiation aux systèmes d'exploitation UNIX sera réalisée. Le shell unix sera abordé pour pouvoir introduire les systèmes de gestion de version, afin de les mettre en pratique sous forme de tp en ligne de commande.
Développement en PHP, sécurité, outillage
Dans un second temps le cours se focalisera sur les bonnes pratiques de développement, la sécurité et l’outillage.
La programmation orientée object
Ce chapitre confiera des connaissances dans les bases et les théories de la programmation orientée objet. Ce paradigme permet d’organiser son code dans des briques logiques, et de le rendre facilement réutilisable par des collègues dans le cadre d’une collaboration sur un même projet.
La programmation orientée objet repose sur les classes et les instances. Nous regarderons en détail ces deux notions, et nous les appliquerons à des cas concrets, d’abord sur le monde réel et ensuite dans le cadre d’une problématique de programmation.
Dans un deuxième temps seront abordé les notions de héritage et de descendance, ainsi que les roles des différents composants d’un objet PHP: les méthodes, les propriétés, les traits et les interfaces. En même temps nous regarderons l’utilité des mots-clés ‘public’, ‘private’, ‘final’ et ‘static’ et leur utilité dans la structuration de notre code.
Ce chapitre portera sur le language de programmation PHP7 mais les notions confiées sont valables pour plusieurs languages orientés objet comme le Java, le Javascript (dans ses versions récentes), le C++ ou encore le C#.
L’approche MVC
À travers la prise en main d’un f ramework PHP simple et tiré du monde réel de l’entreprise, les étudiants mettre en pratique les connaissances théoriques acquises dans les chapitres précédents.
Nous regarderons de près l’approche MVC à la conception d’applications web. MVC signifie ‘Model, View, Controller’, et est un paradigme de programmation très répandu dans le monde du web, et en-dehors, pour concevoir des applications avec des interfaces utilisateurs d’une manière à ce que le code reste lisible, propre et réutilisable. Ce modèle repose sur la séparation en couches de l’application – le modèle – c’est à dire la structure des données qui seront traitées dans l’application, est séparé des views – qui sont les ‘pages’ ou les ‘interfaces’ de l’application, et ce sont les controlleurs qui font la couche intermédiaire et qui font transiter les données du modèle vers les views et vice-versa.
Plusieurs frameworks modernes sont conçus de cette manière, et à l’aide d’un de ces Frameworks les étudiants comprendront le fonctionnement de ce genre d’application, et comment y apporter des modifications, des améliorations.
Les étudiants ayant envie auront l’occasion d’aller plus loin dans le développement de leur propre petite application MVC.
Méthodes d'enseignement :
L'objectif de la première partie du cours et de dresser un aperçu étoffé des outils de développement visant à faciliter le travail d'élaboration et de qualification du code.
Une initiation aux systèmes d'exploitation UNIX sera réalisée. Le shell unix sera abordé pour pouvoir introduire les systèmes de gestion de version, afin de les mettre en pratique sous forme de tp en ligne de commande.
Développement en PHP, sécurité, outillage
Dans un second temps le cours se focalisera sur les bonnes pratiques de développement, la sécurité et l’outillage.
La programmation orientée object
Ce chapitre confiera des connaissances dans les bases et les théories de la programmation orientée objet. Ce paradigme permet d’organiser son code dans des briques logiques, et de le rendre facilement réutilisable par des collègues dans le cadre d’une collaboration sur un même projet.
La programmation orientée objet repose sur les classes et les instances. Nous regarderons en détail ces deux notions, et nous les appliquerons à des cas concrets, d’abord sur le monde réel et ensuite dans le cadre d’une problématique de programmation.
Dans un deuxième temps seront abordé les notions de héritage et de descendance, ainsi que les roles des différents composants d’un objet PHP: les méthodes, les propriétés, les traits et les interfaces. En même temps nous regarderons l’utilité des mots-clés ‘public’, ‘private’, ‘final’ et ‘static’ et leur utilité dans la structuration de notre code.
Ce chapitre portera sur le language de programmation PHP7 mais les notions confiées sont valables pour plusieurs languages orientés objet comme le Java, le Javascript (dans ses versions récentes), le C++ ou encore le C#.
L’approche MVC
À travers la prise en main d’un f ramework PHP simple et tiré du monde réel de l’entreprise, les étudiants mettre en pratique les connaissances théoriques acquises dans les chapitres précédents.
Nous regarderons de près l’approche MVC à la conception d’applications web. MVC signifie ‘Model, View, Controller’, et est un paradigme de programmation très répandu dans le monde du web, et en-dehors, pour concevoir des applications avec des interfaces utilisateurs d’une manière à ce que le code reste lisible, propre et réutilisable. Ce modèle repose sur la séparation en couches de l’application – le modèle – c’est à dire la structure des données qui seront traitées dans l’application, est séparé des views – qui sont les ‘pages’ ou les ‘interfaces’ de l’application, et ce sont les controlleurs qui font la couche intermédiaire et qui font transiter les données du modèle vers les views et vice-versa.
Plusieurs frameworks modernes sont conçus de cette manière, et à l’aide d’un de ces Frameworks les étudiants comprendront le fonctionnement de ce genre d’application, et comment y apporter des modifications, des améliorations.
Les étudiants ayant envie auront l’occasion d’aller plus loin dans le développement de leur propre petite application MVC.
Méthodes d'enseignement :
- Des cours théoriques dispensés en présentiel (ou à distance)
- Des études de cas type “Code review”
- Des travaux pratiques sur ordinateur
Compétences à acquérir
- Savoir utiliser un terminal distant ou local sur un serveur pour effectuer des tâches d’exploitation à minima.
- Utiliser un éditeur modal de type vi/vim pour éditer des fichiers distants.
- Avoir de bonnes notions du fonctionnement d’un système de gestion de versions et savoir l’utiliser dans un cadre personnel et collaboratif.
- Connaître les formats de fichiers utilisés par les développeurs.
- Avoir des bonnes pratiques de développement et pouvoir coder des applications de qualité et sécurisées.
- Connaître les bases de programmation orienté objet (notions de classes et d'objets)
- Comprendre la structure MVC
- Savoir utiliser une base SQL sur un projet web
Pré-requis obligatoires
- Comprendre les bases de PHP – fonctions, variables, passage de paramètres GET et POST, structures de contrôle
- Comprendre la structure de base d'un ordinateur sous Windows (gestion de fichiers, dossiers)
- Avoir acquis les notions de SQL – comment structurer une base de données, les requêtes en SQL
- Avoir bien acquis les bases de HTML/CSS
Pré-requis recommandés
- Avoir bien intégré les bases de l'algorithmique (structures de contrôle, if, for, boucles…)