GNU/Linux Magazine N°
Numéro
156

Jouons avec le C !

Temporalité
Janvier 2013
Article mis en avant

Résumé
La dernière fois, nous avons décortiqué l'une des toute premières entrées de l'ioccc, avec un code datant de 1984. Aujourd'hui, nous allons étudier un bout de code nettement plus récent puisqu'il date de 2011, même s'il s'inspire d'une démo datant de l'Amiga (1986 ou 1987) !Rappelons que le but de cette rubrique est de rendre lisible un programme qui a pourtant été écrit de manière à être difficile à lire. Pour ce faire, nous allons petit à petit transformer un code source en un code équivalent, mais de plus en plus facile à déchiffrer.

Dans ce numéro...


J'adore ce numéro ! En premier lieu, si vous lisez ceci, c'est que vous faites partie de la résist^W^W^W^W^W le jour du jugement dernier^W^W^W^W^W la fin du monde n'a pas eu lieu comme l'avait soi-disant prévu une civilisation qui n'a pas vu arriver les conquistadors.
Bon, pour la métrique, vous ne pouvez pas vous passer de cacti mais une fonctionnalité vous manque et vous n'avez ni le courage ni l'envie de migrer sur un autre outil. Vous sentez bien que quelques heures de prise de tête en PHP vous donneraient satisfaction. Mais comment intégrer ce code dans cacti et bénéficier de son environnement de travail ? Aucun problème, nous allons voir comment ajouter notre développement maison sous forme de plugin dans notre logiciel de métrique favori.
#monitoringsucks : à l'heure actuelle, le monitoring ça craint [MONITORINGSUCKS]. Nagios, Cacti, Munin et consorts datent d'une autre époque. Il est temps de repenser la manière de surveiller nos matériels et applicatifs, et de découvrir les nouveaux outils qui répondent aux exigences de fonctionnement du Cloud.
Tournons une nouvelle page dans cette série relative à l'architecture d'Android avec la découverte d'un composant clé : la gestion de la connectivité réseau.
Face à des contraintes de vitesse toujours plus élevées (notamment avec l'arrivée des smartphones) et des interfaces client toujours plus riches (pratiquement 100 000 caractères pour la version « minifiée » du framework JavaScript jQuery), plusieurs techniques permettent de nettement améliorer la vitesse de chargement des pages web.
Dans un article précédent, nous avons considéré la programmation d'une application pour systèmes Android en pur C++, ce qui s'était révélé, disons, insatisfaisant. Aujourd'hui, nous allons voir comment obtenir quelque chose de bien plus gratifiant, en nous appuyant ni plus ni moins sur la bibliothèque C++ Qt4 – et sans écrire une ligne de Java ni invoquer explicitement le JNI.
À l'heure ou plusieurs distributions GNU/Linux sont sur le point de complexifier de façon irrémédiable (d'aucuns diront aberrante) leur processus d'amorce, les systèmes dérivés de BSD UNIX articulent leur mécanisme d'initialisation autour d'une cascade de scripts logiques, lisibles et contrôlables à souhait. Bien loin des usines à gaz que l'on voit germer de-ci [1] et de-là [2], rc(8) tel que nous le connaissons prend ses racines dans 4.0BSD (1980), et est devenu à travers les âges une machinerie bien huilée, devenu « rcNG » sous l'impulsion du Projet NetBSD.
On parle beaucoup de la carte Raspberry Pi, mais alors qu'il est encore relativement difficile de s'en procurer un exemplaire, tout ce qu'on peut lire de-ci de-là n'est parfois que pure supposition ou, au mieux, une reprise parfois mal interprétée d'informations officielles très évasives. Faisons le point sur ce qu'est et surtout, ce que n'est pas la carte Raspberry Pi.
Le 24 octobre dernier, le site Hack a Day relayait une information sous la forme d'un billet titrant « Rasperry Pi: Now mostly open source » affirmant « With this release, the drivers are open source, allowing the devs behind the Android, Chromium, Haiku, *BSD, and the RISC OS to dig deep into the Broadcom drivers and get their projects working. ».
Les serveurs de stockage externe, ou NAS (« Network Attached Storage ») sont devenus une partie importante des réseaux personnels et des petites entreprises. Les innovations matérielles et logicielles permettent une utilisation toujours plus simple et intuitive. Mais il faut parfois torturer ces petits boîtiers si l'on veut seulement profiter des fonctions de base : sauvegarde et confidentialité.

Magazines précédents

GNU/Linux-Magazine N°155
Administrer MySQL
GNU/Linux-Magazine N°154
DNS/Bind démystifié !
GNU/Linux-Magazine N°152
Protégez vos applications web
GNU/Linux-Magazine N°151
Installez votre groupware Kolab
GNU/Linux-Magazine N°150
Créez votre VPN avec OpenVPN

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body