PASCAL
SANDREZ

Mon premier ordinateur : un PC1512

J'ai connu l'informatique à travers du matériel relativement peu puissant pour l'époque (il existait du matériel bien plus puissant à ce moment là), avec un Amstrad PC1512 contenant un 8086 16bits à 8MHz.

J'ai commencé à découvrir la puissance de l'informatique, je pouvais lancer un OS équipé d'un environnement graphique (donc utilisable avec une souris), un gestionnaire de programme, quelques logiciels et jeux, etc...


Mon premier système d'exploitation : GemPlus

Aprés cela, j'ai eu un 486 sous MS-D0S puis un Pentium à 100MHz sous windows 95 avant de m'acheter mon premier PC : un Celeron à 300MHz sous windows 98

Vient ensuite un PC (Athlon XP 1800) assemblé par moi même sous windows XP, puis un PC portable sous Windows vista puis sous Windows 7.

J'ai donc surtout connu le système d'exploitation Windows puis pendant mes études j'ai petit à petit découvert UNIX et testé diverses distributions linux.

La programmation

La programmation est pour moi un super outil pour réaliser toute sorte de tâche. J'ai appris grace à internet, et à chaque nouveau programme je progresse ce qui me permet aujourd'hui de pouvoir faire des choses assez puissantes.

Après avoir tenté de faire quelques programmes en basic sans trop y arriver (je n'avais pas les connaissances ni Internet à ce moment là), j'ai appris l'assembleur et le C pendant mes études. Véritables briques de base du programmeur, c'est le début de beaucoup de lignes de code...

En assembleur j'ai principalement développé sur des PIC de Microchip et du Motorola 68HC11. Les PIC étant peu coûteux à mettre en oeuvre, ils sont tout à fait adaptés pour les amateurs. J'ai ensuite programmé en C sur ces microcontroleurs ainsi qu'un peu sur un Atmel AT91SAM7XC256 (ARM7).

Puis ensuite j'ai découvert le C# avec le framework dotNET et les applications WEB. Puis de plus en plus de languages (Perl, Javascript, Matlab, Python, etc.) et de plus en plus de frameworks (Prototype.js, AngularJS, d3.js, etc.)

Quelques réalisations

Voici quelques applications que j'ai réalisé. Elles sont à peu près classés par ordre chronologique, les plus récentes en premier. Cela représente qu'une petite partie de ce que j'ai pu coder. En plus de ces quelques exemples j'ai fait une multitude de petite applications ou scripts très spécifiques ou pas assez abouti pour en parler.

Traitement d'image avec OpenCV pour faire un time lapse

Un time lapse (vidéo accéléré) est une vidéo qui est largement accélérée ce qui permet de mettre en valeurs des changements assez lent sur le sujet filmé. C'est généralement fait en réduisant la cadence de prise de vue, une fois par seconde, une fois par heure, par jour, par mois, etc.

A partir de photos que j'ai de ma fille je voulais faire un time lapse. Mais les clichés ayant été fait de façon assez différentes chaque jour, il me fallait les modifier pour avoir le visage toujours à la même position et la même taille sur chaque image et pouvoir faire une vidéo qui montre une progression. Bien sur traiter à la main chaque image est très long, j'ai donc cherché à l'automatiser. La détection de visage est un dossier assez a la mode, il existe plein de choses sur internet. Mais je n'ai pas trouvé exactement ce qui allait me permettre de détecter le visage et redimensionner la photo pour le positionner toujours au même endroit sur chaque photo. Par contre dans mes recherches sur internet j'ai remarqué que beaucoup de logiciels utilisaient OpenCV (Open Computer Vision). Je me suis lancé à faire un petit programme en python utilisant OpenCV qui allait faire ça pour moi. J'ai donc découvert cette librairie géniale qui m'a donné encore plus d'idées.

Avec assez peu d'effort j'ai donc réussi à traiter toutes mes images rapidement. Tout est décrit sur cette page dédiée.

Logiciel de Police Scientifique

Pour une petite entreprise ludisciences j'ai créé avec un ami une application qui simule des outils d'analyse utilisés par la Police Scientifique. L'idée est de montrer à des enfants des techniques autour de la biologie et la chimie, le logiciel est utilisé pour illustrer les techniques.

J'ai travaillé à la définition du logiciel ainsi qu'a un peu de programmation mais j'ai surtout fabriqué le capteur d'empreintes digitales qui va avec. Le logiciel est développé en C#.

Système de gestion des données de conception de circuits intégrés

Dans le cadre de mon travail j'ai souvent fait de petits outils afin d'exécuter plus rapidement certaines taches répétitives. Ce logiciel de gestion de données essentiellement basé sur une application WEB est assurément le plus gros projet de programmation que j'ai pu réaliser.

Lors de la conception de circuits électronique beaucoup de données doivent être recoupés pour s'assurer que le produit réalisé soit conforme au cahier des charges. Beaucoup de données sont générés lors de la conception puis de l'évaluation des différentes version du produit. Lorsque j'ai vu que je passais beaucoup de temps à chercher et recouper manuellement ces données j'ai commencé à chercher des moyens d'optimiser ces opérations. Après quelques essais de petits outils pour collecter ces données, mes idées ont muries, j'ai conçu une application WEB sur laquelle les outils que l'on utilise sont capable de publier les données et qui permet de les consulter et les recouper avec une étonnante efficacité. Cela me permettait dans un premier temps de personnellement gagner beaucoup de temps et d'efficacité. Je l'ai amélioré petit à petit et je l'ai partagé avec des collègues qui avaient les même problématiques. Mais rapidement il s'est avéré que des centaines de personnes pouvaient s'appuyer sur cet outil. Il a donc été repris par une équipe de développement interne.

Lors de la conception j'ai appris beaucoup de choses. Premièrement j'ai beaucoup approfondi mes connaissances en PHP mais surtout en Javascript. Une grosse partie de l'application est écrite en Javascript dans le but d'améliorer l'ergonomie. PHP est surtout utilisé pour stocker les données et servir les données à l'application, il n'est quasiment pas utilisé pour créer les pages.

Un autre gros enseignement de ce développement c'est l'ergonomie. J'ai adapté l'outil au fur et à mesure pour limiter le nombre de clics, diminuer les temps de calcul et de chargement et gagner en efficacité. L'outil est rapidement devenu très optimisé au besoin. J'ai compris là le besoin de communication entre le développeur et l'utilisateur de l'application. Dans mon cas j'étais à la fois développeur et utilisateur ce qui facilite considérablement les choses, en général ce n'est pas le cas. Le développeur doit comprendre les vrais besoins de l'utilisateur et identifier tous les axes d'amélioration qui pourrait intéresser l'utilisateur.

PDPW calculator

PDPW signifie "Possible Die Per Wafer". En micro-électronique les circuits (carrés) sont fabriqué dans un substrat rond. J'ai conçu ce programme sur Windows phone pour calculer rapidement combien de puces carrés peuvent rentrer dans un substrat rond en prennant en compte les dimensions, zone d'exclusion, zones de découpe et comprendre l'impact d'un changement dans la taille d'une puce ou l'espacement entre puce, etc. Le programme est écrit en C# avec l'interface en XAML.

L'application est disponible sur le windows phone store.

Console réparation

console.reparation.free.fr est un site que j'ai créé avec Bertrand SANDREZ pour la société console réparation afin d'afficher les prestations de l'entreprise. C'est un site internet conçu en PHP.

Recherche du prix du carburant

Le site gouvernemental http://www.prix-carburants.gouv.fr/ permet de consulter le prix du carburant des stations services françaises. Rapidement j'ai trouvé le site peu pratique et plusieurs défauts m'empêchaient de l'utiliser confortablement. J'ai donc créé le site http://carburant.pascalsandrez.fr/ qui met en forme les données du site gouvernemental pour une utilisation aisée.

J'ai depuis fermé ce service malgré sa popularité car l'état vends par ailleurs l'accès à ces données à des entreprises qui en font commerce.

Avec un ami j'ai fait une application Windows mobile puis Windows Phone quand le système d'exploitation est sorti.

Mini CMS

Après avoir cherché un cms simple, qui permette l'édition en ligne des pages pour plusieurs utilisateurs tout étant basé sur un système de wiki (avec conservation de l'historique des pages), je me suis rendu compte qu'une multitude d'outils étaient disponibles mais soit trop complexe, soit trop simple, soit pas adapté. Connaissant mes besoins j'ai donc créé mon propre cms qui a été utilisé pour le site http://www.foyerstlonnais.fr/. Il est assez simple mais tout à fait adapté au besoin que j'avais.

Tablatures de guitare

Afin d'avoir accès facilement à toutes mes tablatures, depuis chez moi ou ailleurs, j'ai créé un site de tablatures de guitare qui affiche mes tablatures simplement déposés dans un dossier. J'y ai intégré divers outils comme un lecteur qui permet d'écouter la chanson ou l'affichage des principaux accords de guitare.

Barre de progression du transfert de fichier http

C'est un petit projet que j'ai eu à faire lorsque j'ai participé à la junior entreprise de mon école d'ingénieur, l'enseirb. C'est une entreprise dans l'école qui peut fournir à des clients des petits services en utilisant le temps et les connaissances des étudiants qui sont rémunérés en retour.

Le besoin était alors d'afficher une barre de progression du téléchargement en cours sans utiliser flash.


Démo de transfert de fichier avec sa progression.

Logiciel de réduction et d'envoi de photos sur un site web

Ce logiciel a été fait après avoir réalisé un album photo internet. Il permet en quelques clic de choisir des photos et de les envoyer sur le site internet. Les photos sont automatiquement redimensionnés au format du site web. J'ai pu donc envoyer le logiciel à des amis pour qu'ils puissent poster des photos simplement sur le site.

eirb'elec

Le site eirbelec rassemble essentiellement deux services destinés aux élèves de la filière électronique de l'ENSEIRB.

Une page créé par Hélène Parruitte et moi même rassemble des annales d'épreuves de partiels que l'on désirait partager.

Un autre service concerne l'emploi du temps des enseignements. En effet l'emploi du temps des cours de l'ENSEIRB est généré automatiquement par un logiciel de gestion. L'affichage, fixe, n'est pas très ergonomique car il rassemble tous les groupes d'une même filière. Par conséquent il y a beaucoup d'informations, mais pas toutes utiles pour une même personne. J'ai donc créé une interface web qui analyse l'emploi du temps pour y extraire toutes les informations nécessaires et les afficher de manière plus simple et plus conviviale. Chaque personne peut choisir ses groupes, et voir son emploi du temps de la semaine sur une seule page. Consultation : c'est ici

Album photo

Une de mes premières applications des langages WEB, je voulais mettre en ligne des photos pour les partager, et cela avec une interface la plus simple possible. J'ai commencé en HTML pour me rendre compte que le php (ou tout langage dynamique) était absolument nécessaire.

Logiciel de gestion de concours de belote

Ce logiciel réalisé pour le Foyer des Jeunes de saint Lon les Mines permet de gérer des concours de belote.

Dans un premier temps les équipes sont saisies, puis au fur et à mesure des manches les scores sont enregistrés. Cela permet d'obtenir les rencontres des manches suivantes.

Les principales fonctionnalités :

Ce logiciel n'est plus utilisé car les concours de belotes ont étés arrêtés mais il a servi plusieurs fois et est prêt à resservir... Il a remplacé un tableau de score spécialement fait pour gérer les concours de belote mais qui était complètement manuel.