7,90 € TTC
p.06 Petite leçon fictive de social engineering
p.12 Le code Phase-Out : l’autre code binaire tronqué
p.34 Un système de fichiers haute disponibilité avec GlusterFS !
p.32 Mise en place d’une IP virtuelle avec Corosync et Pacemaker
p.36 InfluxDB, Grafana et Glances, le monitoring qui brille
p.46 Présentation et utilisation de la carte STEVAL-3DP001 pour le pilotage des imprimantes 3D
p.58 Vous donnez des rendez-vous et on vous oublie ? Envoyez automatiquement des SMS de rappel !
p.74 Réaliser une API REST avec Go
p.82 Démystifier l’injection de dépendances en PHP
p.92 La trilogie du reverse engineering
Python, on aime ou on n'aime pas, mais le langage ne laisse pas indifférent. Il y a les fans, ceux qui ne jurent que par ce langage et qui vont jusqu'à l'extrémisme en oubliant tous les autres langages qui ne sont pas pour autant à jeter à la poubelle et il y a les opposants farouches, eux aussi sombrant souvent dans l'extrémisme et dénigrant un « pseudo-langage » qui n'est même pas compilé et qui envahit de plus en plus les magazines et les articles sur le net.
Python n'est certes pas compilé, mais il permet de développer rapidement, sans se préoccuper de la gestion de la mémoire. D'un autre côté, suivant les développements, son aspect de langage semi-interprété est pénalisant, car entraînant un gaspillage de mémoire et une lenteur des programmes. Alors, puisque nous ne pourrons départager les « pros » des « antis », essayons de comprendre avec les outils qui sont à notre disposition pourquoi on parle tant de Python. Utilisons par exemple les tendances de questions sur StackOverflow :
On peut constater que Python vient de dépasser Java et n'est plus devancé que par JavaScript. Ceci s'explique par le nombre de sites web contenant du JavaScript, mais montre que malgré les développements d'applications Android en Java, les questions sont plus nombreuses sur Python. Les mauvaises langues pourront bien sûr arguer du fait que s'il y a beaucoup de questions, c'est que le langage n'est pas clair… passons et retenons seulement la croissance imbattable sur les deux dernières années.
Pour confirmer cela, penchons-nous sur d'autres données. Sur Google Trends, les recherches comme « python » ou « java » sont parasitées par d'autres significations que des langages de programmation, mais le projet PYPL (PopularitY of Programming Language sur http://pypl.github.io/PYPL.html) l'utilise néanmoins en se basant sur les recherches de tutoriels. Je vous invite à consulter le site et à utiliser les langages qui vous intéressent, pour moi ce seront les mêmes que les précédents.
Cette fois Python ne dépasse pas Java, mais sa croissance de 9,5 % sur les dix dernières années est là encore remarquable et l'étude des données fournies par GitHub (http://githut.info/) fournira là encore la même tendance.
Ces informations montrent donc qu'il y a un engouement de plus en plus fort pour ce langage et qu'on le veuille ou non, il faudra le connaître un minimum pour comprendre, pouvoir interagir avec les futurs développements. Donc oui, Python est de plus en plus utilisé, et vous découvrirez même dans ce numéro comment vous en servir pour envoyer/recevoir des SMS, interagir avec Google Calendar et mettre en place une authentification deux facteurs, mais dans GNU/Linux Magazine nous n'en oublions pas pour autant les autres langages et vous pourrez ainsi trouver par exemple dans ce numéro également du C et du Go (oui, le bon dernier de toutes les tendances si l'on ne tient pas compte des langages « exotiques »).
Surtout, n'oubliez pas que ce n'est pas parce qu’un langage est populaire qu'il est le meilleur. Le meilleur langage est celui le plus adapté à la tâche que vous devez réaliser ! Sur ce, bonne lecture !
Tristan Colombo
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...
Lorsque l'on prend régulièrement des rendez-vous, il arrive que parfois les gens vous oublient... et quand on a peu de temps, c'est assez pénible ! Pourquoi donc ne pas mettre en place une solution envoyant automatiquement un SMS pour être sûr que votre rendez-vous sera honoré ? Nous profiterons de l'utilisation des SMS pour voir également comment mettre en place un système d'authentification deux facteurs.
La compression est cet art fascinant de représenter les informations avec le moins de bits possible. Une des premières façons de compresser des données est d'éviter de gaspiller de la place à cause de représentations redondantes ou inutiles. Les codes binaires classiques sous-utilisent souvent l'espace de codage occupé, alors que les techniques de codage efficaces augmentent considérablement la complexité du code. Nous allons étudier un compromis, appelé Code Binaire Tronqué, et plus particulièrement une version peu connue : les codes phase-out.