Les pieds dans le code

Pour apprendre à programmer, le mieux est de metre les pieds dedans.

You Don’t Know JS (book series)

Un livre qui parle de JavaScript part les morceaux les moins bien compris (parfois)

https://github.com/getify/You-Dont-Know-JS

L’art de la ligne de commande

Encore un ressource sur la ligne de commande. Je n’ai pas encore parcouru celle-ci, mais les premières lignes semblent prometteuses ! :slight_smile:

https://github.com/jlevy/the-art-of-command-line/blob/master/README-fr.md

Manage.py rendu en éxecutable sur django - astuce

petite astuce pour ceux qui font du django. Pour activer django, on fait python manage.py runserver Mais si vous faites un chmod +x manage.py, vous pouvez faire ./manage.py runserver

Git CheatSheet

Un outil visuel bien sympathique pour comprendre les différents endroits que nous pouvons utiliser en utilisant Git

https://ndpsoftware.com/git-cheatsheet.html

Éditeur & console Python pour débuter

J’ai découvert il y a peu de temps un éditeur vraiment sympa pour faire du python. Que ce soit pour débuter ou confirmer :slight_smile:

https://codewith.mu/

Silent Teacher

Un site sympa pour apprendre à programmer avec un prof silencieux :slight_smile:

http://silentteacher.toxicode.fr/

Une plateforme intéressante pour démarrer en programmation

Glitch est une plateforme sur laquelle une belle communauté s’active. A l’instar de Github qui permet de cloné et participer facilement aux projets des unes et des autres, Glitch propose de participer au divers projets en le faisant en ligne, sans rien installé sur sa machine. Glitch héberge également directement la plupart des projets.

Il y a peu, j’ai découvert une communauté dans la communauté qui cherche à regrouper des projets intéressant pour apprendre à programmer : https://glitch.com/learn-to-code

Visualiser les espaces Git (et les mouvements possible à partir de là)

Parfois, ce n’est pas simple de savoir où nous sommes et où aller avec Git. Voici un petit site qui propose une façon visuel de se souvenir de tout ça. C’est plutôt pas mal fait.

https://ndpsoftware.com/git-cheatsheet.html

Des défis pour progresser avec Vim : Vimgolf

vimgolf propose une grande série de défi permettant de vous confronter à des manipulations dans vim.

Bien souvent, on peut résoudre ces défis en effectuant nos manipulation habituelles, mais là, l’idée est de compter le nombre de manipulation, et d’essayer d’en faire le moins possible :smile:

Amusez vous bien !

Comment faire des Makefile ?

https://skyduino.wordpress.com/2012/12/22/tuto-makefile/

Reconnaître les formes de code

Un peu comme Sparrow Deck, il s’agit d’observation, mais là, c’est la « forme » du code qui va être observée

https://teropa.info/codeshapes/

Glitch une plateforme surprenante

Salut à toutes et à tous.

Durant le programme « à mon tour de programmer » j’ai découvert glitch.com. C’est une plateforme surprenante, mais qui peut, j’ai l’impresison, rendre bien des service.

En gros, cette plateforme permet de faire vivre des projets en ligne. Elle propose une mise à jour du code en ligne, une gestion des versions assez intéressante (automatique avec une navigation visuel).

Une fonctionnalité intéressante, c’est la possibilité de « remixer » un projet existant, ça me semble un point particulierement intéressant pour les personnes débutantes, elles peuvent ainsi tenter de changer quelques lignes d’un projet existant, pour voir, tester, apprendre.

J’y vois une orientation très lié au logiciel libre, mais avec un contexte d’éxécution plus simple (puisqu’intégré).

Gitch propose a sa communauté un discourse https://support.glitch.com/.

Une chose m’a troublé assez longuement : le modèle économique, puisque c’est une plateforme me semble propriétaire… L’utilisation d’une équipe et l’utilisation « business » est payante : https://glitch.com/forplatforms/ apparement avec des fonctionnalités supplémentaires.

Dernier point amusant, le site marketing de glitch est codé… sur glitch (en glitch ?) https://glitch.com/edit/#!/about?path=README.md:1:0 et peux être modifié (enfin remixé dans notre espace).

j’ai créé un groupe rookie club, mais je ne sais pas si ça va tenir, je ne compte pas payer le montant affiché sur la page de pricing :slight_smile:

Un bout de projet que je tente sur la plateforme, pour mieux comprendre ce que c’est :

https://elementstable.glitch.me/

(le but est de reprendre http://elements.wlonk.com/ElementsTable.htm )

Pourquoi utiliser Docker sur un poste de dev

Un article à propos de docker plutôt intéressant, avec plein de bonne référence à la fin.

Si on peut tenter une analogie avec la programmation orientée objet : une image est l’équivalent d’une classe et un conteneur est l’équivalent d’une instance de cette classe.

De plus, la philosophie des conteneurs est assez simple :

https://blog.octo.com/pourquoi-utiliser-docker-en-tant-que-dev/

Dataviz ton code

Une façon originale de visualiser le code source de vos projet

http://quantifiedcode.github.io/code-is-beautiful/

Curriculum Admin sys en ligne

Pour celles et ceux qui souhait en savoir plus, explorer, ou juste jeter un oeil, voici un curriculum Ops en anglais.

Ce curriculum est aussi disponible sur Github, ce qui facilite le travail de traduction (qui est un bon moyen de prendre le temps de lire pour comprendre et apprendre). Je suis prêt à aider (par relecture) toute personne qui souhaite tenter cette aventure :-)

Cyber-Dojo, le code source du projet

Vous connaissez peut-être déjà Cyber-Dojo, une plateforme pour faire des kata en ligne (potentiellement à plusieurs).

Et bien, je viens de remarquer que le code source est disponible sur Github, et qu’il y a moyen de participer.

https://github.com/cyber-dojo/web

AsciiDots

Un petit outil de programmation visuel, amusant. A explorer !

https://github.com/aaronduino/asciidots

Brackets, un éditeur de texte méconnu

Brackets est un éditeur de texte plutôt intéressant, et pourtant assez méconnu. C’est un éditeur distribué sous une licence libre. Il est maintenu et soutenu par Adobe.

http://brackets.io/

Cet éditeur met en avant 3 idées :

Qui l’utilise déjà ?

Les commandes unix en dessin

Julia Evans (connu sous le compte @b0rk sur twitter) fait des illustrations qui lui permette de partager ses connaissances autour des commandes unix. Je crois que ça fait parti de son processus d’apprentissage. Elle choisi une commande qu’elle ne connais pas, lit le manuel, joue avec, puis réalise une illustration.

En voici 3 qu’elles a publiée sur twitter.

![xargs-Julia_Evans-%40b0rk 690x435](upload://7xrElEXbMvJFx1WEK5cacGqDXOE.jpeg)
![grep-Julia_Evans-%40b0rk 690x434](upload://e0oCMTeieTuCrmSD0pyxCqM3DPw.jpeg)
![unix_permissions-Julia_Evans-%40b0rk 657x500](upload://sJOqJbVBzEm5ZXv35h7Gjg8He.jpeg)

Elle propose des magasines à propos de divers sujets autour d’unix/linux

Analyse de l’execution d’un bout de code

Construit à la base pour aider à l’apprentissage de la programmation via Python, l’outil pythontutor propose aujourd’hui plusieurs langage (JavaScript, Ruby, C++, C, divers version de Python, …).

C’est un outil intéressant pour comprendre ce qu’il se passe pour la machine quand nous executons un bout de code.

Cet outil a le bon gout d’être distribué sous une licence libre, nous avons donc accès au code source, et ça serais un exercice remaquablement intéressant que de le faire évoluer, ajouter des langages ou autre…

https://github.com/pgbovine/OnlinePythonTutor

A bientôt pour un atelier avec PythonTutor :slight_smile:

Gogs, un outil d’autohébergement de dépots Git

Pour ne pas centraliser les bouts de code et les projets sur Github, on peut aussi utiliser un outil facilitant le travail : Gogs

Comprendre TCP

@will.i.am avait posé une question sur le fonctionnement de TCP et un outil “rigolo” sur linux c’est tcpdump qui permet d’afficher les paquets reçus. Bon après faut le décrypter mais c’est quand même intéressant, c’est un peu l’équivalent de comprendre les headers en http.

Pour décoder les paquets TCP (notamment) sans se faire mal, Raphaël recommande Wireshark.

Des interpréteurs Lisp

Voici une liste d’implémentation d’un interpréteur Lisp dans plus de 70 langages !

https://github.com/kanaka/mal

Attention, la lecture de ces codes sources peut vous apprendre pas mal de chose, et faire vous même une tentative l’est encore plus :stuck_out_tongue:

Des exercices en lignes

Bonjour à tous, je suis en train de valider des badges sur Trailhead de Salesforce. Peut-être que ce lien vous sera utile.

Page man en ligne

Un projet, plutôt bien réussi, propose d’accéder à des « manpage » en ligne tldr.sh.

pour en savoir plus sur les manpages, voir dans le glossaire la page manpage, c’est quoi.

Des jeux pour apprendre à programmer

Grimoire de la ligne de commande

Pour avoir de l’aide sur les outils en ligne de commande, dans le terminal, il y a les pages man, mais il y a aussi le grimoire-command.es

:slight_smile:

Mozilla propose un graph des savoir-faires à acquérir pour être dev

https://github.com/kamranahmedse/developer-roadmap

roadmap

Faire des graphs en markdown

Voici un beau projet, un générateur de diagramme et flowchart à partir de texte un peu comme Markdown.

Et une bonne chose : Mermaid est supportée sur hackmd https://hackmd.io/features#Mermaid :smiley:

Comprendre les systèmes de gestion de base de donnée

Voici un tutoriel visant à recréer un système de gestion de base de donnée simple, et pas à pas.

Ça me parait un très bon axe pour comprendre ce qu’est un système de gestion base de donnée. Encore un sujet d’atelier potentiel :slight_smile:

Voici une liste d’articles intéressant autour des bases de données.

https://github.com/rxin/db-readings

On y parle des différents type de stockage de donnée, les algorithmes principaux, …

Initiation à SQL language.

Avec @NerOcrO et @jibe-b.

Nous avons repris la base de données test Oracle (pour Continuity). Outils utilisé : https://dbeaver.io/

J’ai appris les bases :

Piti bonus : la possibilité de mettre des requêtes dans des requêtes que l’on appel des sous-requêtes.

https://fr.wikipedia.org/wiki/Structured_Query_Language#Syntaxe_g%C3%A9n%C3%A9rale

Vi, Vim, un éditeur de texte

Vim est une amélioration de Vi. Le (m) est pour dire « Vi Improved ».

C’est un éditeur de texte sous unix/linux. Il est également disponible sur MacOSX et Windows. C’est un des plus vieux éditeurs.

À une époque, c’etait l’éditeur obligatoire pour la formation au Rookie Club.

Pour en savoir plus, voir le site officiel Vim.org.

Les cours en lignes

Une liste de cours en ligne issu de divers fac pour apprendre l’informatique.

https://github.com/prakhar1989/awesome-courses

Le jargon de la programmation fonctionnelle expliqué (ou presque)

https://github.com/hemanth/functional-programming-jargon

Python et Data Science

Bonjour, Je suis Carole, une visiteuse occasionnelle du Rookie club. J’ai des bases de C, j’ai suivi une formation professionnelle Afpa en Java, j’ai bossé pour une startup puis suivi une formation d’entreprise en Software Craftmanship avant d’être placée en mission. Après quelques déboires je me suis rendue compte que travailler dans l’écosystème Java n’était pas ce dont je rêvais (c’est surtout des grands comptes, banques, assurances etc, et j’avais l’impression que le code servait essentiellement à traduire de la bureaucratie). J’aimerais me réorienter vers la Data Science et me mettre au Python, avant de partir vers de nouvelles aventures. Pour ceux qui sont passés part là -Python et/ou Data Science - quelles sont les ressources que vous recommandriez?

J’ai classé le sujet en « Lecture », mais je suis preneuse de conseils. En particulier, quels sont les obstacles que vous avez pu rencontrer et comment vous les avez surmontés.

À bientôt au Rookie Club,

Hello, je vais essayer de mettre ici les liens que je trouve intéressants en DS. L’idéal eut été de créer une nouvelle catégorie, tant le sujet est vaste…;-) En vrac, voici : 1/ un site que je trouve assez chouette https://towardsdatascience.com/ et cet article qui répond à tes questions : https://towardsdatascience.com/how-to-learn-data-science-if-youre-broke-7ecc408b53c7 2/ https://www.dezyre.com/projects 3/ https://id.analyticsvidhya.com/accounts/signup/ 4/ Datacamp et dataquest 5/ https://www.cartelis.com/blog/boite-outils-data-analyst/ 6/ https://www.datascience.net/fr/home/ Voilà pour l’instant…

Terminus, le jeu pour apprendre unix

Un jeu très intéressant pour apprendre unix.

La version originale par Mprat: http://www.mprat.org/Terminus/ avec le code source : https://github.com/mprat/Terminus

Et une version revisité ?9et en français) avec des images par Luffah

http://luffah.xyz/bidules/Terminus/ avec le code source (fork de l’original) : https://github.com/luffah/Terminus

j’ai tenté le rm sur un des fichiers ainsi qu’un cat et là, le programme me dit que les commandes n’existent pas.

C’est un jeu d’exploration, un jeu dont vous êtes le heros. Les commandes tu les gagnes au fur et à mesure. Dans la version française, tu commences avec cat, cd et ls… J’ai avancé juste un peu et j’ai gagné mv et pwd :smiley:

Mieux taper au clavier

Hello, J’aimerais bien apprendre à mieux taper au clavier (utiliser mes dix doigts et regarder l’écran). Est-ce que vous auriez des ressources à me recommander pour s’entraîner ? On en parlait après la rétrospective du Rookie Club avec @e.pampouille, @camille, @NerOcrO, @PetitPandaRoux et @will.i.am Et d’ailleurs j’ai suivi vos conseils pour passer d’un clavier azerty à qwerty sur mon portable: j’ai acheté des autocollants à coller sur les touches, c’est nickel :slight_smile:

Salut, Je me suis entraîné sur ce site https://10fastfingers.com/typing-test/french. 30 minutes par jour pendant au moins un mois et j’ai retrouvé ma dextérité d’avant.

Salut Éric,

J’ai bien aimé https://thetypingcat.com :slight_smile:

Bon courage !

Cool, merci Fabien et Manu ! Je vais tester ces sites

Quelqu’un a un site qui dit qu’elle doigt utiliser pour telle touche ?

Oui, sur the Typing cat ça te dit quels doigts utiliser. J’ai commencé, je trouve ça vraiment bien fichu. J’ai l’impression que cette fonctionnalité existe pas sur 10fastfingers