Monday, 29 June 2020
|
Écrit par
Grégory Soutadé

English translation below

Pour les 10 ans du blog, j'organise un grand jeu concours ! Pour participer, rien de plus simple : envoyer un email sur cette adresse avec pour objet "Opération Narcisse". Une seule participation par personne est autorisée, mais les emails chiffrés en GPG compteront double. Une confirmation sera renvoyée dans les 48h. Si ce n'est pas le cas, il faudra réitérer la procédure. Le gagnant sera tiré au sort le dimanche 2 août 2020. Tout le monde aime les jeux concours, mais qu'est-ce-que l'on gagne ? Eh bien, n'ayons pas peur de faire les choses en grand (ce sont les 10 ans quand même) : le gros lot est un déjeuner avec moi au restaurant La cuisine de Morgane (hors boissons). Je sais, c'est un cadeau empoisonné... L'offre est valable 1 an. Pour les personnes n'habitants pas les Alpes-Maritîmes, j'ai prévu (à minima) un séjour dans les Hautes-Alpes et un autre dans le Tarn. Nos amis Italiens ne sont pas en reste puisque je devrais me rendre également à Turin. Selon la participation, les 2e et 3e (ou plus) se verront offrir une consommation dans un bar ou salon de thé. Au delà de l'aspect loterie, j'ai trouvé l'idée amusante de pouvoir rencontrer et échanger avec mes (éventuels) lecteurs.

For my blog's birthday (10 years now) I organize a lottery game ! To take part in, you just have to send an email to my email address with subject "Opération Narcisse". Only one participation per person is allowed, but GPG encrypted emails will have double chance. A confirmation email will be sent back within 48 hours. If not, try again. The winner will be picked up on Sunday 2 of august 2020. Everybody like lottery, but what is the main prize ? Lets make things bigger (this blog has 10 years !). You can win a lunch with me at the restaurant La cuisine de Morgane (without drinks). I know, it's a poisoned chalice... Offer is valid for one year. For people not living in Alpes-Maritîmes (France), I have to go (at least) one time in Hautes-Alpes department and one time in Tarn department. For our Italian friends, I shall go to Turin. Depending on participation, 2nd and 3rd (or more) can win a drink in a bar or a bakery. More than prize interest, I found funny the idea to meet and exchange with my (potential) readers.

Monday, 15 June 2020
|
Écrit par
Grégory Soutadé

ClearFog base board

For a project, I need to run java on an ARMv7 core. I could have used my Cubox server, but I don't have enough memory to run web services & java in parallel. Fortunately, I could find a SolidRun ClearFog Base board. This board is mainly network focused and only have an old dual Cortex A9 with 1GB of memory which is quick reached by today web applications, but it should be okay with a single one (I hope).

SolidRun provides documentation & ready to use OS (Debian FreeBSD, Yocto, OpenWRT), so board start should take less than one half hour. Nevertheless, documentation is split in multiple files, and there is no step by step guide. Moreover, Debian images seems crafted (we can't read main ext4 partition). After 2 hours of fails I started to turn crazy ! Here is my step by step tutorial.

The goal is to install Debian on an 8GB SDCard

1) Get an 8GB SDCard and delete all partitions thanks to gparted (or fdisk).

2) Within gparted create an ext4 partition that starts at 4MB with 8GB length

3) Download target Debian images from SolidRun resources. You should take .tar.xz file which is a compressed tar file of root filesystem.

4) Go to SDCard main partition and extract data from Debian image (using sudo)

cd /media/soutade/UUID/
sudo tar -Jxvf ~/clearfog/sr-a38x-debian-buster-20200218.tar.xz
sync

5) Update fstab with your new SDCard UUID

sudo emacs etc/fstab

6) Download U-Boot for base-sdhc variant

7) Burn it to SDCard at address 512 (first sector). We assume SDCard is /dev/sdb (check it before applying this command)

sudo dd if=u-boot-clearfog-base-sdhc.kwb of=/dev/sdb1 seek=1 bs=512
sync

8) Configure ClearFog switches to start using SDcard (Off Off On On On)

9) Insert SDCard into the board, connect serial line USB to your computer

10) Power up the board and start serial line screen

sudo screen -L /dev/ttyUSB0 115200

11) Stop U-Boot process by hit a key

12) Setup kernel bootargs. Here we setup root filesystem read/write at startup, but it should be re mounted rw by fstab. Only root argument is mandatory

setenv bootargs root=/dev/mmcblk0p1 rw
env save
boot

The board should now start with a fresh Debian ! I suggest to connect within SSH which is more comfortable to use than serial line console. Login/password is debian:debian.

Have fun !

Friday, 05 June 2020
|
Écrit par
Grégory Soutadé

Logo Neotion

Cette année 2020 est décidément extraordinaire. Nous pouvons même parler de révolution, au sens politique du terme, tant il y a eu de changements depuis le 1er janvier, mais également d'un point de vue physique, à savoir le retour au point de départ, la fin d'un cycle et le début d'un autre. Dix ans, c'est court et long à la fois. Long quand on jette un coup d'oeil en arrière et que l'on s'aperçoit du chemin parcouru, le monde qui a changé, certaines rides qui sont apparues, et pourtant tellement court au jour le jour, quand on est plongé dans ses activités quotidiennes, dans le rythme très homogène des semaines, seulement ponctuées ça et là de congés. Dix ans, dans notre système décimal, c'est un marqueur fort, synonyme d'un jalon.

Il y a dix ans (bientôt onze au moment où j'écris ces lignes), je faisais mes premiers pas dans la "vie active" après une courte semaine de repos suivant mon oral de stage, dernière épreuve de mon cursus d'ingénieur. Un CDI signé un peu plus tôt afin d'intégrer l'équipe de Sophia-Antipolis, composée d'alors de 9 personnes, dans une société inconnue du grand public : Neotion. Je n'avais pas de plan de carrière, pas d'idées claires sur les tâches que j'aurai à accomplir, mais il fallait bien commencer quelque part et cette opportunité semblait taillé sur mesure.

La taille réduite de l'entreprise (<100 personnes), plus encore celle du site de Sophia, la relative stabilité de l'équipe durant toutes ces années, a forcément fait de Neotion une seconde famille, avec des affinités plus ou moins importantes, des bons et des mauvais moments, des réussites, des échecs.

Qu'en est-il aujourd'hui ? Pourquoi est-ce que cet article n'est pas sorti il y a de cela plusieurs mois ? Parce qu'aujourd'hui c'est le clap de fin. La direction régionale des entreprises, de la concurrence, de la consommation, du travail et de l'emploi (DIRECCTE pour les intimes) vient de valider le plan de sauvegarde de l'emploi proposé par la direction en accord avec les membres du CSE. Plan qui permet, d'une part, un accompagnement d'une partie des salariés vers un retour (on l'espère) rapide à un nouvel emploi et, d'autre part, de restructurer l'entreprise afin que celle-ci puisse continuer son activité de manière rentable.

Certaines personnes peuvent être amères quant à la décision de déclencher un plan social. Avoir le sentiment qu'on leur ôte un acquis. J'ai, personnellement, une vision plus pragmatique des choses. Une entreprise a un comportement proche des êtres vivants : elle naît, elle grandit, elle se transforme, elle explore de nouveaux territoires, parfois revient en arrière. En temps de disette prolongé, il est malheureusement nécessaire de tailler le surplus pour survivre et mieux repartir. Depuis que j'y suis entré, et outre quelques rares exceptions, le bilan annuel est négatif de plusieurs millions d'euros. Sans le support de notre actionnaire pendant toutes ces années le dépôt de bilan aurait été acté depuis bien longtemps.

Dans l'imaginaire collectif, un actionnaire est un individu ou un groupe opaque qui tire les bénéfices du fruit du travail d'autrui sans avoir à faire d'effort. C'est une vision caricaturale qui s'applique principalement aux grands groupes internationaux. La réalité est plus nuancée. Un actionnaire est avant tout quelqu'un qui possède des parts dans une entreprise, ce qui lui offre éventuellement un droit de vote lors des conseils d'administrations ainsi que l'obtention (toujours éventuelle) de dividendes. À ce titre, la très grande majorité des dirigeants d'entreprise sont des actionnaires (majoritaires voire unique). Pas seulement celles du CAC40, il s'agit également du patron du kebab du coin qui a monté sa SARL. On l'oublie trop souvent, mais le monde de l’entreprenariat est un monde de risque, le fameux risque de perte en capital. C'est le cas de notre actionnaire. Son investissement lui a, certes, permis d'accéder à des produits et des technologies de pointe, mais il lui a surtout coûté énormément. Plus que s'il avait fait de la simple sous-traitance externe. Ce n'est pas un actionnaire lointain et anonyme, uniquement intéressé par les dividendes. Il s'est réellement impliqué (pour le meilleur et pour le pire) dans la vie de l'entreprise.

Alors, qui est responsable de la situation actuelle de Neotion ? Si, au même titre que le poste d'actionnaire, on considère que celui de la direction ne consiste qu'à récupérer un gros salaire en échange de quelques ordres autoritaires, on oublie que la responsabilité du succès ou de l'échec d'une entreprise (donc d'un projet entrepris) repose sur les épaules du comité de direction (au sens large). Le responsable est tout trouvé, il s'agit de l'actuel président directeur général. Il est responsable de ne pas avoir pris les bonnes décisions au bon moment. C'est une responsabilité qu'il doit endosser, quel que soit le bilan ou la structure de l'entreprise mise en place par ses prédécesseurs (s'il y en a).

Le rôle du chef d'entreprise m'a toujours fasciné. Car, un vrai bon chef d'entreprise est comme un musicien, le travail ne suffit pas, il faut également du talent. Ce petit quelque chose inné qui va faire la différence. C'est un rôle aux multiples facettes mais qui nécessite avant tout d'être visionnaire. Il ne s'agit pas d'imaginer un produit extraordinaire auquel personne n'avait pensé, mais plutôt d'aller dans une direction qui va permettre d'assurer la viabilité de l'entreprise : trouver le bon marché, de préférence pour produire/créer quelque chose d'utile. Il doit savoir tenir un cap, mais aussi en changer. Il doit savoir gérer les personnes avec qui il travaille, d'un point de vue juridique et humain, savoir gérer les finances et la trésorerie, bien connaître les principes comptables et fiscaux en France et/ou à l'étranger. Pour ne pas mettre l'entreprise en difficulté, il doit négocier correctement ses contrats avec ses fournisseurs et ses clients. Il doit entretenir de bonnes relations avec ses partenaires. Au delà de l'aspect politique, son charisme lui permet de motiver son entourage proche et plus lointain pour la réalisation dans les meilleures conditions possibles de son entreprise. Il doit savoir écouter, comprendre, trancher tout en étant souple et ouvert. Il est réactif, il apprend rapidement de ses erreurs et en tire les bonnes leçons.

Les personnes qui répondent à toutes ces qualités n'existent pas. Ce qui va faire la différence entre un bon et un mauvais chef d'entreprise, c'est sa capacité à bien s'entourer. À trouver des profils complémentaires pour atteindre l'objectif commun. Ceci est vrai quel que soit le niveau hiérarchique : il faut trouver toutes les pièces complémentaires pour que chaque rouage puisse être utilisé au maximum de son potentiel. Il ne s'agit pas d'exploiter les personnes mais plutôt de les mettre dans les meilleures conditions selon leurs capacités et leurs aspirations.

Force est de constater que les directions successives ont échouées dans la transformation de Neotion. L'entreprise, malgré ses tentatives ratées de diversification, s'est ankylosée dans un marché en déclin et n'a pas su s'adapter, ni en se renouvelant, ni en optimisant sa structure de coûts pour assurer sa pérennité alors que la pression concurrentielle n'a cessé de croître au fil des années. On pourra également leur reprocher de ne pas avoir su correctement utiliser tout le talent des personnes qui étaient sous leur ordre, notamment à Sophia-Antipolis, dans le monde si particulier des ASIC. Les guéguerres politique internes et le marketing stérile l'aura emporté sur l'Innovation Attitude.

C'est donc avec une pointe de tristesse et de nostalgie que l'aventure se termine. J'ai un petit pincement au cœur à l'idée de quitter ce cocon confortable que j'ai occupé durant toutes ces années. Il faut dire que les conditions de travail étaient excellentes et nous permettaient de réaliser de grandes choses malgré la taille de l'équipe. Pour autant je n'en retiendrai que des bonnes choses, les gens que j'ai croisé, tout ce que j'ai pu apprendre, la vue imprenable sur le Mercantour enneigé en hiver, les lever de soleil sur la Méditerranée. Car ce n'est pas le point final qui compte, mais bel et bien le chemin parcouru.

Mon bureau

Tuesday, 02 June 2020
|
Écrit par
Grégory Soutadé

Profitons de ce lundi de Pentecôte pour s'aérer un peu ! Il faut dire qu'entre le confinement et le mauvais temps, il ne fut pas évident de trouver des créneaux, surtout que l'été et ses grosses chaleurs pointe le bout de son nez. La randonnée présentée ici a été faite "à la main" sur un coup de tête et n'est pas optimale. Le mieux étant sûrement de suivre l'itinéraire proposé par Randoxygène qui utilise une partie du circuit du Malvan. Le ciel voilé de ce lundi et les photos qui en découlent ne rendent pas hommage aux paysages que l'on peut admirer une fois sur place. Il permet, à défaut, de ne pas souffrir de la chaleur (même si les Alpes-Maritimes bénéficient malgré tout de températures de saison).

Le départ se situe sur le parking de Tourrettes-sur-Loup. Après avoir contourné l'école, il faut suivre la route de Canorgues jusqu'à rejoindre la route du Caire. Il s'agit d'une route goudronnée à forte déclivité. Son intérêt est assez faible, mis à part qu'il soit ombragé.

Cette entrée en matière permet d'apprécier les fleurs printanières.

Le ranch se situe à mi-chemin.

Le ranch

Au bout de la route, le Mas de la source. On attaque enfin la partie intéressante de la randonnée en suivant le chemin de Saint-Barnabé (caché derrière les villas).

Départ du chemin de Saint Barnabé

Il est très bien entretenu et propose un dénivelé moindre. Le spectacle des pré Alpes peut commencer.

Chemin de Saint Barnabé Chemin de Saint Barnabé

Une fois arrivé en haut, il faudra partir sur la droite en direction du Puy du Naouri.

Chemin du puy du Naouri

Le belvédère offre un panorama à 360°C.

Vue sur la vallée

On se délecte des champs de thym en fleur bourdonnants.

Champ de thym d'altitude

Dans le ciel, les parapentes cohabitent avec les rapaces en quête de proies.

Au milieu des cairnes

Après une pause déjeuner bien mérité, il est temps de faire demi tour et de repartir en direction du Mas de la source. Vers la fin de la descente, il faudra bifurquer sur la droite pour prendre le sentier parallèle au chemin des Courmettes (attention, il n'y a pas d'indications).

Sentier du chemin des Courmettes

Avant de rejoindre ce dernier, on pourra apprécier de plus près les ruines d'une ancienne Bergerie.

Bergerie en ruine

Nous arrivons sur le chemin principal qui mène au domaine des Courmettes. Il est large, tassé, en pente douce, idéal pour une balade en VTT, moins intéressant à pied.

Chemin des Courmettes

Une fois passé la villa du Villars, il faudra prendre sur la gauche à la balise 185 pour redescendre sur Tourrettes. C'est en réalité la second partie de la randonnée du Pié Saint Martin. Cette partie est entièrement boisée et ombragée, agréable pour un retour.

Circuit du Pié Saint Martin Circuit du Pié Saint Martin

Le circuit du Pié Saint Martin commence et se termine dans le quartier cossu de Saint Martin. Le retour se fait par la route jusqu'au village, en passant par la bastide aux violettes. Cette partie de Tourrettes est moins connue des touristes.

Tourrettes-Sur-Loup

Après 5h de marche et 15km/16km avalé, il est temps de rentrer à la maison et de profiter d'une nuit de sommeil qui s'annonce profonde !

Wednesday, 13 May 2020
|
Écrit par
Grégory Soutadé

Capture Gnome Shell Generic Monitor

La version 2 de mon extension Generic Monitor pour Gnome Shell vient d'être validée ! Le choix de sortir une seconde version rapidement est volontaire. Il s'agissait de suivre le modèle RERO (Release Early, Release Often). La v1 posait la fonctionnalité de base, tandis que la v2 apporte (presque) tout ce qui manquait. Le but étant aussi de garder un code simple et réduit. Les principaux changements sont :

  • Ajout des signaux "onActivate", "onDesactivate", "onClick", "onRightClick", "onDblClick" et "onRightDblClick"
  • Ajout de la propriété box (left, center, right)
  • Refonte des exemples pour utiliser une classe de base qui manipule la partie DBus plutôt que de tout faire à la main à chaque fois
  • Passage de GPLv2 à GPLv3

La gestion des widgets (côté extension), migre du contrôleur principal à la classe MonitorWidget vu qu'elle prend déjà en charge la box.

C'est donc une version avec beaucoup d'interactivité, et une classe principale dans les exemple qui permet de construire très simplement des minis applications !

Dernier gif les joies du code Quand le spécialiste sécurité essaie de pentester mon application