[{"command":"insert","method":null,"selector":".course-modal-ajax-placeholder-958282","data":"\u003Cdiv class=\u0022container content-rte\u0022\u003E\n  \u003Cdiv class=\u0022row\u0022\u003E\n    \u003Cdiv class=\u0022box col-md-6 bg-primary text-white\u0022\u003E\n      \u003Ch2 class=\u0022h1 text-left\u0022\u003E  Technologies Logicielles\n\u003C\/h2\u003E\n                  \u003Cdiv class=\u0022field-spacing\u0022\u003E\n        \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EECTS :\n          4\n        \u003C\/div\u003E\n      \u003C\/div\u003E\n                  \u003Cdiv class=\u0022field-spacing\u0022\u003E\n        \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ESemester:\n          Semestre 2\n        \u003C\/div\u003E\n      \u003C\/div\u003E\n            \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ED\u00e9tail du volume horaire\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                          \u003Cspan class=\u0022field__label h4 mt-5 \u0022\u003ELecture:\u003C\/span\u003E\n                                      \u003Cspan\u003E18\u003C\/span\u003E\n                      \u003C\/div\u003E\n                                              \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                          \u003Cspan class=\u0022field__label h4 mt-5 \u0022\u003EDirected study:\u003C\/span\u003E\n                                      \u003Cspan\u003E18\u003C\/span\u003E\n                      \u003C\/div\u003E\n                                                            \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ELangue d\u0026#039;enseignement\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003EFran\u00e7ais\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EEnseignement \u00e0 distance\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003Enon\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n      \u003C\/div\u003E\n    \u003Cdiv class=\u0022box col-md-6\u0022\u003E\n            \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EPr\u00e9requis\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003EAvoir des bases en programmation objet.\u003C\/p\u003E\n\u003Cp\u003ENote: avoir un ordinateur portable facilite grandement la mise en pratique.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EProgramme \/ plan \/ contenus\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003ELe cours d\u00e9bute par une introduction aux bases de la programmation avec Python, une langue polyvalente et largement utilis\u00e9e dans divers domaines, notamment le d\u00e9veloppement web, l\u0027analyse de donn\u00e9es, l\u0027intelligence artificielle et bien d\u0027autres encore. Cette polyvalence fait de Python un choix id\u00e9al pour les d\u00e9butants, car il offre une syntaxe claire et concise, ce qui facilite la compr\u00e9hension des concepts de programmation fondamentaux. En se concentrant sur la ma\u00eetrise de la syntaxe et des structures de contr\u00f4le, ainsi que sur l\u0027apprentissage des fonctions essentielles, les \u00e9tudiants acqui\u00e8rent une base solide qui leur permettra d\u0027explorer divers domaines d\u0027application de Python.\u003C\/p\u003E\n\u003Cp\u003EEnsuite, les \u00e9l\u00e8ves explorent les fondements de la gestion de versions avec Git, un outil incontournable dans le d\u00e9veloppement logiciel moderne. En effet, Git permet aux d\u00e9veloppeurs de suivre l\u0027\u00e9volution de leur code au fil du temps, de collaborer efficacement avec d\u0027autres d\u00e9veloppeurs et de g\u00e9rer les modifications de mani\u00e8re structur\u00e9e et m\u00e9thodique. L\u0027utilisation de Git offre aux \u00e9tudiants une flexibilit\u00e9 inestimable dans la gestion de leurs projets. En adoptant une approche bas\u00e9e sur la gestion de versions, ils peuvent facilement revenir \u00e0 des versions ant\u00e9rieures du code en cas de besoin, explorer diff\u00e9rentes branches pour exp\u00e9rimenter de nouvelles fonctionnalit\u00e9s sans affecter la version principale du projet, et fusionner les contributions de plusieurs d\u00e9veloppeurs de mani\u00e8re transparente. L\u0027introduction \u00e0 Git d\u00e8s le d\u00e9but du cours permet aux \u00e9tudiants de d\u00e9velopper de bonnes pratiques de collaboration et de gestion de code qui seront pr\u00e9cieuses tout au long de leur carri\u00e8re dans le d\u00e9veloppement logiciel.\u003C\/p\u003E\n\u003Cp\u003ELa prochaine \u00e9tape consiste \u00e0 plonger dans le monde des tests logiciels. Les \u00e9tudiants comprennent l\u0027importance des tests dans le processus de d\u00e9veloppement et apprennent \u00e0 \u00e9crire des tests unitaires, d\u0027int\u00e9gration et syst\u00e8me. Ils d\u00e9couvrent \u00e9galement comment int\u00e9grer ces tests dans des pipelines d\u0027int\u00e9gration continue pour assurer une qualit\u00e9 de code constante et \u00e9viter les r\u00e9gressions.\u003C\/p\u003E\n\u003Cp\u003EApr\u00e8s avoir consolid\u00e9 leurs comp\u00e9tences en mati\u00e8re de tests, les \u00e9l\u00e8ves explorent la conteneurisation avec Docker, une technologie de virtualisation l\u00e9g\u00e8re et flexible qui r\u00e9volutionne la mani\u00e8re dont les logiciels sont d\u00e9velopp\u00e9s, d\u00e9ploy\u00e9s et g\u00e9r\u00e9s. Contrairement aux machines virtuelles traditionnelles, les conteneurs Docker encapsulent non seulement le code de l\u0027application, mais aussi toutes ses d\u00e9pendances, ce qui garantit une portabilit\u00e9 et une coh\u00e9rence maximales entre diff\u00e9rents environnements de d\u00e9veloppement, de test et de production.\u003Cbr\u003E\nLes \u00e9tudiant d\u00e9couvrent \u00e9galement le lien entre l\u0027int\u00e9gration continue et la conteneurisation et comment g\u00e9rer efficacement les conteneurs en utilisant des outils de gestion comme Docker Compose. Ces outils leur permettent de d\u00e9finir et de d\u00e9ployer des environnements de d\u00e9veloppement complexes avec un minimum d\u0027effort.\u003C\/p\u003E\n\u003Cp\u003EEnfin, les \u00e9tudiants abordent le d\u00e9veloppement d\u0027API REST. Ils comprennent les principes architecturaux des API RESTful et apprennent \u00e0 concevoir et \u00e0 mettre en \u0153uvre des services REST \u00e0 l\u0027aide du framework FastAPI. Ils apprenent aussi \u00e0 d\u00e9ployer leurs API dans des conteneurs Docker, cr\u00e9ant ainsi des solutions logicielles compl\u00e8tes et \u00e9volutives.\u003C\/p\u003E\n\u003Cp\u003ELes notions enseign\u00e9es sont compl\u00e9mentaires les unes aux autres, ce qui permet aux \u00e9tudiants de produire des solutions logicielles tr\u00e8s compl\u00e8tes en int\u00e9grant harmonieusement les comp\u00e9tences acquises en Python, gestion de version avec Git, r\u00e9alisation de tests, conteneurisation avec Docker et d\u00e9ploiement d\u0027API REST, tout en appr\u00e9hendant les principes fondamentaux de l\u0027int\u00e9gration continue pour garantir la qualit\u00e9 et la fiabilit\u00e9 du code produit.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EObjectifs d\u0026#039;apprentissage\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003E- Programmation en Python :\u003Cbr\u003E\n\u0026nbsp;- comprendre Python en tant que langage de programmation polyvalent et expressif;\u003Cbr\u003E\n\u0026nbsp;- g\u00e9rer les requ\u00eates HTTP et construire des interfaces utilisateur conviviales pour leurs applications web.\u003C\/p\u003E\n\u003Cp\u003EMa\u00eetrise des bases de la syntaxe Python, des structures de contr\u00f4le et des fonctions essentielles.\u003Cbr\u003E\n- Gestion de versions avec Git :\u003Cbr\u003E\n\u0026nbsp;- acqu\u00e9rir une expertise dans l\u0027utilisation des logiciels de gestion de version;\u003Cbr\u003E\n\u0026nbsp;- suivre l\u0027historique des modifications apport\u00e9es au code source et en tirer parti;\u003Cbr\u003E\n\u0026nbsp;- g\u00e9rer efficacement le d\u00e9veloppement collaboratif et la gestion des versions;\u003Cbr\u003E\n\u0026nbsp;- r\u00e9soudre les conflits de mani\u00e8re m\u00e9thodique.\u003C\/p\u003E\n\u003Cp\u003E- Tests logiciels :\u003Cbr\u003E\n\u0026nbsp;- ma\u00eetrise des types de tests (bo\u00eete noire\/blanche, unitaire, int\u00e9gration, syst\u00e8mes, ...)\u003Cbr\u003E\n\u0026nbsp;- ma\u00eetrise des techniques de tests (mock, patch, stub, ...)\u003Cbr\u003E\n\u0026nbsp;- mise en place de strat\u00e9gies de tests automatis\u00e9s;\u003Cbr\u003E\n\u0026nbsp;- ma\u00eetrise de l\u0027int\u00e9gration continue pour une validation constante du code.\u003C\/p\u003E\n\u003Cp\u003E- Conteneurisation avec Docker :\u003Cbr\u003E\n\u0026nbsp;- acqu\u00e9rir une expertise dans la conteneurisation;\u003Cbr\u003E\n\u0026nbsp;- ma\u00eetrise de la cr\u00e9ation, gestion et du d\u00e9ploiement des conteneurs logiciels.\u003C\/p\u003E\n\u003Cp\u003E- D\u00e9veloppement d\u0027API REST :\u003Cbr\u003E\n\u0026nbsp;- concevoir et impl\u00e9menter des services web RESTful;\u003Cbr\u003E\n\u0026nbsp;- manipuler des requ\u00eates HTTP pour r\u00e9cup\u00e9rer, cr\u00e9er, mettre \u00e0 jour et supprimer des ressources.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n                                        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ENature de l\u0026#039;\u00e9valuation\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003EEvaluation Continue non Int\u00e9grale\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n      \u003C\/div\u003E\n  \u003C\/div\u003E\n\u003C\/div\u003E\n","settings":null}]