Table of content

Presentation
UML Class diagram Memo
Singleton
Factory
Visitor
Strategy
Adapter
Composite
Interpreter
Chain of Responsibility
Observer

Other papers related to software development in C# .Net

A litle very old uncomplete paper on implementation of cryptographic algorithm in C, that I did during my studies. Cryptography is a war weapon.

Other technical works (French)

Ci dessous quelques documents techniques avec un aspect spécification, que j'ai réalisé aux cours de différentes aventures !

Un exemple de spécification que j'ai écrit lors d'un projet ou j'ai du mettre en place une solution pour faire communiquer un logiciel C# . NET client lourd avec un CRM sous Internet Explorer. La solution: échanger entre ces deux modules (ClientLourd/IE) par un ActiveX, tout en designant cet élément ActiveX de manière suffisamment générique afin qu'il soit réutilisable pour échanger avec n'importe quel autre module capable d'utiliser le protocole ActiveX.
Active X Switch API Spécification

De temps en temps en réunion, des règles sont dites à l'oral, rien n'est forcément écrit, c'est souvent des experts métiers qui parlent et qui exigent le respect de ces règles. Le diagramme de séquence est la solution qui permet de figer sur le papier une succession d'évènements qui ne sont pas toujours évidents à appréhender... et facile à oublier par ce même métier le jour où il y a un problème! La puissance des diagrammes de séquence permet d'identifier très rapidement les modules qui interviennent dans le déroulement d'un processus ( ce sont les lignes verticales)
Diagramme de séquence procédure opérationelle


Chez un des mes anciens employeurs ( Axalot.com, startup dans la sauvegarde de données en ligne qui a déposé le bilan en 2012) j'ai été responsable en 2010 du processus de récupération de données. Le contexte étant que Axalot, avait l'expertise de la mise en ligne de données et de permettre aux particuliers de récupérer ces données à partir d'un navigateur web ou d'un logiciel. Le projet a consisté à réaliser une aliance avec SPB qui est un assureur et la société O2M qui est un broker de matériel. Ce qui nous intéressait à l'époque était la partie matérielle des ordinateurs ( portable ou de bureau). Un ordinateur mis à disposition chez un broker pour réparation peut potentiellement perdre ses données qui sont présentes sur le disque dur. Nous allions alors mettre en place un banc industriel avec des connecteurs pour copier tous les disques et mettre leurs contenu en ligne car dans les faits les données présentes sur un disque sont souvent récupérables. Le deal était passé avec Orange qui avait pour objectif d'intégrer à son contrat d'assurance internet la récupération des données des pc en cas de sinistre (vol , casse). Nous avons tout mis en place, et bien que l'idée soit énorme, nous n'avons dans les fait jamais réalisé de cas opérationnels. La petite anecdote est que après la mise en service officielle annoncée par notre CEO, je suis allé moi même dans une boutique Orange pour savoir si ils assuraient les données de PC et j'ai recu une réponse négative. Mais bon pour le souvenir, voici le doc !
Intégration Axalot chez SPB/O2M


Chez Axalot j'ai été aussi impliqué dans un projet de migration de données. Le processus de migration de données a été réalisé en différentes étapes. Une des étapes à consisté à mettre en service un nouveau serveur (écrit en C, donc plus rapide) et désactiver l'ancien serveur en PHP. Afin de couvrir le risque de défaillance du nouveau serveur, j'ai eu la responsabilité de mettre en place un serveur Tampon. Ce serveur tampon devait être en frontal avec le client, enregistrer la requête du client et ses données, transmettre la requête au nouveau serveur, enregistrer la réponse du serveur et remonter la réponse au client. Ainsi nous avions un fichier stoquant toutes les requêtes et toutes les réponses pour les rejouer éventuellement et les retransmettre sur l'ancien serveur si sa remise en service aurait du être nécessaire. Ci dessous la spécification que j'ai écrite lors de ce projet dans laquelle j'ai passé en revue toutes les api du serveur pour les implémenter chacune individuellement. Spécification API serveur tampon
Ci dessous un synoptique qui n'est pas de l'UML mais qui permet de comprendre le mécanisme d'enregistrement des requêtes permettant l'éventuel rejeu sur le serveur PHP. Logger Tampon