Alexandre Ratchov
alex@caoua.org
7 rue Lieutenant Chanaron
38000 Grenoble
tél : 04 76 85 44 95

INGÉNIEUR SYSTÈME ET DÉVELOPPEMENT UNIX/LINUX

Très bonne expérience en développement C et assembleur 'x86'
Très bonne expérience en environnement Unix hétérogène
Passion et implication dans le logiciel open-source

À ce jour (le 30/11/2005), je ne suis pas disponible (en poste)
mais n'hésitez pas à me contacter si vous désirez avoir plus d'informations.

COMPÉTENCES TECHNIQUES
Programmation Orienté objet, événementiel, temps-réel. Analyse lexicale et syntaxique. Optimisation. Programmation système.
Outils de développement Compilateurs 'gcc' et Borland C++; debuggers 'gdb', le "kernel debugger" de OpenBSD (par liaison série), gestion de grands projets avec 'make/Makefile' et CVS.
Langages C (5 ans, 35000 lignes), assembleur 'x86' (3 ans, 15000 lignes), C++ (3 ans), Script shell (5 ans), m4 (2 ans), PHP et SQL (1 an), notions de Awk, Perl, Pascal, Basic.
Systèmes d'exploitation Parfaite autonomie sous Unix en réseau (GNU/Linux, OpenBSD, FreeBSD, Ultrix, AIX, HP-UX). Installation, configuration, sécurisation et administration de OpenBSD (5 ans), FreeBSD (1 an), GNU/Linux (2 ans). Développement système sous MS-DOS et OpenBSD.
Hardware et drivers Bus USB, interface MIDI, horloge programmable 8253, contrôleur d'interruptions 8259 contrôleurs graphiques EGA/VGA. Montage de PCs, montage de réseau ethernet.
Protocoles Multimédia : MIDI. Internet : IP, UDP, TCP, HTTP, SMTP, POP3.
Sécurité Installation et configuration de serveurs Web et FTP sous Unix (OpenBSD et GNU/Linux), configuration du firewall PF sous OpenBSD (filtrage IP et NAT).
Web Conception et maintenance de sites web, programmation CGI en C, contenu dynamique avec PHP et PostgreSQL, analyse des "logs". Notions de CGI-Perl.

EXPÉRIENCES ET RÉALISATIONS EN INFORMATIQUE
2003-2005 Développement en C sous Unix - projet Midish (open-source)
Conception, développement, intégration, tests et optimisation de Midish - un environnement de MAO (musique assistée par ordinateur). Il comprend un séquenceur, un filtre MIDI temps-réel et un langage de script.
  • gestion simultanée de plusieurs périphériques en temps-réel
  • réalisation d'un allocateur rapide pour le temps-réel
  • conception d'un langage et réalisation de l'interpréteur
  • portabilité : mise en conformité avec la norme POSIX
  • gestion de projet, utilisation de CVS, 'make/Makefile'
Hardware :   interfaces USB-MIDI, plateforme 'i386'
Système :   OpenBSD et GNU/Linux
Langage :   C norme ANSI (15000 lignes)
Environnement :   réseau sous OpenBSD, compilateurs GNU, 'make', CVS
2003-2004 Développement système sous Unix - projet OpenBSD (open-source)
Amélioration du support MIDI du système d'exploitation OpenBSD. Ma contribution au code est intégrée au système d'exploitation et déployée depuis la release 3.6.
  • étude de l'architecture du noyau BSD et Linux
  • réécriture du driver MIDI "device independent" du noyau
  • étude des data sheet de l'interface USB-MIDI
  • corrections et améliorations du driver USB-MIDI d'OpenBSD
Hardware :   bus USB, interfaces MIDI (classiques ainsi qu'USB)
Système :   OpenBSD et GNU/Linux
Langage :   C norme ANSI
Environnement :   réseau OpenBSD et GNU/Linux, compilateurs GNU, 'make', CVS, kernel debugger (par liaison série)
2001-2005 Administration d'Unix en réseau - UJF, Grenoble I
Administration du serveur web du magistère de physique :
  • installation et administration distante de la machine serveur
  • configuration et sécurisation du système d'exploitation
  • installation et administration du serveur apache, de sendmail, d'un service FTP et du serveur de bases de données PostgreSQL
  • mise en place de sauvegardes automatiques.
  • développement du site Web du magistère de physique.
  • programmation CGI en C, PHP et SQL
  • amélioration de l'indexage par les moteurs de recherche
  • analyse des "logs"
Système :   d'abord GNU/Linux puis OpenBSD
Langage :   C, m4, awk, PHP, SQL, bourne shell
Environnement :   réseau ethernet, administration distante
2003-2005 Administration d'Unix en réseau - domaine 'caoua.org', à titre personnel
Installation et administration d'un petit serveur Web, mail, FTP, ssh pour 5 utilisateurs.
  • installation et administration de la machine serveur
  • configuration et sécurisation du système d'exploitation (OpenBSD)
  • installation et administration du serveur apache, de sendmail, d'un service FTP et du serveur de bases de données PostgreSQL
  • configuration du système YP/NIS pour une authentification centralisée des utilisateurs de 4 machines Unix.
  • configuration et administration de systèmes de fichiers NFS sur un réseau de 4 machines.
  • mise en place de sauvegardes automatiques.
  • amélioration de l'indexage par les moteurs de recherche
  • analyse des "logs"
Système :   OpenBSD, Ultrix
Langage :   m4, awk, bourne shell
Environnement :   réseau ethernet
2002-2005 Enseignement du C++ - UJF, Grenoble I
Enseignement des concepts orienté objet en Master 1-ère année d'électronique, électrotechnique, automatique (niveau BAC+4).
  • conception et direction de travaux pratiques
  • encadrement de la réalisation par les étudiants d'un projet de logiciel de dessin vectoriel multi-plateforme (GNU/Linux et Windows).
  • conduite d'examens oraux
Langage :   C++ (compilateurs GNU et Microsoft), 'make/Makefile'
Environnement :   multi-plateforme Windows et GNU/Linux
2002-2005 Calculs numériques en physique quantique - LPMMC/CNRS
Dans le cadre de la préparation d'un doctorat :
  • conception, développement, intégration et tests de programmes de calcul numérique
  • réalisation d'une librairie d'algèbre linéaire
  • portage de ces logiciels de FreeBSD vers GNU/Linux et AIX.
  • communication : exposés oraux, rédactions de rapports et d'articles, conception de posters pour des conférences, encadrement de stagiaires.
Langage :   C, Perl, bourne shell, 'make/Makefile'
Environnement :   réseau ethernet Unix/Windows
1995-1997 Développement système - à titre personnel
Conception et réalisation d'un "DOS-extender" et d'une interface DPMI, permettant d'exécuter des programmes 32bit sous MS-DOS (système d'exploitation 16bit).
  • étude du data sheet du 80386 et de la spécification DPMI
  • réalisation de routines d'interruptions et d'exceptions
  • réalisation d'un allocateur de mémoire
Hardware :   Intel 80386 en mode protégé, contrôleur d'interruptions 8259, horloge programmable 8253
Système :   MS-DOS
Langage :   Assembleur 'i386' en mode 16bit et 32bit
Environnement :   ordinateur PC, assembleur et debugger Borland
1994-1996 Développement "multimédia" - à titre personnel
Conception et réalisation d'un synthétiseur 4 canaux et d'un programme d'aide à la composition musicale (un tracker).
  • étude du data sheet de l'horloge programmable 8253 et du contrôleur graphique EGA/VGA.
  • conception et réalisation d'une interface graphique orientée "évènements".
  • conception réalisation de routines d'interruptions ultra-légères
  • optimisation pour augmenter la vitesse d'exécution du projet
Hardware :   Intel 80x86 en mode réel, horloge programmable 8253, contrôleur graphique EGA/VGA
Système :   MS-DOS
Langage :   Assembleur 'i86' en mode 16bit
Environnement :   ordinateur PC, assembleur et debugger Borland

COMMUNICATION
Exposés oraux Présentations de résultats en français et en anglais auprès de partenaires.
Enseignement Conception et direction de travaux pratiques sur les concepts orienté objet pour des étudiants en master 1-ère année (BAC+4) de l'université Joseph Fourier, durant 3 ans.
Encadrement de stage Encadrement d'un stagiaire de master 1-ère année (BAC+4) de physique durant 3 mois.
Représentation des doctorants Représentant des doctorants auprès de l'école doctorale de physique de Grenoble : suivi du bon déroulement de thèses, aide à la communication doctorant-encadrant (1 an).

FORMATION
2002-2005 Doctorat en physique théorique - UJF, Grenoble I
juin 2002 DEA et Magistère de physique - UJF, Grenoble I

INFORMATION COMPLÉMENTAIRE
Autres intérêts Électronique : réalisation d'émetteurs radio, effets pour guitare. Musique : pratique du piano, composition de musique assistée par ordinateur, notions de guitare. Montagne. Pratique du vélo.
Langues Anglais technique/scientifique, bulgare bilingue


CV disponible en version imprimable ici