Entreprises, SSII, DSI
Trouvez rapidement les meilleurs intervenants pour tous vos projets informatiques
Photo de Stéphane, Administrateur système C

Stéphane Administrateur système C

CV n°070413P001
Études et formations

ETUDES
 Bac G3
 BTS Informatique, 1989
 Niveau Licence informatique

DOMAINE INFORMATIQUE
LANGAGES
C/C++
 Compilateur C/C++ natif sous AIX (4.2, 5.1), Solaris (SPARC et x86), HP-UX
 GNU C++ (Linux, Win32, Unix), DJGPP 2.8.1 (DOS), CygWin (Win32), MingW
 Visual Studio 2005
 Visual C++ 6.0 (Microsoft Developer Studio)
 LCC-Win32 (win32)
 TURBO C de Borland, PURE-C (sur ATARI-MegaST)
 HIGH-C de MetaWare (sur PC 386)
 SYMANTEC 3.0 (PC, avec dos-extender)
 WATCOM 10.x (16 et 32 bits)

C#
 Framework 3.5 sous VisualStudio 2008

JAVA
 J2SE, J2EE (win32, Linux-x86, Solaris 10 Intel, HP-UX)
 NetBEANS 6.0 (win32, Linux)

SQL
 ORACLE
10g sous Unix/Windows
8.0i sous Linux-x86
7.3 sous AIX

 SYBASE
ASE 12.5 sous Unix, Windows
ASE 11.x sous AIX, NT, et Linux-x86
Adaptative Server 6.0 et Anywhere 5.5

 MICROSOFT
SQL-Server 2005 sous Windows Server2003, 7.0 sous NT4.0
JETBASE/DAO
 MySQL (Linux-x86, Win32, Solaris)
 mSQL 2.012 (Linux-x86)
 PostgreSQL (quelques connaissances) sous Linux
 POWER-DESIGNER 12.1 (Merise/UML sous Windows)

INTERNET
 APACHE sous Linux-x86, Windows, Unix (Solaris, AIX)
 PHP 5.x (Linux-x86, Solaris x86, Windows)
 ASP (sous NT et win98)
 IIS
 PowerDynamo-Anywhere (Sybase) sous Win95
 Personal Web Server pour Win98

PASCAL
 DELPHI 7
 TURBO PASCAL (jusqu'à version 5.00, PC)

BASIC
 Visual BASIC (version 5.00 et 6.00)
 GFA-BASIC (sous ATARI-ST et MS-DOS)

ASSEMBLEUR
 6502 Rockwell (Apple II, avec ProCode)
 680x0 Motorola (Atari ST, avec DevPac)
 80x86 Intel (Turbo Assembleur et Masm)

DIVERS
 XML, XSLT, XPATH
XSelerator 2.x, XML-SPY
 BASH, KSH, CygWin, C-SHELL
 WxWindows
 Perl 5.0 Linux-x86 (quelques notions)
 SAMBA
 Visual Source Safe v6.0 (Optimisé avec SourceOffSite)
 CVS
 SubVersion
 VNC
 Open Interface 4.2 (GUI de Neuron-Data)

OS
 UNIX : Solaris (x86+SPARC), OSX-10.4.x AIX (4.2 et 5.1), LINUX (Red-hat, Gentoo, CentOS)
 Win2003, WinXP-pro, Win2K Server, NT 4.0
 PALM OS 3.5, 4.0

PLATES-FORMES/MATERIEL
 Sun SPARC et x86
 PowerPC RS6000
 HP-UX
 PC x86
 Mac OSX 10.4.x, 10.5
 PALM III, Vx
 ATARI-ST, 1040, Mega STe
 Apple //e

 Routeur 3COM
 Routeur BeWAN

Langues :
 Anglais : Parlé et écrit

Expériences professionnelles

X-MEDIA depuis le 01-11-98 Marseille
Architecte logiciel.
Mise en place de Web-services sous PHP (via le module php_soap) pour l’appel des annonces (tarifications, placement des annonces dans un journal)

Réécriture d’un logiciel de gestion de petites annonces en Java
De part la disparité des plates-formes toujours plus importante de nos clients (Windows, OSX, Linux, Unix) et toujours dans un souci de «centralisation» du code, nous avons décidé de migrer la majeure partie de nos applications en Java.

J’ai donc été responsable de la conversion des objets Delphi graphique vers un environnement J2SE et repensé certaines classes en utilisant, entre autres, les patterns Facade, Decorator et Singleton.
Imposant également une architecture MVC, ce travail s’est effectué sous NetBeans 5.5 en prenant comme base minimum une JVM 5, SWING pour l’interface gfx, un accès aux bases via JDBC 3.0 (tout en gardant la compatibilité avec le serveur d’application énoncé plus bas) + une utilisation XML/XPATH avec JDOM (TraX pour le XSLT)

La partie métier est également (ré)utilisée par du J2EE (les sites Web en PHP sont aussi en cours de réécriture), et pour certains batch UNIX.

Windows Mobile 5.0/6.0
Développement en C# (Framework 2.0) d’un gestionnaire de prises de commandes pour commerciaux.
Utilisation de l’API POOM et du RAPI pour la récupération des contacts/taches du PocketPC vers
PC-desktop.

Création d’un serveur d’application
Développé en C/C++ sous Solaris x86 et Windows XP (VC++6 et VS2005), ce soft se base sur
le pattern «Proxy».
Il peut donc être comparé à un serveur http ayant des connexions persistantes.
Le protocole d’échange de flux (cryptés) entre le client et le serveur ne se limite plus à du HTML.
Entièrement basé sur le concept de modules, ces derniers peuvent être écrits dans n’importe quels langages (sans se soucier de «problèmes» tels que le multithread)

Les parties les plus importantes du logiciel de PA (calcul des tarifs, placements d’annonces via XML/XSLT, impressions,…) ont été converties en modules et placées sur le serveur d’application.
Ces mêmes modules sont maintenant (ré)utilisables par/pour d’autres supports (comme le web) sans ajouts significatifs de code.
A titre d’exemple, le source de calcul et de génération de facture (plus de 8500 lignes écrites en Delphi et C++) a été «placé» en module sur un serveur d’application hébergé sous Windows Server 2003 et est aujourd’hui utilisé simultanément par des applications lourdes, par du Web et par des batch Unix.

D’une part, les gains en temps de déploiement, de mises-à-jours et de maintenances sont plus que conséquents. D’autre part et avec l’historique des développements d’X-média (grande disparité des langages de programmation utilisés + diversité des plates-formes de la clientèle), cette solution a évité la réécriture de 95% du code.

Actuellement plusieurs versions du serveur d’application tournent chez les clients sur les
plates-formes suivantes :
- Linux Gentoo 2005
- OSX-10.4.5 PPC avec Apache/PHP. Ici c’est le PHP qui sert de client/relais pour le
serveur d’application.
- Windows Server 2003+SP1

Egalement en test, en interne, chez X-Média sur :
- OSX-10.4.x Intel
- Windows 2K Pro
- Red-Hat Enterprise
- Solaris 10 x86
- AIX 4.2 et 5.1L

Les divers «binding» client disponibles à ce jour pour les appels au serveur d’application sont :
- C (VC 6, Visual Studio 2008, GNU, MingW)
- C++ (GNU, QT-Trolltech 4.2)
- Java (via JNI)
- .NET (composant en C#)
- PHP (création de module via Zend)
- Object PASCAL (Delphi 6.0 et Lazarus version Linux)
- VB 6.0 (COM ATL créé avec VC 6++)
- PDA (Palm et Windows Mobile) en cours de développement

En plus des modules «métiers», d’autres plus génériques existent :
- Accès aux bases de données
- Client SMTP
- Transferts de fichiers
- Synchronisation de fichier/répertoires
- Lancement de batches
- Download automatique pour les mises-à-jours à distance
- …

Création d’une librairie d’accès aux drivers natifs de base de données
Développé en C, cette couche permet sous Windows -comme sous n’importe quel Unix- de lire/écrire dans une base de données Sybase (CTLIB et DBLIB), Oracle, SQL Server
(DBLIB et ODBC) et/ou MySQL de manière unique et centralisée.

Un «métalangage» (écrit avec l’aide de Flex/Bison) a été ajouté de façon à accentuer cette portabilité.
Ce pseudo-langage se base sur le Transact-SQL (choisi pour la simplicité de sa syntaxe)
Une requête SQL d’un utilisateur sera donc convertie «à la volée» vers une syntaxe SQL propre à chaque constructeur.

Toujours dans l’idée de centralisation et de maintenance de code, de nombreuses surcouches sont disponibles (Delphi, PHP et .NET)
(A noter que cet outil a été également utilisé en tant que module pour le serveur d’application)

Développement/Amélioration de composants graphiques
Pour pallier au manque de composants graphiques sous Delphi 6/7, j’ai créé des composants graphiques «from scratch» comme une grille (pour optimiser les temps de remplissage/redessin écran des données par des requêtes SQL) et amélioré certains composants (contrôle RichEdit, Edit pouvant prendre en compte des types autres que les chaînes de caractères, …)

Administrateur réseau/parc de machines.
 Mise en place/configuration d’un intranet VPN/ADSL (en remplacement des anciennes solutions ISDN trop lourdes et trop couteuses) entre la maison mère à Paris et les antennes à Marseille et Bordeaux.
Utilisation du firewall IPCOP, divers routages via du BeWAN.
Pour les connexions avec les clients, solutions ADSL, avec des routages/protections sous Linux/Gentoo (utilisation des Iptables)

 Mise en place, pour le réseau interne, de serveurs SAMBA sous RS/6000-AIX, CentOS 4.2.

 Mise en place/configuration des serveurs de tests pour les applications
ACTION COMMERCIALE/PUBLISSIMO sous plusieurs plates-formes :
- Client WinXP pro. et/ou win98SE/win95,
- Serveur base de données Unix (Oracle/Sybase sous RS/6000, Linux 2.4 sous PC) et NT
(Win2K server avec Active-Directory, NT4.0)

 Configuration ISDN (routeurs 3COM)
(En interne XMEDIA MARSEILLE/PARIS et externe pour les divers clients)

Administration de base de données
Configurations/création/tuning et maintenance de base de données
Oracle 8, 9, 10 Solaris x86, SPARC, Linux, Windows 2K et AIX.
Sybase ASE 11.9, 12.0 et 1.5 Windows, Solaris SPARC, AIX, Linux et HP-UX.
MySQL 4.1 et 5.0 Windows, Linux et Solaris x86.

Développement de script sh/ksh/bash pour les dump/restore des bases de données.
Utilisation de Cygnus pour la portabilité Windows de ces scripts (environ une centaine aujourd’hui)
Développeur sur un logiciel d’action commerciale
 Sous-classement des composants standards COM pour une gestion plus souple. (ergonomie, look, …)
Programmation d’ActiveX en VB pour l’interface utilisateur (contrôle ocx), et en Visual C
(dll « standards ») et en C++ (ATL) pour les couches inférieures.
(Ex: Création d’une dll pour les connexions SQL pouvant gérer le RDO Microsoft)

 Gestion des échanges de données (HotSync) entre PALM-PILOT et Win32.
Utilisation du CDK 4.0 de Palm Inc. pour la synchronisation de 3 applications du PALM
(Datebook, Address et ToDo).
La DLL a été programmée en ATL/C++ sous VC 6.0 et intégrée dans le projet
d’ACTION COMMERCIALE.

 Développement de PUBLISSIMO, un applicatif en C (MSVC++ 5.0/6.0 pour NT) et SQL
(Oracle 7 et Sybase 11.9.2) utilisé par et pour la gestion des petites annonces des quotidiens
(La Provence, Nord-Républicain, Ouest-France,…) entraînant également la création de nombreux utilitaires :
- Programmation en C (AIX 4.2) des OCI-Oracle.
- Ecriture d’une librairie ftp pour la mise-à-jour à distance des versions. (Programmation C utilisant directement les sockets pour avoir une version compatible Unix et win32)
- Gestion de module TWAIN (win32) + traitement d’image scannées pour la mise en forme de petites annonces.

 Programmation en C (win32) d’un “stand-alone” d’impression Crystal-Report 6.0 utilisant
l’ODBC-text d’INTERSOLV. (pour garder la compatibilité 16/32bit)

Chef de projet sur la création d’un site internet/intranet
Pour le suivi de clientèle (fiches de bugs+aides aux paramétrages du logiciel PUBLISSIMO) décliné sous deux plates-formes :

 win32 avec IIS et script ASP, interfacé avec MS-Dev C 6.0 pour la création de DLL
(ActiveX pour un module d’upload, et ISAPI pour composition plus rapide des petites annonces en PostScript)

 Linux avec APACHE avec module PHP (vente du concept et de la technologie du site aux clients sous Unix)

Le site tourne avec une base Oracle 7.3 et comprend également des applets.
(Réécriture d’une textbox plus complète et plus compacte, scroll-text pour les offres promotionnelles)

IKOSOFT S.A du 05-10-94 au 31-10-98 Aix-en-Provence
 Responsable des modules en C (GNU-C) pour la création d'un "mini-langage" proche du BASIC et compatible avec le bytecode JAVA pour des applications internes de la société.
(Utilisation de Lex et Yacc pour la gestion du parseur, développement sous Linux)

 Programmation de logiciels de gestion (salon de coiffure) entièrement sous API Windows avec :
- MSVC 5.0/6.0 (version Win95, développement sous NT), avec ODBC et SYBASE
SQL-Anywhere 5.0 pour la gestion des données.
- WATCOM C 10.06 (version 3.11) sous win32S.

 Programmation d’ActiveX en Visual C pour Visual Basic 5.00/6.00
- Gestion ODBC32 «directe » (plus rapide et plus complète que le RDO du VB)
- Utilisation du sous-classement pour ajout de fonction au VB comme memmove,
meilleure gestion des chaînes, …
- Responsable du développement de routines assembleur x86 pour les graphismes
(Coupes, détourage, drag-and-drop) sous Windows 3.11 avec MASM.
- Création et programmation d’utilitaires de bureau (agenda) en C++ sous MSVC utilisant soit
le moteur SQL JetBase (ACCESS) soit ORACLE (avec driver ODBC)
- Programmation d’applets JAVA pour divers sites Internet.
(« Coiffures de Paris », «Jean-Louis-David »).

N.T.C.E du 24-06-93 au 05-08-94 Marseille
 Programmation et maintenance de serveurs télématiques en C sous UNIX (sous Olivetti).
 Conception et programmation de répondeurs vocaux sous PC-386 en Borland C
avec dos-extender PHAR-LAP.

AMK du 17-04-90 au 23-06-93 Roquevaire
 Conception/programmation et maintenance de serveurs télématiques pour les professions libérales. (Carnet de rendez-vous, informations consommateurs, …)
Multi-serveurs sous PC-386, programmés en MS-PASCAL sous MS-DOS.

UBI-SOFT en free-lance Paris
 Développement de routines assembleur 6502 et 68000 pour graphismes dans des applications ludiques. (Copies d’écrans rapides en 68000…)