GNU/Linux Magazine N°
Numéro
235
Développement sur systèmes open source

Temporalité
Mars 2020
Image v3
Explorez Enigma !
Article mis en avant

Résumé

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.

Dans ce numéro...


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 ?
Le terminal est un élément du système qui n'évolue pas. À quand remonte la dernière mise à jour de votre terminal apportant de nouvelles fonctionnalités ? On peut bien entendu légitimement se poser la question de l'intérêt de nouvelles fonctionnalités, mais quoi de mieux que de tester un terminal « nouvelle génération » pour être certain que notre bon vieux terminal a encore de belles années devant lui ?
Après avoir vu comment implémenter un simulateur de machine Enigma en programmation impérative [1], je vous propose d'étudier des pistes pour parvenir à une version orientée objet.
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.
Pour interagir avec Google Calendar, il y a bien entendu l'API fournie par Google. Mais tout le monde ne maîtrise pas nécessairement les langages supportés ou n'a simplement pas le temps de se lancer dans un développement un peu long. Dans cet article, je vous propose de réaliser rapidement un petit script Bash interrogeant un agenda Google.
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.
Si le code est la matière première de tout développeur, il utilise aussi de nombreux outils pour travailler celle-ci. Comme tout artisan ou technicien, c’est souvent la bonne connaissance ainsi que la bonne maîtrise de ces outils qui vont lui permettre de non seulement effectuer son travail avec efficacité et de manière confortable, mais aussi parfois d’accomplir de véritables exploits, qui auraient été humainement impossibles sans l’outillage approprié. Faisons donc ici l’inventaire de ces outils, et du rôle que chacun joue dans le quotidien d’un développeur.
Par un contrôle fin des accès aux fichiers, les logiciels de type Mandatory Access Control (MAC) permettent de lutter efficacement contre le piratage et le vol de données. Tomoyo-linux propose une alternative simple d’utilisation à SELinux.

Magazines précédents

Les derniers contenus premiums