L'architecture en couches du réseau Internet

On connaît tous Internet. C’est le réseau informatique qui permet le transfert de données à l’échelle mondiale. Son ampleur est étourdissante avec environ 5 milliards d’utilisateurs, 200 millions de sites web actifs, 330 milliards d’emails envoyés par jour et 40 mille recherches sur Google chaque seconde. On y accède par divers moyens (Wi-Fi, fibre optique, le câble coaxial…), et à l’aide de divers appareils (ordinateurs, smartphones, montres connectées…).

Lire la suite

Colorer le texte du terminal : tput et séquences ANSI

Un terminal en noir sur blanc ou inversement, ce n’est ni très intéressant, ni très joli, ni très informatif. Heureusement, les émulateurs de terminal modernes offrent une variété d’options de formatage et de couleurs de texte et de fond. Il faut juste savoir les appliquer à l’aide des séquences d’échappement ANSI ou de la commande tput. Dans cet article, nous explorerons ces deux méthodes.

Lire la suite

Comment réussir sa piscine à 42

Il y a un an jour pour jour, je franchissais le seuil de l’école 42 à Paris pour la première fois. Je me jetais à l’eau pour tenter ma chance dans l’épreuve de la piscine. Ce mois d’apprentissage en informatique a été un véritable maelström aussi bien intellectuel qu’émotionnel. J’ai barboté tant bien que mal jusqu’à la ligne d’arrivée pour enfin me retrouver sélectionnée.

Lire la suite

La différence entre le terminal, la console et le shell

Quand on s’aventure dans le monde informatique, on rencontre souvent les termes “terminal”, “console” et “shell”, qui semblent être utilisés de façon plus ou moins interchangeable. Est-ce que c’est vraiment le cas ? Et sinon, quelle est la différence entre tous ces termes ?

Lire la suite

Pourquoi un blog est un outil indispensable du développeur

Dans la boite à outils virtuelle de tout développeur, il devrait y avoir au moins un éditeur de texte, un compte GitHub, et un blog. Être développeur, c’est bien plus que savoir coder. Il faut savoir apprendre et s’adapter aux nouvelles technologies, communiquer avec ses pairs pour expliquer des points obscurs, et structurer sa pensée pour pouvoir formuler des solutions. Il faut aussi avoir une présence en ligne et un réseau professionnel. Pour cela, un blog est un outil indispensable du développeur.

Lire la suite

Variables locales, globales et statiques en C

Une variable, c’est un nom qu’on donne à un lieu de stockage en mémoire que notre programme peut ensuite manipuler. On peut préciser sa taille et son type en fonction des valeurs qu’elle contiendra (char, int, long). Mais on peut aussi contrôler sa longévité et sa portée lors de sa déclaration. C’est pour cela qu’il nous faut savoir distinguer les variables locales des variables globales ou encore des variables statiques quand on programme en C.

Lire la suite

Binaire 010 : l'utilité des opérations bitwise et du bit shifting

Les ordinateurs ne connaissent qu’une seule langue : le binaire. Nos nombreux langages de programmation nous permettent de donner des instructions dans un format lisible par l’humain. Ces instructions seront ensuite traduites en longues séquences de 0 et de 1. Bien que ce niveau d’abstraction nous est indispensable, il est parfois utile voire bien plus efficace de manipuler les bits de façon directe, à l’aide du bit shifting (décalage de bit) et des opérations bitwise (opérations bit à bit).

Lire la suite

Binaire 001 : compter et calculer comme un ordinateur

Comme on le sait tous, un ordinateur ne connaît que deux choses: les 1 et les 0. Chaque lettre dans cette phrase, chaque couleur, chaque seconde d’une vidéo ou d’un morceau de musique, chaque page web, chaque programme n’est qu’une longue succession de 1 et de 0. C’est le binaire, et si l’on souhaite pouvoir communiquer efficacement avec ces machines en tant que programmeurs, il faut comprendre comment marche ce système de numération en base 2.

Lire la suite

Malloc : allouer de la mémoire en C

Dans les langages de programmation compilés comme le C, il est souvent intéressant voire nécessaire d’allouer de la mémoire de façon dynamique sur le tas, pour accommoder des variables de grande taille ou de taille incertaine. C’est la fonction malloc qui nous permet de demander au système d’exploitation d’allouer une zone de mémoire à utiliser dans notre programme.

Lire la suite