9,70 € TTC
p. 06 Kanban : créer une Google Drive App
p. 22 Authentification sans mot de passe : est-ce que Woofy va bien ?
p. 34 Une VM OpenBSD pour se rassurer dans la création de ports
p. 42 Outil en ligne de commande : pourquoi pas l'assembleur ?
p. 48 Au-delà de la fonction : libérez tout le potentiel de la pile de contrôle !
p. 77 Les codes fantastiques : une fonction symbolique
p. 78 Utiliser Mutt avec OAuth 2.0
Noël approche !
Certes, je suis un peu en avance, mais j’ai deux bonnes raisons. La première, c’est qu’en étant bimestriel, un édito d’un numéro novembre/décembre a forcément une certaine latitude temporelle. La seconde concerne ce dont je veux vous parler, qui, bien que lié à la célébration de la lente agonie de pauvres conifères, débute le 1er décembre : un calendrier de l’avent.
Plus exactement, un calendrier qui n’implique pas d’ingurgiter quotidiennement des nutriments hypercaloriques, je parle du fantastique Advent of Code de Eric Wastl [1]. Ceci est à la fois une occasion amusante de gagner des compétences de programmation en résolvant de petits puzzles et un concours de programmation annuel, existant depuis 2015.
Le principe est simple, dès le 1er décembre, un premier challenge sur le thème de Noël est proposé. Celui-ci se présente sous la forme d’un texte explicatif (anglais) et d’un jeu de données avec un problème à régler (pour aider les elfes). Fournissez la réponse produite par votre code (peu importe le langage utilisé) et vous décrochez une étoile, tout en débloquant la seconde partie du puzzle du jour : même problématique, mais avec des données différentes, plus épineuses, pour gagner une seconde étoile. Le lendemain, nouveau problème, et ainsi de suite jusqu’au 25...
Ce n’est pas tout. Un classement est également établi, avec un cumul de points (leaderboard) dépendants de votre rapidité à résoudre un puzzle et à obtenir une étoile (100 points pour le premier, 99 pour le second, 98 pour le suivant, etc.). Tout le monde n’a pas pour but d’apparaître dans ce classement (top 100), mais c’est un défi supplémentaire intéressant et une bonne manière de montrer son expertise.
Voilà. Je voulais donner un petit coup de projecteur à cette initiative, ouverte à tous, et qui, je l’espère, égayera votre mois de décembre. Joyeux Noël et bonne année à vous !
Denis Bodor
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
Le but de cet article est de mettre en place un protocole d’échange de défi chiffré via OpenPGP pour éviter d’avoir à transmettre le mot de passe d’un utilisateur dans une application web.
Contribuer à des projets open source signifie implicitement rejoindre une communauté de développeurs et communiquer de façon efficace via l'infrastructure prédatant votre subite envie d'apporter votre pierre à l'édifice. Certains projets optent ou migrent vers des choses comme GitHub, Slack, Discord, et d'autres préfèrent raisonnablement rester sur Git, CVS, phpBB, Trac et surtout des listes de diffusion. Et qui dit « listes de diffusion » dit forcément « utiliser un MUA » (Mail User Agent) digne de ce nom, comme Mutt (ou NeoMutt) ». Seulement voilà, quand votre fournisseur de services de messagerie électronique impose des restrictions, c'est le drame !
Le C est sur la sellette ces derniers temps, car, voyez-vous, c'est un langage peu sûr, qui laisse faire tout et n'importe quoi au programmeur. Et comme on ne peut pas faire confiance aux programmeurs pour s'occuper proprement de la mémoire qui leur est gracieusement confiée, il est important de promptement leur confisquer ce langage dangereux, permissif, et disons-le franchement, totalement maléfique. Si, si ! J'adhère totalement à cette vision et, moi aussi, je vais changer de langage préféré pour assurer ma sécurité, protéger les chatons et sauver les petits enfants. Au revoir le méchant C, bonjour le gentil assembleur !