URL:     https://linuxfr.org/news/apprendre-en-s-amusant
Title:   Apprendre en s'amusant
Authors: palm123
        Startrek1701, vmagnin, Julien Jorge, eastwind☯, Yves Bourguignon, Benoît Sibaud et Jona
Date:    2022-06-12T08:33:04+02:00
License: CC By-SA
Tags:
Score:   3


Cette dépêche est inspirée d'une discussion sur Twitter lancée par B0rk alias Julia Evans, une éditrice de "zine" sur diverses technologies informatiques.

https://twitter.com/b0rk/status/1535704366304337921

----

[setup your coding game](https://www.codingame.com/)
[Human resource machine](https://en.m.wikipedia.org/wiki/Human_Resource_Machine)
[using Figma and JavaScript to play](https://mastery.games/)
[An open source game about learning Git!](https://ohmygit.org/)
[GNU Robots learn Scheme by playing with a robot](https://www.gnu.org/software/gnurobots/)

----

Introduction
============
Outre le fait d'écrire des livres ou de petits manuels informatiques, Julia Evans est très active sur le réseau social Twitter. En parcourant ses nombreux tweets et réponses, on peut trouver celui-ci : https://twitter.com/robcobbable/status/1535709368519274496

Ce tweet renvoie vers le site https://csed.substack.com/p/the-best-online-interactive-learning?s=r qui liste de nombreux liens sur diverses technologies IT.

Design
------
- Game for building design intuition by choosing the better of two side-by-side designs.
https://csed.substack.com/p/the-best-online-interactive-learning?s=r
- Web design en 4 minutes
https://jgthms.com/web-design-in-4-minutes/
- Cinq différents jeux de design : [https://method.ac/](https://method.ac/)
- Pour faire l'expérience des difficultés de navigation sur le Web que rencontrent certaines personnes handicapées, [Accessibility Maze](https://games.de.torontomu.ca/amaze/) est un jeu ludique, amusant, facile à jouer.

Apprentissage du JavaScript
----------
- JavaScript en 14 minutes
https://jgthms.com/javascript-in-14-minutes
- Vidéos et terrain de jeu pour explorer la boucle d’événements en JavaScript.
http://latentflip.com/loupe/
- In-browser abstract syntax tree parser and visualizer.
https://astexplorer.net/
- Gérer [un ascenseur](https://play.elevatorsaga.com/) en javascript.  Allez-vous relever le challenge de transporter les personnes d'un étage à un autre ?
- Bienvenue à [Grasshopper](https://grasshopper.app/), l'application de codage en JavaScript pour les débutants. Il est actuellement disponible gratuitement sur Desktop et Android. Grasshopper est un programme "Code with Google".

Développer en Python
------
- [RUR-PLE](http://rur-ple.sourceforge.net/), un programme à télécharger et à installer, nécessite [wxpython](http://wxpython.org/) pour fonctionner.
- Un jeu qui mêle connaissance des fonctions de Python et d'un jeu de logique : [The Python Challenge](http://www.pythonchallenge.com/).  Spoil alerte sur le _warming up_ (1er challenge), le nom de page suivante se trouve en calculant 2 exposant 38 (cf. image présentée à l'écran).  Le nombre résultant donnera le nom de la page HTML...

Apprentissage du CSS
---
- Déjà cité dans d'autres dépêches : [CSS Diner](https://flukeout.github.io/)
- Apprendre les [layouts](https://fr.learnlayout.com/) CSS.
- Aider les [grenouilles](https://flexboxfroggy.com/#fr) à se rendre sur leurs nénuphars via des CSS, site disponible en français.
- Sur le thème des chevaliers, un autre [jeu](https://knightsoftheflexboxtable.com/) (en anglais) sur les positionnements d'objets en CSS.
- Toujours sur les _layouts_ CSS, ce [jeu](https://geddski.teachable.com/p/flexbox-zombies)-ci propose l'expérimentation des _layouts_ CSS avec des zombies.
- Layouts CSS, grid, positionnement avec les CSS, testez et apprenez via [gridcritters](https://gridcritters.com/).

Utiliser le langage SQL
---
- Apprendre le SQL
http://sqlbolt.com/
- Devenir un dieu du SQL
https://sql-playground.wizardzines.com/
- Il y a eu un meurtre à SQL City ! Comme au [cluedo](https://fr.wikipedia.org/wiki/Cluedo), découvrez l’assassin et au passage, [apprendre le SQL](https://mystery.knightlab.com/) :-)

Git
---
- Une visite guidée qui permet de découvrir les principes fondamentaux de Git.
https://gitimmersion.com/
- girliemac a un GitHub avec des explications sur de nombreux domaines, on peut aussi découvrir de [manière illustrée](https://github.com/girliemac/a-picture-is-worth-a-1000-words), le fonctionnement de Git (miauw),
- "Oh Shit, Git!?!", des cas concrets de choses à faire avec Git
https://ohshitgit.com/
- Disponible en français, explorez les commandes Git pour la [gestion des branches](https://learngitbranching.js.org/?locale=fr_FR) d'un repository.

Regex
-----
- Apprendre les Regex
https://regexone.com/
- Maitriser les Regex
https://regexr.com/
- Exercer vos connaissance en regex avec [regex golf](https://alf.nu/RegexGolf?world=regex&level=r00).
- Jouer aux [mots croisés](https://regexcrossword.com/) en regex.
![Exemple](https://regexcrossword.com/img/howtoplay/ex2.png)

L'algorithme de recherche A*
----------------------------
- [L’algorithme A*](https://fr.wikipedia.org/wiki/Algorithme_A*) est un algorithme de recherche de chemin dans un graphe entre un nœud initial et un nœud final. Il utilise une évaluation heuristique sur chaque nœud pour estimer le meilleur chemin y passant.
Voici une [présentation pédagogique et interactive de cet algorithme](https://www.redblobgames.com/pathfinding/a-star/introduction.html).

F#
--
- Une façon simple, amusante et interactive d'[apprendre le langage F#](https://github.com/ChrisMarinos/FSharpKoans) par le biais de tests. En lançant le jeu basé sur des [koans](https://fr.wikipedia.org/wiki/K%C5%8Dan_(bouddhisme)), la première fois une erreur d’exécution et une trace de pile indiquant où l’erreur s’est produite s’affichent. Votre objectif est de faire disparaître l’erreur. Au fur et à mesure que vous corrigez chaque erreur, vous devriez apprendre quelque chose sur le langage F# et la programmation fonctionnelle en général.



Ruby
----
- Sur le même principe de la recherche de l’illumination par les koans, l’objectif est ici d’[apprendre le langage Ruby](https://github.com/edgecase/ruby_koans), sa syntaxe, sa structure et certaines fonctions et bibliothèques courantes. On y développe également sa culture en basant les koans sur des tests. Les tests sont essentiels dans notre quête pour apprendre et faire de grandes choses avec Ruby.

Commandes Linux
--------------
- Explication visuelle et textuelle des commandes du shell. Collez une commande dans l'outil, et il vous explique comment elle fonctionne :  https://explainshell.com/
- Via diverses missions que le programme [GameShell](https://github.com/phyver/GameShell) va vous proposer, vous allez apprendre les commandes sh/bash de base.
- Un meurtre a eu lieu à Terminal City, la police de Terminal City (TCPD - Terminal City Police Departement), à besoin de ton aide.  Parcourez les instructions et trouvez le meurtrier: [The commande line murder mystery](https://github.com/veltman/clmystery).  Lien pour télécharger le fichier zip avec les instructions du jeu : [ici](https://github.com/veltman/clmystery/archive/master.zip)

Autres sites
------------------------------------------------------------
- JavaScript, TypeScript, regex, SQL and JavaScript Array Methods
https://www.executeprogram.com/
- Ce site permet d'écrire du code en Java, Python, ... et de voir, suivre de manière interactive l'exécution du code écrit.
https://pythontutor.com/
- [Turing Complete](https://store.steampowered.com/app/1444480/Turing_Complete/) est un jeu payant disponible sur la plateforme steam.  Ce jeu vous permet de construire un ordinateur à partir de rien et de le programmer.
- [RobotWar](https://en.wikipedia.org/wiki/RobotWar) est un jeu de programmation écrit par Silas Warner. L'activité principale du jeu consiste à écrire un programme informatique qui fait fonctionner un robot (simulation).  C'est un jeu écrit à l'origine pour des ordinateurs [PLATO](https://en.m.wikipedia.org/wiki/PLATO_system) ou [Apple II](https://en.m.wikipedia.org/wiki/Apple_II_family).  Néanmoins, il existe une version jouable sur internet via l'[Internet Archive](https://en.m.wikipedia.org/wiki/Internet_Archive) - Lien vers le jeux: [RobotWar](https://archive.org/details/wozaday_Robotwar)
- [Colobot](https://colobot.info/): C'est un jeu de stratégie à télécharger où vous devez programmer votre unité avec le langage Cbot (langage similaire au C++ et au Java).
- Apprendre la gestion des _deadlocks_, des concurrences : [The Deadlock Empire](https://deadlockempire.github.io/)
- Jeu pédagogique sur la logique.  Ce jeu était écrit à l'origine pour Windows 3.x, maintenant une version en ligne est disponible [ici](https://playclassic.games/games/educational-windows-games-online/logical-journey-of-the-zoombinis/).

Éditeur
--------
- Découvrez l'éditeur VIM et ses fonctionnalités en jouant l'[aventurier](https://vim-adventures.com/).

Sécurité
--------
- Un site proposant [des terrains d’entraînement](https://overthewire.org/wargames/) sur les bases de la sécurité informatique, voire l'étude d'attaques informatiques. Ce n'est pas un jeu en ligne... Pas recommandé pour tout le monde.

Powershell
----------
- [Apprendre le Powershell](https://github.com/vexx32/PSKoans/)