diff --git a/Planning.ods b/Planning.ods new file mode 100644 index 0000000..43b71ab Binary files /dev/null and b/Planning.ods differ diff --git a/src/cours/CIEL1/01-bases-python/algorithmique-python.md b/src/cours/CIEL1/01-bases-python/algorithmique-python.md new file mode 100644 index 0000000..d710a00 --- /dev/null +++ b/src/cours/CIEL1/01-bases-python/algorithmique-python.md @@ -0,0 +1,43 @@ +# Bases de l'algorithmique avec Python +## Le langage Python +Expliquer rapidement ce que c'est d'où ça vient, ses spécificités, pourquoi on apprend celui là... + +- Rappels de représentation des données (binaire, nombres) +- Interpréteur +- Entrée / sortie (print + input) +- Opérations basiques +- Types + variables +- Chaines de caractères + formatage +- Structures conditionnelles +- Boucles while, for, break + continue +- Fonctions +- Import de modules +- Création de modules et packages +- Exceptions +- Structures de données + - chaines de caractères + - listes + - tuples + - dictionnaires + - set + - les fichiers +- Portée des variables et références + + + +## TP +- TP1 découverte du langage avec Thonny et mode interactif + Bonus : Installation de python +- TP2 fonctions et utilisation de VSCode + Bonus modularité +- TP3 Modularité et structures de données + - Connexion avec l'adressage IP : [exercice de scanner d'adresse IP](https://lycee-benoit.tech/BTS/_defrance/ciel/d2/python/lab-containers.html#exo3) +- TP4 Python : jouer avec les fichiers et les exceptions +- Alternative TP4 : Tests unitaires + +## TD +- Exercices sur les bases de python +- Fonctions et modules +- Les structures de données +- Fichiers et exceptions +- Préparation au devoir avec des révisions et les points les + importants \ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/adressage-ip.md b/src/cours/CIEL1/02-reseau/adressage-ip.md new file mode 100644 index 0000000..b8974c0 --- /dev/null +++ b/src/cours/CIEL1/02-reseau/adressage-ip.md @@ -0,0 +1,39 @@ +# L'adressage IP + +## Adresse IP +- Qu'est-ce qu'une adresse IP ? +- A quoi ça sert ? +- Comment c'est construit ? +- IPv4 / IPv6 + +## Les classes d'adresse IP + +## Les adresses IP spéciales +- Adresse de réseau +- Adresse de diffusion (broadcast) +- Adresses publiques, adresses privées +- Adresse d'initialisation +- Adresse de boucle locale (localhost/loopback) + +## Les masques de sous-reseau + +## Le plan d'adressage +- Unicité +- Choix des sous réseaux +- Obtenir une adresse IP ? +- Construire un plan d'adressage structuré + +## IPv6 ?? +- Pourquoi IPv6 ? +- Similitudes avec IPv4 +- Différences avec IPv4 + +# Exercices +## Application / compréhension +## Exercices de programmation pour jouer avec adresses IP -> Voir TP Python + +# Mise en pratique / TP +[Cisco Packet Tracer](https://wiki.archlinux.org/title/Packet_Tracer) +[GNS3](https://wiki.archlinux.org/title/GNS3) + +# Evaluation \ No newline at end of file diff --git a/src/cours/CIEL1/03-dev-env/conteneurs.md b/src/cours/CIEL1/03-dev-env/conteneurs.md new file mode 100644 index 0000000..84e0613 --- /dev/null +++ b/src/cours/CIEL1/03-dev-env/conteneurs.md @@ -0,0 +1,31 @@ +# Les conteneurs +## Concept +VM vs Conteneurs +Qu'est-ce qu'un conteneur et à quoi ça sert +Systèmes de conteneurisation : Docker, LXC, Podman... +Conteneurs, images, registries +## Utiliser Docker +### CLI +- Lancer/arrêter un conteneur avec une image existante +- Les variables d'environnement +- Les volumes +- Le réseau dans docker, et les applications multi-conteneurs +- Interagir avec un conteneur (accéder à un terminal) + +### Docker Compose +- Le YAML +- Configurer un ou plusieurs conteneurs avec un fichier + +## Créer une image docker +A mon avis ambitieux, voir avec les collègues. Sinon rester basique. +https://lycee-benoit.tech/BTS/_defrance/ciel/r3/docker/lab-docker-101.html#exo2 + + +# Orga +## TP +- Découverte de docker avec 1 puis 2 conteneurs (site web et ensuite db) et docker compose +- Personnalisation d'une image et compilation + mise en route + destruction + +## Cours +- Retour sur les conteneurs (après le premier TP) +- Retour sur la fabrication d'images (après le second TP) \ No newline at end of file diff --git a/src/cours/CIEL1/03-dev-env/dev-env.md b/src/cours/CIEL1/03-dev-env/dev-env.md new file mode 100644 index 0000000..1fc6b12 --- /dev/null +++ b/src/cours/CIEL1/03-dev-env/dev-env.md @@ -0,0 +1 @@ +# L'environnement de développement diff --git a/src/cours/CIEL1/03-dev-env/forges.md b/src/cours/CIEL1/03-dev-env/forges.md new file mode 100644 index 0000000..037392a --- /dev/null +++ b/src/cours/CIEL1/03-dev-env/forges.md @@ -0,0 +1,15 @@ +# Les forges logicielles + +## Git sur un serveur +### Local, HTTP ou SSH +### GitWeb --> ? à voir (+ installer un serveur git) +### Forgejo ? Install rapide avec docker pour la démo + +## Travailler en groupe avec Git : git distribué +- notion de PR/MR +- Flux de travail + +## Les plateformes +### GitLab +### GitHub +### Auto-hébergées \ No newline at end of file diff --git a/src/cours/CIEL1/03-dev-env/git.md b/src/cours/CIEL1/03-dev-env/git.md new file mode 100644 index 0000000..f82126d --- /dev/null +++ b/src/cours/CIEL1/03-dev-env/git.md @@ -0,0 +1,41 @@ +# Git + +## La gestion de version, concept +### Concept +### Autres systèmes de gestion de version vs git + +## Installer et paramétrer git à la première utilisation +### Installation sous windows +### Installation sous linux +### Fichier gitconfig +### Aide +- Doc +- man +- git help + +## Bases +### Démarrer un nouveau dépôt +### Enregistrer une modification : commit +### .gitignore +### Voir l'historique +### Revenir en arrière +### Travailler avec un dépôt distant +### Etiquetage + +## Branches +### Concept +### Brancher, fusionner +### Comment bien utiliser le branches +### Branches locales et branches distantes +### Rebase + +## Git Cheat Sheet +### Avant toute chose : lire la doc +### Les commandes courantes + +# Organisation +## TP +- TP découverte de git ++ utilisation régulière dans les autres TP +## Classe entière +Première approche ou synthèse ? \ No newline at end of file diff --git a/src/cours/CIEL1/04-web-statique/web-statique.md b/src/cours/CIEL1/04-web-statique/web-statique.md new file mode 100644 index 0000000..66baae1 --- /dev/null +++ b/src/cours/CIEL1/04-web-statique/web-statique.md @@ -0,0 +1,50 @@ +# Le Web statique +## Lancer un serveur web +### En développement +`python3 -m http.server` + +Puis `http://localhost:8000` + +### En production +Apache, nginx... +Voir à la fin d'un TP + +## HTML : structurer et donner du sens au contenu +### Bases +[MDN - Introduction au HTML](https://developer.mozilla.org/fr/docs/conflicting/Learn_web_development/Core/Structuring_content_2f5dc6d6e575054cc70e0a8faa24bef31907d53cee6754dd2c92e644e705a7d8) + +### Debug +[MDN - Debug HTML](https://developer.mozilla.org/fr/docs/Learn_web_development/Core/Structuring_content/Debugging_HTML) + +### Multimédia +images, audio, video + +### Tableaux + +### Point sur l'accessibilité (ou intégrer au fil du temps ?) et les bonnes pratiques + +### Balises de formulaire (à voir avec le JS ?) + +## CSS : donner du style au contenu +### Bases +- sélecteur > accolades > `propriétés: valeurs;` +- Intégrer la CSS dans la page +- Mise en forme et modification du comportement par défaut +- Sélections : classes, état, position, combinaisons, cascades (bonus: pseudo classes et pseudo éléments) +- Propriétés et valeurs +- fonctions +- @rules -> @import et @media +- propriétés raccourcies (border, padding...) +- boîtes et flex + +### Debugger du CSS +Firefox powaa + +## Ressources supplémentaires +MDN Web Docs, section Learn: https://developer.mozilla.org/fr/docs/Learn_web_development +ou section référence : https://developer.mozilla.org/fr/docs/Web + +# Orga +## TP +- Découverte du HTML + bases CSS +- Styler une page web avec CSS (boîtes et flex) \ No newline at end of file diff --git a/src/cours/CIEL1/05-web-js/web-js.md b/src/cours/CIEL1/05-web-js/web-js.md new file mode 100644 index 0000000..e8293f4 --- /dev/null +++ b/src/cours/CIEL1/05-web-js/web-js.md @@ -0,0 +1,38 @@ +# JavaScript + +## Que fait le JS ? +Programmation classique +Opérations sur chaines de caratères ou en réponse à des évènements +Interaction avec diverses API : DOM, WebGL, Canvas, Géolocalisation, WebRTC... Autres API tierces. +Interprété, dynamique +Côté client + +## Ajouter du JS à une page +- Interne avec balise `