GNU/Linux Magazine Hors-série N°
Numéro
51

Hacks, électronique & embarqué

Temporalité
Novembre/Décembre 2010
Image v3
Hacks, électronique & embarqué
Article mis en avant

Résumé
Bien nombreux sont ceux qui utilisent des bases de données dans leurs applications, mais ne souhaitent pas mettre en place une vraie base de données telle que MySQL, PostGreSQL, etc. Les raisons sont souvent des questions de simplification de la configuration, d’installation, ainsi que le fait que l'on n’a pas besoin de toutes les fonctionnalités d’une vraie base de données (juste un stockage clés/valeurs, par exemple, et pas de base relationnelle). Une autre raison est pour le développement d’applications embarquées qui ont des ressources limitées, et donc, faire tourner un système de base de données est tout simplement impossible.

Dans ce numéro...


La Scratchbox est un environnement de build particulièrement adapté au développement d'applications pour du Linux embarqué. Cet environnement a été développé sous licence GPL par Lauri Leukkunen, principalement pour le projet Maemo de Nokia, la distribution Linux des plates-formes ARM N770 et suivantes. Une version 2 de la Scratchbox, sensiblement différente, est disponible, mais l'auteur ne la maintient pas, et elle ne sera plus évoquée dans cet article. La version 1.x est toujours maintenue par Lauri Leukkunen.
Quelques semaines à peine après l'annonce et la mise en vente de la tablette Apple, on a vu apparaître sur les sites d'enchères en ligne plusieurs clones chinois se vantant de fournir quasiment les mêmes fonctionnalités que l'iPad, à un tarif deux voire trois fois moindre. Ne résistant pas à la curiosité d'étudier la chose plus en détail, nous avons acquis deux exemplaires de ces clones pour analyser la bête.
Tout le monde sait ce qu'est un GPS ou du moins tout le monde croit le savoir. Pour le commun des mortels, il s'agit d'un périphérique permettant de savoir, tout simplement, où l'on se trouve et ainsi de retrouver son chemin. Le GPS, pour Global Positioning System, est en réalité bien plus qu'un équipement, mais un système complet. Son fonctionnement exploré sous GNU/Linux permet d'en révéler toute la beauté et la magie.
Bon, dans cet article, vous n'allez pas apprendre de magie et contrôler le miroir de votre salle de bain pour vous embellir dès le matin... Le « miroir » que nous allons étudier ici est le périphérique commercialisé par la société Violet (si le nom vous dit quelque chose, vous devez déjà connaître le Nabaztag). Au travers de cet article, nous n'allons pas uniquement voir l'aspect technique (ce périphérique restant simple à utiliser), mais aussi la manière d'aborder l'analyse d'un matériel non connu.
Les iPod Touch et iPhone sont probablement les systèmes embarqués les plus largement disponibles auprès du grand public. Bien que le qualificatif « embarqué » ne soit associé qu'à leur autonomie, faible encombrement et absence de ports de communication, la puissance de calcul est compatible avec celle nécessaire pour exécuter un environnement Un*x dans lequel un développeur sous GNU/Linux ou *BSD sera familier. Nous proposons dans cette présentation, après avoir libéré son iPod Touch de l'emprise de Cupertino, d'exploiter une chaîne de compilation croisée libre exploitant les bibliothèques propriétaires mais gratuites d’Apple, pour développer nos propres applications. Nous nous intéresserons en particulier à l'accès aux périphériques matériels, qu'il s'agisse d'une liaison Bluetooth pour communiquer par une liaison sans fil avec des périphériques tels que la brique LEGO NXT, ou des accéléromètres. Ces développements passent nécessairement par la maîtrise de l'Objective-C 2.0, dont nous démontrerons la fonctionnalité comme langage de développement sous GNU/Linux lors de l'exploitation du compilateur LLVM.
En C, const et volatile sont souvent considérés comme des sous-types de données, l'un étant l'opposé de l'autre. Ces deux affirmations sont parfaitement fausses. Il en découle en général une utilisation plus ou moins aléatoire aussi bien dans le développement userland, kernel ou pour des éléments comme des microcontrôleurs. Petite mise au point sur le rôle de ces gentilles bestioles.
Après avoir disséqué le langage VHDL, son implémentation par GHDL et l'extension graphique du numéro de septembre [1], passons à la pratique ! On en avait presque oublié que tous ces efforts pour accéder au framebuffer sont motivés par le besoin de Laura d'afficher confortablement les chiffres de sa montre. Maintenant que nous savons contrôler les pixels de l'écran lors d'une simulation, l'affichage est (quasiment) un jeu d'enfant ! Profitons-en pour découvrir de nouveaux aspects bien pratiques du langage VHDL, tout en faisant un peu de programmation graphique.
Lorsqu'on veut faire communiquer un ensemble d'applications, l'une des solutions les plus évidentes est celle consistant à utiliser un bus logiciel. Un très bon exemple d'implémentation est D-Bus, généralement en place sur la quasi-totalité des ordinateurs desktop GNU/Linux, qu'ils soient sous GNOME ou KDE. Mais D-Bus n'est pas toujours la solution idéale pour le développeur. Ici nous traiterons d'une implémentation reposant sur une API bien plus simple et plus rapide à utiliser. C'est Ivy.
Depuis maintenant un peu moins d'un an, Free offre la possibilité d'exécuter sur la Freebox des applications écrites en JavaScript utilisant les Enlightenment Foundation Libraries pour réaliser l'interface graphique.

Magazines précédents

Incontournable Python
GNU/Linux-Magazine Hors-série N°49
Incontournable Python
Voyage au centre de l'embarqué
GNU/Linux-Magazine Hors-série N°47
Voyage au centre de l'embarqué
Focus sur les outils pour mieux exploiter Linux
GNU/Linux-Magazine Hors-série N°46
Focus sur les outils pour mieux exploiter Linux

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

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

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

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

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

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

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

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

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Body