Différences entre les versions de « ERG::Code-2017-1 »
(26 versions intermédiaires par 5 utilisateurs non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
Ce cours est destiné aux étudiants de BAC2. Le but est ici de faire un tour d'horizon de pratiques et de possibilités liées à la programmation et plus généralement à l'algorithmique et au numérique. | Ce cours est destiné aux étudiants de BAC2. Le but est ici de faire un tour d'horizon de pratiques et de possibilités liées à la programmation et plus généralement à l'algorithmique et au numérique. | ||
− | Nous commencerons cette année par une introduction aux pages web, avec les langages html et css, pour très vite enchaîner sur le javascript et l'écriture de | + | Nous commencerons cette année par une introduction aux pages web, avec les langages html et css, pour très vite enchaîner sur le javascript et l'écriture de programmes. Nous nous attarderons ensuite sur les bases de données, le stockage d'information, pour terminer par la génération de supports imprimés via les outils orientés web (html, javascript, css). |
Quelques points importants: | Quelques points importants: | ||
Ligne 63 : | Ligne 63 : | ||
* Main dans le css: mise en page d'un contenu existant | * Main dans le css: mise en page d'un contenu existant | ||
http://curlybraces.be/erg/2017-2018/lionelmaes/introcss.zip | http://curlybraces.be/erg/2017-2018/lionelmaes/introcss.zip | ||
+ | |||
+ | ===09/10/2017=== | ||
+ | * Le positionnement en css : intro | ||
+ | http://curlybraces.be/erg/2017-2018/lionelmaes/20171009positionnement.zip | ||
+ | <pre> | ||
+ | 1. réalisez un carré rouge qui prend tout l’écran dans lequel se trouve un carré jaune centré horizontalement et verticalement quelque soit la taille de la fenêtre.👽 | ||
+ | 2. Réalise un drapeau belge sur toute la page🇧🇪 | ||
+ | 3. Fais moi un Mario en pixel art (pixel = bloc de 20x20 px) | ||
+ | 4. faire un damier de 5 carrés horizontaux et verticaux qui s'adapte à la taille de l'écran | ||
+ | 5. créer un motif avec des superpositions de carrés (au moins 5 carrés de couleur différentes avec des positionnements différents). | ||
+ | 6.Créez un escalier de 12 rectangles de 100 px par 20 px avec les couleurs de l'arc-en-ciel | ||
+ | 7. créer 5 carrés de différentes couleurs qui se superposent avec transparence > opacity:1; opacity:0.5; | ||
+ | 8. Réalise une lettre à partir de carrés (avec un positionnement fixe) et une qui s'adapte à la | ||
+ | 9. Créer 5 carrés avec 5 bordures de couleurs différentes | ||
+ | 10. réaliser un bloc fixe qui change de couleur à un certain niveau de la page par dessus d'autres blocs mobiles | ||
+ | avoir un menu fixe à gauche sur toute la page et faire 4 colonnes de texte qui se placent les une à côté des autres s'il y a de la place, les unes en dessous des autres sinon | ||
+ | 12. réaliser un dégradé de blocs | ||
+ | 13. réaliser 3 blocs de couleur bleu, les uns à coté des autres, dont celui du milieu est fixé sur la page | ||
+ | </pre> | ||
+ | |||
+ | ===16/10/2017=== | ||
+ | * Positionnement en css: suite | ||
+ | * Démo js: intro | ||
+ | |||
+ | ===23/10/2017=== | ||
+ | |||
+ | * Javascript: introduction et exercice d'écriture de scénario avec prompt et alert | ||
+ | http://curlybraces.be/erg/2017-2018b3/lionelmaes/20171023demo_js.zip | ||
+ | |||
+ | ===06/11/2017=== | ||
+ | * Javascript: récapitulatif | ||
+ | http://curlybraces.be/erg/2017-2018/lionelmaes/20171106rappeljs.zip | ||
+ | * Jquery: introduction | ||
+ | http://curlybraces.be/erg/2017-2018/lionelmaes/20171106introjquery.zip | ||
+ | |||
+ | ===13/11/2017=== | ||
+ | * Exercices jquery: énoncés | ||
+ | <pre> | ||
+ | 1. faire une page avec un carré dans le coin supérieur gauche qui vas dans le coin supérieur droit quand on clic dessus puis en bas a droite puis en bas a gauche puis en haut a gauche puis ainsi de suite... | ||
+ | 2. Faire une page avec 3 carrés un à coté des autres avec du texte centré à l'intérieur. Cliquer sur le carré pour faire agrandir le texte | ||
+ | 3. Faire une page avec des carres en arc en ciel qui apparait et disparait et changent de taille | ||
+ | 4. faire un bloc qui prend tout l'écran, à chaque refresh de la page le bloc doit être d'une nouvelle couleur aléatoire` | ||
+ | 5.Faire un carré | ||
+ | 6. Construire une page avec un carré dans l'espace. Cliquer sur le carré pour le faire disparaitre puis le faire réapparaitre de façon aléatoire dans la page | ||
+ | 8. faire un carré dans l'angle supérieur gauche de la page. Lors du clic, faire répéter le carré horizontalement et de façon continue jusqu'à la fin de cette page. | ||
+ | 7. Faire en sorte qu'un bloc se déplace partout ou on clique | ||
+ | 9. Créer un gros bloc où quand on clique dessus il rétrécit, encore et encore jusqu'à ce qu'il disparaisse | ||
+ | |||
+ | 10.faire deux colonnes de bloc en deux couleurs différentes qui changent de couleur quand on clique dessus | ||
+ | |||
+ | 11.faire trois carrés de couleurs differentes superposés, quand on clique dessus le carré disparait pour faire apparaitre celui en dessous | ||
+ | </pre> | ||
+ | |||
+ | ===20/11/2017=== | ||
+ | * Jquery: dessin | ||
+ | http://curlybraces.be/erg/2017-2018/lionelmaes/20171120dessinjs.zip | ||
+ | |||
+ | |||
+ | ===04/12/2017=== | ||
+ | * PHP: intro | ||
+ | http://curlybraces.be/erg/2017-2018/lionelmaes/20171204demophp.zip | ||
+ | |||
+ | ===11/12/2017=== | ||
+ | * PHP bases de données | ||
+ | http://curlybraces.be/erg/2017-2018/lionelmaes/20171211bag.zip | ||
+ | |||
+ | ===05/02/2018 : introduction au deuxième quadrimestre=== | ||
+ | * Travailler en groupe | ||
+ | **Mise en place d'un agenda de présentation des sujets liés aux travaux | ||
+ | **Chaque groupe crée la page de documentation de son projet sur le wiki | ||
+ | **Avant une présentation d'un groupe, les étudiants qui n'en font pas partie lisent le projet documenté. La présentation est un moment d'échange et de débat | ||
+ | **Les présentations sont transcrites par un(e) secrétaire | ||
+ | **À l'intérieur des groupes, à chaque fois qu'il y a des moments de mise en commun, ils sont également retranscrits par un(e) secrétaire et mis en ligne sur la page correspondante du wiki | ||
+ | https://www.youtube.com/watch?v=4GXCIbStB5c | ||
+ | * Bases de données | ||
+ | ** D'où viennent les données? Choisir une ou plusieurs sources parmi la liste suivante: | ||
+ | ***Les bibliothèques des membres du groupe | ||
+ | ***Un flux twitter d'un politicien au choix | ||
+ | ***Les flux facebook des membres du groupe | ||
+ | ***Un site de recettes de cuisine | ||
+ | ***Les trajets en transports en commun des membres du groupe | ||
+ | ***Un forum thématique (au choix) du site Doctissimo | ||
+ | ***Les commentaires d'un site d'actualités au choix | ||
+ | ***Les discours d'un politicien au choix | ||
+ | ***Les pads créés pour le dernier séminaire de l'ERG | ||
+ | ***Un ensemble de documents provenant de wikileaks.org | ||
+ | ** Quel est l'intérêt de les stocker? Formuler une hypothèse. | ||
+ | ** Que garder ou ne pas garder? | ||
+ | ** Produire un schéma de structure | ||
+ | ***Quelles seront les entités, quelles seront les relations? | ||
+ | ** À la fin du cours: présenter le projet via la page wiki du groupe | ||
+ | |||
+ | ===12/02/2018 : bases de données: suite=== | ||
+ | * Création d'un schéma de base de données | ||
+ | ** Répondre aux questions suivantes: | ||
+ | ***Quelles sont les entités? Exemples: article, commentaire, utilisateur, livre, etc. | ||
+ | ***Quels sont les champs pour chaque entité? Exemples: corps de texte, chapeau, nom, prénom, date, etc. | ||
+ | ***Quelles sont les relations entre les entités, via quels champs? Exemple: un article est lié à un auteur via le champ id_auteur | ||
+ | ** Produire le schéma soit sur papier, soit via http://asciiflow.com/ | ||
+ | |||
+ | * Quel médium pour la base de données? Choisir un ou plusieurs médium parmi la liste suivante: | ||
+ | ** Des fiches physiques | ||
+ | ** Une structure de dossiers et de fichiers sur ordinateur | ||
+ | ** Une base de données type SQL | ||
+ | |||
+ | *Quelle méthode pour insérer du contenu dans la base de données? | ||
+ | ** Écrire un scénario de remplissage, que la méthode soit numérique ou non. Écrire ce scénario comme une recette de cuisine ou un programme, en étant le plus précis possible. Exemple: Tous les jours à 15h à partir du 12 février 2018 jusqu'au 25 février 2018, scanner la homepage du site lemonde.fr. Pour chaque lien vers un article d'actualité, suivre le lien, scanner la page désignée par le lien. Pour chaque commentaire publié sur cette page, récupérer la date, le nombre de mots. Insérer une nouvelle entrée dans la table "comments" de la base de données en utilisant ces deux informations. | ||
+ | ** Créer un schéma correspondant à ce scénario, soit sur papier, soit via http://asciiflow.com/ | ||
+ | ** Suivant les besoins du scénario, définir si la méthode est numérique, analogique ou les deux. | ||
+ | |||
+ | * À la fin du cours: présenter le projet via la page wiki du groupe | ||
+ | |||
+ | ===19/02/2018 : bases de données: suite=== | ||
+ | * MySQL et phpMyAdmin | ||
+ | * Quel médium pour la base de données? Choisir un ou plusieurs médium parmi la liste suivante: | ||
+ | ** Des fiches physiques | ||
+ | ** Une structure de dossiers et de fichiers sur ordinateur | ||
+ | ** Une base de données type SQL | ||
+ | |||
+ | *Quelle méthode pour insérer du contenu dans la base de données? | ||
+ | ** Écrire un scénario de remplissage, que la méthode soit numérique ou non. Écrire ce scénario comme une recette de cuisine ou un programme, en étant le plus précis possible. Exemple: Tous les jours à 15h à partir du 12 février 2018 jusqu'au 25 février 2018, scanner la homepage du site lemonde.fr. Pour chaque lien vers un article d'actualité, suivre le lien, scanner la page désignée par le lien. Pour chaque commentaire publié sur cette page, récupérer la date, le nombre de mots. Insérer une nouvelle entrée dans la table "comments" de la base de données en utilisant ces deux informations. | ||
+ | ** Créer un schéma correspondant à ce scénario, soit sur papier, soit via http://asciiflow.com/ | ||
+ | ** Suivant les besoins du scénario, définir si la méthode est numérique, analogique ou les deux. | ||
+ | |||
+ | * Documenter, planifier, démarrer la récolte | ||
+ | * À la fin du cours: présenter le projet via la page wiki du groupe | ||
+ | |||
+ | ==Groupes de travail== | ||
+ | *[[ERG::2018-Le Nouveau Détective| Le Nouveau Détective]] | ||
+ | *[[ERG::2018-Façon Secte - Tribal King| Façon Secte - Tribal King]] | ||
+ | *[[ERG::2018-JadeFredMorgane | JadeFredMorgane ]] | ||
+ | *[[ERG::2018-Doctissimo | Doctissimo ]] | ||
+ | |||
+ | ==Agenda de présentations== | ||
+ | ===19/02/2018=== | ||
+ | ===26/02/2018=== | ||
+ | ===05/03/2018=== | ||
+ | ===12/03/2018=== |
Version actuelle datée du 26 février 2018 à 09:04
Introduction
Ce cours est destiné aux étudiants de BAC2. Le but est ici de faire un tour d'horizon de pratiques et de possibilités liées à la programmation et plus généralement à l'algorithmique et au numérique.
Nous commencerons cette année par une introduction aux pages web, avec les langages html et css, pour très vite enchaîner sur le javascript et l'écriture de programmes. Nous nous attarderons ensuite sur les bases de données, le stockage d'information, pour terminer par la génération de supports imprimés via les outils orientés web (html, javascript, css).
Quelques points importants:
- La plupart des travaux seront réalisés dans le cadre de l'atelier. La présence au cours est donc nécessaire.
- Le cours se veut à la fois pratique et théorique: les étudiants seront encouragés à se documenter et se positionner par rapport aux questions que posent le code informatique, son écriture et ses applications dans divers domaines.
- La recherche et la documentation font partie du cours. Une attention toute particulière sera apportée au partage d'informations entre nous et vers l'extérieur.
Séances
25/09/2017
- Brève introduction aux langages de programmation : langage machine, langage assembleur, langage évolué, langages de scripts (langages interprétés), langages compilés, langage de balisage (langage de marquage), langage de requête
BINAIRE (langage machine) 0 0 1 1 1 0 2 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 1 0 0 0 8 1 0 0 0 0 0 0 0 128 (1 octet) ASSEMBLEUR COBOL C C++ JAVA > interpreté Python > idem HPGL > pour les traceurs POSTSCRIPT > pour les imprimantes BASH > pour le terminal JQUERY > JAVASCRIPT PROCESSING > JAVA HTML > côté client, interprété CSS > côté client, interprété JAVASCRIPT > côté client, interprété PHP > côté serveur, interpreté SQL > côté serveur, interprété Ruby on rail > côté serveur, interprété
- Mains dans l'html: créer un labyrinthe de pages web
02/10/2017
- Introduction à Internet et au web
- Mise en ligne du labyrinthe
- Main dans le css: mise en page d'un contenu existant
http://curlybraces.be/erg/2017-2018/lionelmaes/introcss.zip
09/10/2017
- Le positionnement en css : intro
http://curlybraces.be/erg/2017-2018/lionelmaes/20171009positionnement.zip
1. réalisez un carré rouge qui prend tout l’écran dans lequel se trouve un carré jaune centré horizontalement et verticalement quelque soit la taille de la fenêtre.👽 2. Réalise un drapeau belge sur toute la page🇧🇪 3. Fais moi un Mario en pixel art (pixel = bloc de 20x20 px) 4. faire un damier de 5 carrés horizontaux et verticaux qui s'adapte à la taille de l'écran 5. créer un motif avec des superpositions de carrés (au moins 5 carrés de couleur différentes avec des positionnements différents). 6.Créez un escalier de 12 rectangles de 100 px par 20 px avec les couleurs de l'arc-en-ciel 7. créer 5 carrés de différentes couleurs qui se superposent avec transparence > opacity:1; opacity:0.5; 8. Réalise une lettre à partir de carrés (avec un positionnement fixe) et une qui s'adapte à la 9. Créer 5 carrés avec 5 bordures de couleurs différentes 10. réaliser un bloc fixe qui change de couleur à un certain niveau de la page par dessus d'autres blocs mobiles avoir un menu fixe à gauche sur toute la page et faire 4 colonnes de texte qui se placent les une à côté des autres s'il y a de la place, les unes en dessous des autres sinon 12. réaliser un dégradé de blocs 13. réaliser 3 blocs de couleur bleu, les uns à coté des autres, dont celui du milieu est fixé sur la page
16/10/2017
- Positionnement en css: suite
- Démo js: intro
23/10/2017
- Javascript: introduction et exercice d'écriture de scénario avec prompt et alert
http://curlybraces.be/erg/2017-2018b3/lionelmaes/20171023demo_js.zip
06/11/2017
- Javascript: récapitulatif
http://curlybraces.be/erg/2017-2018/lionelmaes/20171106rappeljs.zip
- Jquery: introduction
http://curlybraces.be/erg/2017-2018/lionelmaes/20171106introjquery.zip
13/11/2017
- Exercices jquery: énoncés
1. faire une page avec un carré dans le coin supérieur gauche qui vas dans le coin supérieur droit quand on clic dessus puis en bas a droite puis en bas a gauche puis en haut a gauche puis ainsi de suite... 2. Faire une page avec 3 carrés un à coté des autres avec du texte centré à l'intérieur. Cliquer sur le carré pour faire agrandir le texte 3. Faire une page avec des carres en arc en ciel qui apparait et disparait et changent de taille 4. faire un bloc qui prend tout l'écran, à chaque refresh de la page le bloc doit être d'une nouvelle couleur aléatoire` 5.Faire un carré 6. Construire une page avec un carré dans l'espace. Cliquer sur le carré pour le faire disparaitre puis le faire réapparaitre de façon aléatoire dans la page 8. faire un carré dans l'angle supérieur gauche de la page. Lors du clic, faire répéter le carré horizontalement et de façon continue jusqu'à la fin de cette page. 7. Faire en sorte qu'un bloc se déplace partout ou on clique 9. Créer un gros bloc où quand on clique dessus il rétrécit, encore et encore jusqu'à ce qu'il disparaisse 10.faire deux colonnes de bloc en deux couleurs différentes qui changent de couleur quand on clique dessus 11.faire trois carrés de couleurs differentes superposés, quand on clique dessus le carré disparait pour faire apparaitre celui en dessous
20/11/2017
- Jquery: dessin
http://curlybraces.be/erg/2017-2018/lionelmaes/20171120dessinjs.zip
04/12/2017
- PHP: intro
http://curlybraces.be/erg/2017-2018/lionelmaes/20171204demophp.zip
11/12/2017
- PHP bases de données
http://curlybraces.be/erg/2017-2018/lionelmaes/20171211bag.zip
05/02/2018 : introduction au deuxième quadrimestre
- Travailler en groupe
- Mise en place d'un agenda de présentation des sujets liés aux travaux
- Chaque groupe crée la page de documentation de son projet sur le wiki
- Avant une présentation d'un groupe, les étudiants qui n'en font pas partie lisent le projet documenté. La présentation est un moment d'échange et de débat
- Les présentations sont transcrites par un(e) secrétaire
- À l'intérieur des groupes, à chaque fois qu'il y a des moments de mise en commun, ils sont également retranscrits par un(e) secrétaire et mis en ligne sur la page correspondante du wiki
https://www.youtube.com/watch?v=4GXCIbStB5c
- Bases de données
- D'où viennent les données? Choisir une ou plusieurs sources parmi la liste suivante:
- Les bibliothèques des membres du groupe
- Un flux twitter d'un politicien au choix
- Les flux facebook des membres du groupe
- Un site de recettes de cuisine
- Les trajets en transports en commun des membres du groupe
- Un forum thématique (au choix) du site Doctissimo
- Les commentaires d'un site d'actualités au choix
- Les discours d'un politicien au choix
- Les pads créés pour le dernier séminaire de l'ERG
- Un ensemble de documents provenant de wikileaks.org
- Quel est l'intérêt de les stocker? Formuler une hypothèse.
- Que garder ou ne pas garder?
- Produire un schéma de structure
- Quelles seront les entités, quelles seront les relations?
- À la fin du cours: présenter le projet via la page wiki du groupe
- D'où viennent les données? Choisir une ou plusieurs sources parmi la liste suivante:
12/02/2018 : bases de données: suite
- Création d'un schéma de base de données
- Répondre aux questions suivantes:
- Quelles sont les entités? Exemples: article, commentaire, utilisateur, livre, etc.
- Quels sont les champs pour chaque entité? Exemples: corps de texte, chapeau, nom, prénom, date, etc.
- Quelles sont les relations entre les entités, via quels champs? Exemple: un article est lié à un auteur via le champ id_auteur
- Produire le schéma soit sur papier, soit via http://asciiflow.com/
- Répondre aux questions suivantes:
- Quel médium pour la base de données? Choisir un ou plusieurs médium parmi la liste suivante:
- Des fiches physiques
- Une structure de dossiers et de fichiers sur ordinateur
- Une base de données type SQL
- Quelle méthode pour insérer du contenu dans la base de données?
- Écrire un scénario de remplissage, que la méthode soit numérique ou non. Écrire ce scénario comme une recette de cuisine ou un programme, en étant le plus précis possible. Exemple: Tous les jours à 15h à partir du 12 février 2018 jusqu'au 25 février 2018, scanner la homepage du site lemonde.fr. Pour chaque lien vers un article d'actualité, suivre le lien, scanner la page désignée par le lien. Pour chaque commentaire publié sur cette page, récupérer la date, le nombre de mots. Insérer une nouvelle entrée dans la table "comments" de la base de données en utilisant ces deux informations.
- Créer un schéma correspondant à ce scénario, soit sur papier, soit via http://asciiflow.com/
- Suivant les besoins du scénario, définir si la méthode est numérique, analogique ou les deux.
- À la fin du cours: présenter le projet via la page wiki du groupe
19/02/2018 : bases de données: suite
- MySQL et phpMyAdmin
- Quel médium pour la base de données? Choisir un ou plusieurs médium parmi la liste suivante:
- Des fiches physiques
- Une structure de dossiers et de fichiers sur ordinateur
- Une base de données type SQL
- Quelle méthode pour insérer du contenu dans la base de données?
- Écrire un scénario de remplissage, que la méthode soit numérique ou non. Écrire ce scénario comme une recette de cuisine ou un programme, en étant le plus précis possible. Exemple: Tous les jours à 15h à partir du 12 février 2018 jusqu'au 25 février 2018, scanner la homepage du site lemonde.fr. Pour chaque lien vers un article d'actualité, suivre le lien, scanner la page désignée par le lien. Pour chaque commentaire publié sur cette page, récupérer la date, le nombre de mots. Insérer une nouvelle entrée dans la table "comments" de la base de données en utilisant ces deux informations.
- Créer un schéma correspondant à ce scénario, soit sur papier, soit via http://asciiflow.com/
- Suivant les besoins du scénario, définir si la méthode est numérique, analogique ou les deux.
- Documenter, planifier, démarrer la récolte
- À la fin du cours: présenter le projet via la page wiki du groupe