8,90 € TTC
p. 06 Le code est mort, vive le code !
p. 08 Scikit-image, une alternative à OpenCV pour la reconnaissance d’images
p. 22 Mesure fine de déplacement par RADAR interférométrique à synthèse d’ouverture (InSAR) par radio logicielle
p. 34 Accélérez vos traitements en développant votre propre solution de parallélisation
p. 50 L’édition des liens démystifiée
p. 68 Des usages de l’astérisque en Python
p. 72 Distribuez vos traitements Python avec Celery et Docker Swarm
Un passage en production, ça se planifie. Je ne vais pas vous parler dans cet édito des développeurs pour qui la production n’existe pas vraiment puisque leurs environnements de développement et de production ne font qu’un : leur cas est désespéré. Non, je vais vous parler des développeurs consciencieux qui travaillent normalement en développant et testant sur leur environnement de développement avant de passer en production. Il peut arriver, au moment de la bascule, que surviennent encore des erreurs. Cela peut être anticipé de manière à s’assurer que l’impact soit le plus faible possible pour les utilisateurs. Avec les bugs c’est comme avec les virus : au plus on teste au plus on a de chances statistiquement parlant d’en trouver un ! Mais que se passe-t-il lorsqu’il n’y a pas de synchronisation avec le service commercial, que le logiciel ou le site est passé en production alors qu’aucun test n’a été effectué, mais que la campagne marketing est lancée ? Un beau raté !
Quelques minutes avant d’écrire cet édito, j’ai reçu un mail m’informant qu’un site (dont je préfère taire le nom) avait mis à jour ses C.G.U. (Conditions Générales d’Utilisation) et que pour pouvoir continuer à utiliser les services proposés, je devrai les accepter. Pour cela, on me proposait même d’accéder directement à mon compte via un bouton. Plutôt que d’attendre d’avoir besoin d’un quelconque document via ce service, j’ai décidé d’accepter les C.G.U. immédiatement. Je clique donc sur le bouton, la page se charge dans mon navigateur et là s’affiche l’image d’un ourson mal en point qui m’annonce : « Oups… votre compte xxxxx est momentanément indisponible. Il sera de retour en pleine forme très bientôt ». Ça, c’est ce qu’on appelle une synchronisation parfaite ! On propose quelque chose aux utilisateurs, les faisant venir sur le site, mais la page cible ne fonctionne pas ! Chapeau bas !
On ne s’en rend pas toujours compte, mais dans la mise à disposition d’un logiciel ou d’un service, il n’y a pas que les aspects techniques qui comptent. Comment ne pas s’assurer qu’un service est disponible avant d’en faire la promotion ? Il n’y a pas besoin d’être développeur pour ça ! Il suffit d’un minimum de communication entre deux services qui sont censés œuvrer dans la même entreprise avec des objectifs communs.
En tout cas je peux vous annoncer la sortie de GNU/Linux Magazine n°244 sans risque, tous les articles sont à votre disposition !
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...
Une fois n'est pas coutume, nous allons découvrir et utiliser une alternative à OpenCV, scikit-image communément appelé skimage. Nous implémenterons la reconnaissance d'images avec la méthode des histogrammes de gradients orientés (HOG : Histogram of Oriented Gradients) associée à une machine à vecteurs de support (SVM : Support Vector Machine). Cette méthode est employée dans bien des applications telles que l'automobile, pour la détection de piétons [1].
Nous avons démontré dans le premier article de la série la capacité à mesurer la distance à une cible (range compression), puis dans un deuxième temps à détecter l’angle d’arrivée du signal (azimuth compression). Fort de cette capacité de cartographier des cibles, nous allons conclure cette série sur la conception de RADAR à base de radio logicielle, et le traitement des signaux associé, par la mesure fine de déplacement des cibles par analyse de la phase (interférométrie) du signal, lors de la répétition des mesures.
Le temps, c'est de l'argent ! Alors, n'en gaspillez plus avec des traitements interminables, distribuez-les !