Curricilum Vitæ

Éric Bisceglia
Développeur
Click here for the english version

Habite Paris, France
Né le 26 août 1988 (28 ans)
E-Mail : bisceglia.eric@gmail.com



Parcours professionnel :

2016 - Aujourd'hui    MTD Finance : CTO (Directeur informatique)    PHP - MySQL - JavaScript
2015 - 2016    Freelance : Sous secret professionnel    C - Python - PostgreSQL
2010 - 2015    MTD Finance : Développement intranet    PHP - MySQL - JavaScript
2009 - 2010    Mécamatic : Développement logiciel interne    FileMaker - Perl - AppleScript
2007 - 2009    Freelance : Développement de jeux en Flash    Flash - ActionScript



Projets personnels :

2011 - Aujourd'hui    Life.base : Utilitaire de gestion de la vie quotidienne    PHP - PgSQL    Portfolio : Life.base
2011 - 2012    Dix : Utilitaire d'analyse des replays de Starcraft II    C - Bash - PHP    Portfolio : Starcraft Dix
2010 - 2011    SteelDB : Base de données à usage commercial    Perl - FileMaker    Portfolio : SteelDB
2006 - 2009    NRM Online : Jeu de stratégie multijoueur par navigateur    PHP - MySQL    Portfolio : NRM Online
2006 - 2015    NBRPG : Jeu de rôle multijoueur via IRC    C - Bash    Portfolio : NoBlemeRPG
2005 - Aujourd'hui    NoBleme : Communauté et site internet    PHP - MySQL    Portfolio : NoBleme



Compétences informatiques :

Langages maîtrisés C ; PHP ; SQL ; JavaScript
Maîtrise partielle C++ ; Python ; Perl ; Java
Bases de données MySQL ; PostgreSQL ; FileMaker
Systèmes FreeBSD ; Linux ; Windows ; Mac OSX
Logiciels Hg/Git/SVN ; Flash/ActionScript ; GtkRadiant ; Qt



Compétences linguistiques (échelle CEFR) :

Natif français ; Bilingue natif anglais ; Allemand scolaire ; Bases de russe et d'espagnol

Oral    Français C2    Anglais C2    Allemand A2    Russe A1    Espagnol A1
Lecture    Français C2    Anglais C2    Allemand B1    Russe A2    Espagnol A2
Écriture    Français C2    Anglais C2    Allemand A2    Russe A1      



Informations complémentaires :

Vous trouverez des exemples détaillés et illustrés de mes compétences informatiques dans le portfolio qui accompagne mon CV.

Outre le développement informatique (ma passion principale), je suis un passioné de littérature, de sociologie, et d'histoire de l'art.
Je gère l'héritage culturel de la collection photographique et littéraire de mon défunt père, Jacques Bisceglia.
J'ai pratiqué le roller de compétition de 2003 à 2005, et je continue à le pratiquer en amateur aujourd'hui.

N'hésitez pas à me contacter via mon e-mail bisceglia.eric@gmail.com ou sur IRC.



Portfolio


Portfolio : Exemples de projets personnels

Par respect du secret professionnel et de mes anciens employeurs, je ne vais pas parler de mes anciens emplois dans mon portfolio. À la place, je vais illustrer mes compétences à l'aide de projets personnels (dont un semi-professionnel).

Il s'agit principalement de projets que j'ai réalisés parfois pour apprendre, parfois pour le plaisir, parfois pour les deux à la fois.
J'apprécie la production et le partage de contenu gratuit, par conséquent je ne monétise que très rarement ce que je produis.





NoBleme : Communauté et site internet depuis 2005
PHP - MySQL - JavaScript - Entièrement open source


Après avoir réalisé quelques « pages perso » et pris le temps d'apprendre les bases de l'administration d'un serveur UNIX, je me suis lancé dans le monde du développement web en inaugurant nobleme.com en Mars 2005.

À l'origine, NoBleme devait servir à héberger les vidéos d'un ami étudiant en cinéma, aspirant à devenir réalisateur.
Le défi technologique était énorme, à une époque où les sites de streaming vidéo (tels YouTube) n'existaient pas encore.
Avec les années, une communauté internet d'amis s'est crée autour de NoBleme. La partie streaming vidéo a rapidement disparu (trop intense en ressources serveur pour la conserver), et NoBleme est devenu un site généraliste centré sur sa communauté.

Depuis 2005, NoBleme est un projet central à ma vie, ses utilisateurs réguliers formant pour moi une sorte de seconde famille.
Le code source de NoBleme est entièrement libre et open source, publié sous une license permissive qui permet de le réutiliser.

Vous pouvez trouver plus d'informations sur les coulisses de NoBleme et mes convictions de développeur en cliquant ici.
Et vous trouverez le code source de NoBleme sur BitBucket en cliquant ici.





Life.base : Utilitaire de gestion de la vie quotidienne
PHP - PostgreSQL - JavaScript - Bash


J'ai toujours organisé ma vie dans des bases de données. L'investissement temporel pour développer la base de données et la remplir est à long terme largement rattrapé par le temps qu'elle me fait gagner au quotidien.

Life.base est l'incarnation actuelle (depuis 2011) de mes bases de données personnelles. Hébergé sur le réseau local de mon ordinateur, je peux transformer Life.base en un clic en un serveur accessible à distance lorsque je suis en déplacement.

Je gère (entre autres) les contenus suivants dans Life.base :
- Une liste des tâches à effectuer, pour ne rien oublier dans la vie quotidienne
- Ma comptabilité personnelle, permettant une gestion avancée avec brouillard, bilans et prévisions
- Gestion des stocks de livres de collection que j'achète et que je revends (et que je garde parfois dans ma collection personnelle)
- Une aide au rangement de mes papiers administratifs et comptables, pour pouvoir les retrouver instantanément
- Une bibliothèque de tous les livres que j'ai lus, films et séries que j'ai vus, et albums de musique que je possède
- Un annuaire de pages trouvées sur Internet que je désire conserver de façon plus pratique que des favoris dans un navigateur
- Un rappel de mes mots de passe, encryptés suivant une clé que moi seul connait au cas où quelqu'un d'autre accèderait à life.base

Voici quelques captures d'écran (très lourdement censurées) de diverses sections de Life.base :

Illustration

Illustration

Illustration

Illustration

Illustration





Starcraft Dix : Utilitaire d'analyse des replays de Starcraft II
C - Bash - PHP - MySQL


En jouant au jeu vidéo de stratégie Starcraft II, je me suis retrouvé confronté à un manque : À l'époque (2011), le jeu n'enregistrait pas les statistiques. Il n'était donc pas possible de mesurer mes progrès, ou de savoir quelles étaient mes forces et mes faiblesses. Ayant une nature compétitive, je désirais m'améliorer, et pour cela il fallait que je puisse avoir des statistiques sur mes performances.

Dans un premier temps, je m'étais crée un tableau dans Google Docs, où je notais tous mes résultats. Malheureusement, il y avait trop d'informations à noter après chaque partie, ce qui rendait ce système très laborieux. J'ai donc décidé de créer mon propre système, qui extrait automatiquement les informations à partir des replays générés à la fin des parties, et les stocke dans une base de données.

Le plus gros problème était de décrypter le format MPQ dans lequel les informations des replays est stocké, format extrêmement complexe et qui change à chaque nouvelle version du jeu. Pour ce faire, j'ai crée un programme en C qui est capable de parcourir un fichier MPQ et de n'en extraire que les informations dont j'ai besoin pour ce projet.
Ensuite, il suffit de semi-automatiser l'ajout de ces informations dans une base de données, et d'afficher les statistiques.

Dix a servi jusqu'en 2012, lorsqu'un outil de statistiques interne au jeu a enfin été ajouté dans Starcraft II.
Voici des captures d'écran de l'interface de Dix lorsqu'il était encore en service :

Illustration

Illustration

Illustration

Illustration





SteelDB : Outil interne dans l'industrie de l'acier
Perl - FileMaker - AppleScript


SteelDB est le nom de code d'un projet professionnel que j'ai réalisé qui a gagné un appel d'offres en 2010 et que j'ai continué à développer jusqu'en 2011. Il s'agit d'une situation très spécifique : Une entreprise ayant un environnement entièrement Mac OSX, et désirant utiliser le logiciel (très limité) FileMaker pour leur outil interne.

Étant à l'époque un des seuls développeurs sur Paris ayant de l'expérience avec FileMaker et l'industrie de l'acier, j'ai décidé de tenter ma chance en répondant à l'appel d'offres. Sur mon temps libre, j'ai assemblé un prototype d'outil utilisant des hooks système en AppleScript qui servent à appeler des scripts en Perl afin de contourner les limitations de FileMaker et d'effectuer certaines actions requises par l'appel d'offres qui sont difficiles ou impossibles à faire depuis FileMaker (par exemple envoyer un e-mail, exporter un fichier Excel ou PDF).

Vu que le contrat lié à l'appel d'offres m'autorise à conserver les droits sur le code source que j'ai produit et à le réutiliser librement, je peux parler sans restriction de ce que j'ai fait. Je censure toutefois, par respect, les informations liées à l'entreprise.

SteelDB est une base de données permettant de gérer les éléments suivants :
- Un carnet d'adresses de contacts, clients et fournisseurs
- Une liste de pièces d'aciérie lourde stockée de façon bilingue (français/anglais)
- Un suivi de dossiers pointu allant de la commande au suivi après la vente
- Un système de traduction de chaque étape des dossiers du français vers l'anglais
- D'autres outils plus spécifiques dont je ne peux pas parler sans trop révéler d'informations sur l'entreprise

Voici des captures d'écran de SteelDB en production, lourdement censurées des données professionnelles qu'elle contient :
(les premières illustrations sont un schéma relationnel complet de la base de données de l'outil)

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration





NRM Online : Jeu de stratégie multijoueur par navigateur
PHP - MySQL - JavaScript


Le milieu des années 2000 est marqué sur internet par la mode des jeux au tour par tour via navigateur.
Suivant cette mode, je m'inspire d'autres jeux similaires pour créer mon propre jeu, le NRM Online.
Dans ce jeu, chaque joueur incarne un pilote de robot de combat, et affronte d'autres adversaires humains.

Le NRM Online a été actif de 2006 à 2009, et a toujours été entièrement gratuit.
Le concept du NRM Online était de pousser l'aspect stratégique à fond, permettant à tout joueur de pouvoir battre un adversaire s'il est plus malin que lui, peu importe le robot qu'il a à sa disposition ou le temps qu'il a investi dans le jeu.

Au final, c'est la trop grande profondeur stratégique du NRM qui aura causé sa perte. Même s'il a passé la centaines de joueurs lors de certaines saisons, il n'a su fidéliser qu'un cœur d'une dizaine de joueurs réguliers, nombre trop faible pour continuer à faire vivre le jeu.

Voici des captures d'écran du NRM Online lors de sa 27ème saison, en 2007 :
(souvenez vous que nous sommes au milieu des années 2000, le design des sites internet était... très différent à l'époque)

Illustration

Illustration

Illustration

Illustration





NoBlemeRPG : Jeu de rôle multijoueur via IRC
C - MySQL - Bash - IRC


Lorsque j'étais adolescent, j'adorais organiser des sessions de Donjons & Dragons. Je prenais beaucoup de plaisir à être le maître du donjon, à inventer des univers toujours différents et uniques pour mes joueurs.

Le temps est passé, et mes amis se sont dispersés. Puisqu'il n'était plus possible de jouer physiquement avec eux, j'ai décidé en 2006 de créer un système permettant de jouer à un jeu de rôles en se servant du protocole utilisé par les serveurs de chat IRC.

Le NoBlemeRPG part d'un programme de jeu qui se trouve sur mon ordinateur, depuis lequel j'effectue des actions qui affectent les joueurs. Ces actions génèrent des messages sur un canal IRC, auxquels les joueurs doivent réagir en temps réel. Les décisions des joueurs (qu'ils écrivent dans le canal de discussion) sont ensuite interprétées par le programme se trouvant sur mon ordinateur, me permettant ainsi d'intéragir avec les participants en temps quasi-réel de façon quasi-automatisée.

Voici des captures d'écran de l'interface de maître du donjon du NoBlemeRPG tel qu'il était lorsqu'il a pris sa retraite, en 2015 :

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration

Illustration