Le second hors-série de Hackable est chez votre marchand de journaux !

Dans le précédent hors-série vous avez pu faire connaissance avec le monde fantastique des cartes Arduino et de leur programmation, en toute simplicité, pas-à-pas, et surtout sans aucune connaissances préalable dans le domaine de l’électronique.

Ce nouveau numéro hors-série , actuellement en kiosque et ce jusqu’au 5 mai, se propose de faire de même, avec la même facilité, mais dans un domaine bien différent : la programmation sur Raspberry Pi.

Les publications présentant les cartes Raspberry Pi et leurs utilisations ne manquent pas, l’objectif ici n’est cependant pas de découvrir la Pi et son système, mais de débuter dans une des activité les plus captivantes qui soit : la programmation. Celle-là même qui vous permettra de faire tout ce qui vous chante de votre Pi mais également de transposer ces connaissances très rapidement à d’autres cartes ou encore à un PC ou un Mac.

Dans ce numéro, vous ferez vos tout premiers pas en programmation et progresserez à votre rythme au fil des chapitres jusqu’à acquérir les connaissances de base et les concepts les plus utiles. Le langage utilisé, Python, est l’un des plus utilisé et existe sur de nombreux système. Plus qu’un guide pour utilisateur de Raspberry Pi, ce numéro est un véritable chausse pied pour débuter en programmation !

Pour rendre tout cela le plus ludique possible, notre fil rouge sera la création d’un petit jeu consistant à guider un serpent, mangeant des fruits et devant éviter des obstacles (un classique, souvent appelé snake ou nibles). Ce programme construit étape par étape au fil des pages pourra utiliser un écran à led connecté à la Raspberry Pi mais également une solution alternative ne nécessitant aucun matériel spécifique. Que vous disposiez ou non d’un module d’affichage ne changera rien à votre apprentissage et vous pourrez progresser exactement de la même manière (en fait, vous n’avez même pas vraiment besoin d’une Pi, tout ceci est également applicable sur PC).

Ce numéro de 128 pages est disponible dès maintenant chez votre marchand de journaux ainsi que par correspondance sur notre boutique en ligne.

Au sommaire de ce numéro :

  • Jour 0 – Introduction
    • p.08 : Partez à la découverte de la programmation avec votre PI
  • Jour 1 – Créez un programme et apprenez à contrôler l’affichage
    • p.22 : Créez l’aire du jeu pour votre serpent avec ou sans module à leds !
  • Jour 2 – Donnez vie à votre code avec des boucles et des fonctions
    • p.48 : Faites faire ses premiers « pas » au serpent
  • Jour 3 – Faites interagir votre programme avec un utilisateur
    • p.70 : Contrôlez le serpent
  • Jour 4 – Ajoutez une logique interne et organisez votre code en un tout
    • p.84 : Le serpent a faim, et s’il mange… il grandit
  • Jour 5 – Étendez le fonctionnement de votre programme avec des fichiers
    • p.100 : Gérez les niveaux supplémentaires pour votre serpent
  • Bonus
    • p.114 : Allez plus loin avec votre serpent

Les codes sources inclus dans ce magazine sont disponibles sur GitHub ainsi que l’émulateur vous permettant de simuler l’écran à leds.

 

6 commentaires sur “Le second hors-série de Hackable est chez votre marchand de journaux !

  1. Je vais me permettre un révérence pour cet Hors Série qui surpasse tout.

    Un super boulot, pour un rendre accessible tout un tas de subtilité du python (bien que je le pratique depuis 2 ans, j’ai découvert des choses, et réappris différemment certaines notions.)

    Chapeau Bas ;) Décidément, les éditions Diamond ont plus d’un trésor dans leurs locaux :)

    • Merci merci !
      En fait, j’avoue, on a un élevage de rédacteurs/rédacteurs-en-chef transgéniques dans nos sous-sols, basé sur des technologies extra-terrestres. Mais chuuuuut, il faut la le dire ;)

  2. Hello super ce numéro !

    Je me demande si ces numéros le 1 comme le 2 seront disponible en version pdf ?

    Mais au fait pourquoi le python pour une raspberry pi et pas le C (comme pour un arduino )? Je me demande toujours pourquoi on a une telle pluralité de langages aux différences si subtiles, mais néanmoins bloquantes lorsqu’on ne les connaient pas?

    Cordialement.

    • J’ai quelques éléments de réponses :
      Raspberry et Arduino ne sont pas comparables en terme d’archi.

      Arduino est un environnement propulsé par un micro-contrôleur avec des ressources limités. Le code produit dans l’environnement arduino est traduit en language machine avant d’être écrit sur le micro-contrôleur qui l’executera sans jamais s’arrêter (sauf plantage).

      La conversion d’un langage compréhensible par un humain vers un language assembleur (langage machine), génère toujours un peu de déchet (code non optimisé). Partir du C qui est un langage bas niveau (moins d’abstraction qu’un langage haut niveau comme le python), génèrera moins de déchet.

      Sur Raspberry, un système d’exploitation est lancé avant exécution de tâches ou programmes. On peut utiliser de l’assembleur, du C (language compilé).. ou des langages interprétés comme le bash, perl, python.

      L’apprentissage du python est plus simple que le C car un certain nombre de mécanismes sont gérés pour nous. On peut se concentrer sur l’algorythme à produire, et non recoder une N-ième fois la roue.

      Le hors série numéro 40 de GNU Linux Mag (2009) est une très bonne introduction au langage Python, et tente de démonter qu’il est plus aisé de coder en python qu’en C.

      La fondation Raspberry Pi a du arriver à la même conclusion pour proposer sa carte comme un support pédagogique à l’apprentissage du python.

      On n’aurait pu proposer un HS sur comment coder en C sur raspberry, je suis convaincu que le listing en fin de magazine aurait été beaucoup plus long, et sans doute beaucoup plus indigeste. La durée de 7 jours pour prendre connaissance de tous les prérequis du C avant de commencer à coder n’aurait pas été suffisant.

    • Concernant le PDF, on réfléchi à l’option mais l’un des principaux intérêts du format actuel des HS est aussi son aspect solide, robuste, durable, façon « livre ». Aspect qui n’a pas vraiment de sens en PDF et rend sa mise en page peu compatible avec le format PDF/écran.

      Le HS sur la programmation sur Raspberry Pi met en avant l’utilisation de Python car c’est un langage plus accessible que le C sur cette plateforme et, de fait, le plus populaire pour s’initier à la programmation sur une Pi. Le C (C++ pour être plus précis) avec Arduino dissimule beaucoup de spécificités du langage et intègre un certain nombre de raccourcis, qui n’existent pas lorsqu’on programme en C sur une Pi ou un PC. Ce n’est pas tant que l’utilisation du langage est plus complexe mais plutôt le fait qu’il y a davantage de prérequis dans le cas du C qu’avec Python. Prérequis gérés en coulisse par l’environnement de développement Arduino.

      Utiliser une bibliothèque en C par exemple (une vraie, pas au sens Arduino du terme) implique de comprendre comment le processus de compilation fonctionne, ce que sont les bibliothèques statiques et dynamiques, comment marche l’éditeur de liens, comment écrire un Makefile pour simplifier la compilation… Essayez simplement d’écrire un programme pour votre Pi dialoguant en Bluetooth ou via le net (en wifi par exemple) avec un montage Arduino ou ESP8266. En Python c’est l’affaire de quelques lignes et de quelques minutes d’effort. En C c’est une toute autre histoire. C’est loin d’être impossible bien sûr, mais pour une personne découvrant la programmation c’est une tâche bien plus ardue.

      Il est possible de faire énormément de choses en C/C++, bien plus à mon sens qu’avec n’importe quel autre langage, mais avant d’arriver à quelque chose de « gratifiant », il y a davantage de travail et cela demande plus de motivation, de ténacité, etc. Lorsqu’on début en programmation, on est sur le fil de rasoir, chaque contrariété peut vous faire jeter l’éponge. Il est donc très important, pédagogiquement parlant, d’obtenir assez rapidement un résultat. Sur une plateforme comme la Raspberry Pi, ceci est bien plus aisé en Python qu’en C.

      Enfin, il est également très important de ne pas s’en tenir à un seul langage et de diversifier ses connaissances. Ce n’est pas forcément le C et Python, cela peut être également le shell Bash, Javascript, Lua, PHP, Java, Perl, etc. Il se trouve que concernant Arduino et Raspberry Pi, le C et Python sont les deux langages « naturellement » et populairement utilisés et donc ceux dans lesquelles de nombreux codes dont vous pouvez vous inspirer sont développés. Sans oublier que pour connaître son langage préféré, il faut avant tout en essayer plusieurs :)

      Accessibilité, pédagogie, popularité, diversité… voilà les raisons pour lesquelles nous avons « misé » sur Python pour ce premier hors-série d’initiation à la programmation sur Raspberry Pi.

      • Merci bien pour vos réponses. Je vais méditer à cela.

        Néanmoins, étant utilisateur du format pdf, je souligne mon grand attachement (écologique) à ce format. En outre, dans l’hackable 17 il y a du code qui traite de l’interrupt. Je me suis demande dans quel numéro cela avait été approché. Avec le format pdf il a été facile de fouiller les anciens numéros grâce à la fonction « recherche », mais je n’ai pas pu explorer le Hors-série numéro 1 car il n’existe qu’en papier …

        Cordialement.

Les commentaires sont fermés.