Mars / Mars 2020

GNU/Linux Magazine 235

Crypto & Python :

Explorez Enigma !

En savoir plus

8,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
GNU/Linux Magazine 272

GNU/Linux Magazine 272

Novembre / Décembre 2024
9,90 €
GNU/Linux Magazine 271

GNU/Linux Magazine 271

Septembre / Octobre 2024
9,90 €
GNU/Linux Magazine 270

GNU/Linux Magazine 270

Juillet / Août 2024
9,90 €
GNU/Linux Magazine 269
9,90 €
GNU/Linux Magazine 268

GNU/Linux Magazine 268

Mars / Avril 2024
9,90 €
GNU/Linux Magazine 267

GNU/Linux Magazine 267

Janvier / Février 2024
9,90 €
GNU/Linux Magazine 266

GNU/Linux Magazine 266

Novembre / Décembre 2023
9,90 €
GNU/Linux Magazine 265

GNU/Linux Magazine 265

Septembre / Octobre 2023
9,90 €
SOMMAIRE :

Actus & Humeur

p. 06 Hyper terminal : mais pourquoi vouloir changer de terminal ?

IA, Robotique & Science

p. 10 Et si on déchiffrait la machine Enigma...
p. 19 Simulation de machine Enigma : des pistes pour une version objet

Outils & Système

p. 26 Quels outils pour le développeur ?

Kernel & Bas Niveau

p. 38 Les arbres binaires équilibrés en C

Hack & Bidouille

p. 53 Interaction avec Google Calendar depuis un script Bash

Mobile & Web

p. 64 Apprendre à développer sous Android - partie 1 : afficher et interagir avec une image

Sécurité & Vulnérabilité

p. 74 Tomoyo, le contrôle d’accès facile

éDITO :

L'autre jour, au restaurant, j'étais attablé derrière une table de développeurs. J'étais donc incognito, et c'est alors que d'une oreille distraite je pus les entendre fustiger les choix patronaux d'employer des développeurs indiens. Et là je me dis : tiens, voilà un bon sujet d'édito ! En effet, cela fait déjà quelque temps que le développeur indien sévit sur nos terres... mais que lui reproche-t-on au juste ?

Depuis quelques années l’Inde est devenue une sorte de Géant de la sous-traitance informatique mondiale. Avec des salaires particulièrement bas, l’offre indienne est particulièrement attractive… mais à quel prix ? Le développeur indien étant vu comme un développeur low cost, on pourrait supposer qu'il doit nécessairement être moins bon que le développeur européen (français en l’occurrence), ne pas respecter les conventions de codage, ne pas écrire de commentaire, ni même de test unitaire, etc. C’est en tout cas ce que j’ai entendu, n'ayant jamais eu à collaborer avec de tels développeurs.

Pourtant, si l’on réfléchit quelques instants, qu’est-ce qui pourrait différencier le développeur français du développeur indien ? Même si les formations ne sont sans doute pas équivalentes, les fondamentaux restent les mêmes et « ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément » (Nicolas Boileau) ! Cet extrait de « L'Art poétique » expliquant comment bien écrire en français peut être transposé dans notre domaine en « ce que l'on conçoit bien s'énonce clairement, et le code pour l'écrire arrive aisément ». C'est d'ailleurs la base de la méthodologie de débogage dite du Rubber Duck ; j'ai découvert son nom à la rédaction de cet éditorial, je l'ai toujours appelée méthode du Teddy Bear : expliquez votre problème à un ours en peluche (ou tout autre objet inanimé) et la solution vous apparaîtra comme par miracle (pas toujours, mais souvent). Or donc, si le problème est énoncé clairement, quel que soit le développeur (bon ou mauvais), il produira toujours un meilleur résultat que si le projet reste flou. Donc pour un développeur français ou indien d'un niveau faible - comprendre incapables de prendre une initiative en termes de programmation - sans structuration claire des tâches à effectuer il sera utopique d'espérer un code convenable.

Si, comme chez nous, il y a de mauvais développeurs indiens, comme chez nous, il doit nécessairement y en avoir des bons... Il y a fort à parier que tout comme pour les bons développeurs français il faudra les payer correctement sous peine de les voir s’envoler vers d’autres cieux et que ce ne sont donc pas eux les fameux « développeurs indiens » dénigrés par les développeurs de la table voisine.

Où se situe alors le problème puisque finalement les profils sont équivalents ? Le problème est qu’il y a de plus en plus de besoins de développeurs, mais pas nécessairement de candidats ayant le bon profil ou de proposition salariale en adéquation avec les attentes du poste et qu’à choisir entre un mauvais développeur payé en France et un mauvais développeur payé en Inde, économiquement parlant le calcul sera vite fait. Il faut donc continuer à apprendre et à s'améliorer.

Dans GNU/Linux Magazine, nous continuons à penser qu’il faut comprendre comment fonctionnent les choses pour pouvoir les coder. Ce mois-ci avec l’exemple du simulateur d’une machine Enigma nous le montrons encore, alors bonne lecture et n’oubliez qu’au final nous sommes tous le « développeur indien » de quelqu’un…

Tristan Colombo

Le magazine de référence technique pour les développeurs sur systèmes open source et les ingénieurs R&D !

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...

Et si on déchiffrait la machine Enigma...
GNU/Linux Magazine n°235

La machine Enigma fut utilisée par les Allemands, pendant la Seconde Guerre mondiale, pour chiffrer des messages secrets. Alan Turing est connu pour avoir fortement contribué à la compréhension du fonctionnement du chiffrement de cette machine. Dans cet article, je vais présenter le modèle M3 de la machine Enigma et proposer une simulation de cette machine utilisant le langage Python.

Apprendre à développer sous Android - partie 1 : afficher et interagir avec une image
GNU/Linux Magazine n°235

Au fil de trois articles, je vous propose d'apprendre à développer sous Android en nous attelant à la création d'un jeu. Pour cela, nous utiliserons l’environnement fourni par Google, l'Android Studio.

Les arbres binaires équilibrés en C
GNU/Linux Magazine n°235

Nous allons dans cet article revenir sur une structure de données très importante en informatique : les arbres binaires. Après quelques rappels sur l’ordre des algorithmes, les algorithmes de tri, les algorithmes de recherche d’éléments et le rééquilibrage des arbres, nous examinerons le code d’une implémentation en C d’une gestion d’arbres binaires équilibrés.

Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2024 - LES EDITIONS DIAMOND