Conception & développement des systèmes d'information

La vie et le développement d'un système d'information relève de l'interaction harmonieuse de plusieurs dimensions:

Les lignes qui suivent contiennent une sélection de quelques documents et références utiles sur le sujet.

Gouvernance des systèmes d'information

La gouvernance des systèmes d'information s'intéresse à la performance et à la gestion des risques associés aux systèmes d'information.

Lors d'un projet informatique complexe, on peut craindre qu'un professionnel des technologie de l'information ne se retrouve seul pour prendre des décisions-clés. En effet, d'autres composantes de l'entreprises, bien que concernées, peuvent ne pas avoir les compétences techniques pour comprendre et intervenir à bon escient.

Il s'agit donc de définir des outils permettant à l'ensemble des intervenants (directions générales, direction financière, conseil d'administration...) d'interagir avec le système d'information et de participer aux prises de décision les concernant. C'est ainsi que, suite à divers dysfonctionnements graves (Enron, Arthur Andersen et Worldcom...), les principes de bonne gouvernance récemment énoncés (Sarbanes-Oxley, Bâle II) comportent un volet IT.

Les objectifs principaux de la gouvernance des SI sont d'assurer que les investissements IT sont générateurs de valeur, de contrôler les risques et finalement, de piloter la DSI avec des indicateurs métiers. Les moyens pour atteindre ces objectifs comprennent la définition des infrastructures, responsabilités, processus, etc. Plusieurs outils sont actuellement disponibles et complémentaires:

  • Control Objectives for Information and related Technology (COBIT®). Il s'agit d'un ensemble de best practices (framework) pour la gestion des systèmes d'information, créé par le Information Systems Audit and Control Association (ISACA) et le IT Governance Institute (ITGI) en 1992. COBIT permet aux managers et auditeurs de bénéficier d'indicateurs leur permettant de contribuer à la gouvernance de manière efficace. Dans sa 4e édition, COBIT a 34 objectifs de haut niveau couvrant 215 objectifs de contrôle catégorisés dans quatre domaines:
    1. Planifier et organiser (Plan and Organize)
    2. Acquérir et Implémenter (Acquire and Implement)
    3. Livraison et support (Delivery and Support)
    4. Contrôler et évaluer (Monitor and Evaluate)
    Le guide d'audit permet d'évaluer et de justifier les risques et les faiblesses des objectifs généraux et détaillés et de mettre en place des actions correctives. Le guide de management fournit des indicateurs clés d'objectif et de performance et des facteurs clés de succès. Un modèle de maturité évalue l'atteinte d'un ou plusieurs objectifs généraux sous forme d'une échelle de 0 à 5:
    1. Inexistant.
    2. Existant mais non organisé (initialisé au cas par cas).
    3. Décrit (reproductible mais intuitif).
    4. Défini (avec documentation).
    5. Surveillé et mesuré.
    6. Optimisé.
  • Capability Maturity Model Integration (CMMI®). Dans les années 1980, le Department of Defense (DoD) américain a demandé l'élaboration d'un référentiel de critères lui permettant d'évaluer ses fournisseurs de logiciel. Après une lente maturation, le Carnegie Mellon SEI (Software Engineering Institute) financé par le DoD a présenté en 1991 le CMM (Capability Maturity Model, désormais rebaptisé SW-CMM pour "software engineering"). Ce modèle de référence ne concernait que les bonnes pratiques du génie logiciel. Des déclinaisons ont ensuite vu le jour: systems engineering (SE), Integrated Product and Process Development (IPPD) et supplier sourcing (SS). Le CMMI, proposé en 2001, regroupe l'ensemble de ces modèles (sauf la gestion des ressources humaines - People CMM - qui n'est pas encore intégrée). Les bonnes pratiques préconisées par le modèle sont rassemblées en 24 macro-processus eux-mêmes regroupés en niveaux de maturité au nombre de cinq:
    • Initial : Les facteurs de réussite des projets ne sont pas identifiés, la réussite ne peut donc être répétée (par dérision, ce niveau est aussi nommé héroïque ou chaotique).
    • Piloté : Les projets sont pilotés individuellement et leurs succès sont répétables.
    • Standardisé : Les processus de pilotage des projets sont mis en place au niveau de l'organisation par l'intermédiaire de normes, procedures, outils et méthodes.
    • Quantifié : La réussite des projets est quantifiée. Les causes d'écart peuvent être analysées.
    • Optimisé : La démarche d'optimisation est continue.

    Il y a deux manières de représenter la progression: soit par étapes (maturity levels), soit de manière continue (capability levels).

  • Information Technology Infrastructure Library (ITIL®). ITIL, développé par le UK Government's Office of Government Commerce (OGC), consiste en une série de documents définissant sept ensembles de points-clé (les deux premières sont les plus souvent utilisées et ici détaillées):
    • Service Support (Soutien aux services):
      • La gestion des changements (Change Management)
      • La gestion des mises en production (Release Management)
      • La gestion des problèmes (Problem Management)
      • La gestion des incidents (Incident Management)
      • La gestion des configurations (Configuration Management)
      • Le centre de services (Service Desk)
    • Service Delivery (Fourniture aux services):
      • La gestion financière des TI (IT Financial Management)
      • La gestion des capacités (Capacity Management)
      • La gestion de la disponibilité (Availability Management)
      • La gestion de la continuité (IT Continuity Management)
      • La gestion des niveaux de service (Service Level Management)
    • Gestion des infrastructures des TIC (ICT Infrastructure Management)
    • Planification pour la mise en oeuvre des services (Planning To Implement)
    • Gestion des applications (Applications Management)
    • Point de vue Business (Business Perspective)
    • Gestion de la sécurité (Security Management)

    Les normes de gestion de services rendus sur la base d'une infrastructure informatique et de télécommunications, en suivant les recommandations ITIL, sont connus sous le nom de ITSM (IT Service Management). L'ITSM est normalisé au Royaume-Uni sous la référence BS 15000 et au niveau international est inclus dans la norme ISO 20000.

Mes publications et exposés en programmation orientée objet

  • Cours de programmation orientée objet et Java en Licence, Université de Poitiers (2002-2006)
    download CM1.pdf: introduction, environnement, types de base, notion de classe
    download CM2.pdf: classes, constructeurs, encapsulation, destruction
    download CM3.pdf: héritage simple, polymorphisme, Object
    download CM4.pdf: classes abstraites, héritage multiple, interfaces
    download CM5.pdf: interruptions, paquetages, javadoc, collections, Java 1.5
    download CM6.pdf: transtypage, égalité, comparabilité, clonage
    download CM7.pdf: UML, conception OO, projet
    download CM8.pdf: fichiers, sérialisation, threads, applets
    download CM9.pdf: révisions autour de String, immuabilité
    download poly.pdf: polycopié

Mes publications et exposés autour de la validité du développement logiciel

  • Cours de Logique en Licence, Université Paris XII (2002-2003).
    download poly.pdf: polycopié
  • Découvrez Objective Caml, GNU/Linux & Hurd Magazine France n° 43 (oct. 2002).

    Résumé:

    Objective Caml (Ocaml pour les intimes) est un langage de programmation magnifique: flexible, sûr, d'exécution rapide, doté de nombreuses bibliothèques (graphiques, réseau, ...). Il est souvent, à tort, considéré comme une curiosité qui n'intéresserait que quelques informaticiens théoriciens. Dans cet article, nous parcourrons rapidement l'arbre généalogique de ce langage pour en comprendre les principes fondateurs et familiariser le lecteur avec la programmation fonctionnelle; nous présenterons ensuite les différents modes de travail d'Ocaml et quelques aspects originaux de ce langage. Nous terminerons par un petit exemple d'utilisation des bibliothèques graphique et Unix et l'évocation des autres outils de développement disponibles pour Ocaml.

    Abstract:

    Objective Caml (aka Ocaml) is a wonderful programming language: flexible, safe, efficient, equipped with many libraries (graphics, network,...). It is often seen as a curiosity used only by theoretical computer scientists. In this article, we briefly browse the genealogical tree of this language to understand its main principles and to familiarize the reader with functional programming; then we present the different working modes and some of the original aspects of this language. We finish with a small example that features the graphics and Unix libraries and with the evocation of other developping tools that are available for Ocaml.

  • Cours de programmation fonctionnelle en Licence, Université Paris XII (2001--2003)
    download poly.pdf: polycopié

Mes publications, exposés et logiciels en algorithmique et mathématiques effectives

  • A Newton-Puiseux root finding algorithm over function fields of curves, exposé aux Journées Nationales de Calcul Formel, CIRM, (novembre 2005).

    Résumé:

    Nous proposons un algorithme pour trouver les racines d'un polynôme univarié à coefficients dans le corps de fonction d'une courbe algébrique (ou plus généralement dans un corps discrètement valué). Cette méthode peut être appliquée au décodage en liste des codes géométriques lors que la méthode de Newton-Hensel ne peut être utilisée.

    Abstract:

    We propose an algorithm to find the roots of a univariate polynomial with coefficients in the function field of an algebraic curve (or more generally, in a discretely valued field). This method can be applied to the list decoding of algebraic-geometric codes when the Newton-Hensel method can't be used.

  • Introduction au système de calcul formel Magma. Exposé au séminaire du groupe algèbre effective et calcul formel du Laboratoire de Mathématiques de l'Université de Poitiers, France (octobre 2004).
  • Le système de calcul formel Magma. Exposé invité au Séminaire du Laboratoire de Mathématiques, de l'Université de Montpellier II, France (juin 2004).
  • La primalité d'un entier est facile à tester. Séminaire du Laboratoire d'algorithmique, complexité et logique, de l'Université Paris XII, France (décembre 2002).
  • Reconstruction of geometric functions and applications. Finite Fields: Theory and Applications, Oberwolfach, Allemagne (janvier 2001).
  • An Algorithm to Get some Factors of Bivariate Polynomials without Factoring. Fifth International Conference on Finite Fields and Applications, Augsburg, Germany (août 1999).
  • Empilements de sphères et problèmes connexes - Application du recuit simulé pour l'optimisation d'empilements hétérogènes en dimension finie. Supervision: Bernard Ycart Séminaire des Élèves de l'École Normale Supérieure de Lyon, France, 1996.
  • Contribution au package MAGMA de théorie des codes (contribution to coding theory package in MAGMA)

    Résumé:

    J'ai participé à la réalisation du package de théorie des codes intégré dans le système de calcul formel MAGMA. En particulier, j'ai collaboré à l'implantation de nouveaux codes tels les codes géométriques de Goppa et les codes sur les anneaux. J'ai également programmé des algorithmes de décodage et des bornes sur les codes.

    Abstract:

    I have participated to the realisation of the coding theory package in the computer algebra system MAGMA. In particular, I have collaborated on the implementation of new codes like Goppa's algebraic-geometric codes and codes over rings. I also programmed decoding algorithms and bounds on codes.

  • Programme de calcul des bornes d'Oesterlé (Oesterlé bounds computation program)

    Résumé:

    Ce package contient deux programmes. L'un calcule une borne inférieure sur le genre d'une courbe définie sur un corps fini fixé possédant un nombre de points rationnels donné. L'autre calcule une borne supérieure sur le nombre de points rationnels d'une courbe de genre donné sur un corps fini fixé.

    Abstract:

    This package contains two programs. The first program computes a lower bound on the genus of a curve defined over a fixed finite field, given its number of points. The second one computes an upper bound on the number of rational points of a curve of given genus, over a fixed finite field.

Mes publications et exposés en architecture des ordinateurs et systèmes d'exploitation

  • Cours d'architecture en DEUG, Université Paris XII, (2002-2003)

Autres contributions logicielles

  • Un exemple Metafont/LaTeX: le symbole € (A Metafont/LaTeX example: the € symbol)

    Résumé:

    Ce package contient un fichier Metafont lpeuro.mf et un fichier lpeuro.sty pour afficher le symbole euro dans les documents LaTeX. Le fichier lpeuro.pdf, compilé à partir de lpeuro.tex (tous deux inclus dans la tarball) explique le fonctionnement du package.

    Abstract:

    This package features a Metafont file: lpeuro.mf and a file lpeuro.sty to display the euro symbol in LaTeX documents. The lpeuro.pdf, compiled from lpeuro.tex (both included in the tarball) describes how to use the package.

Responsibilities & Positions Held: Research, Development and Teaching | Red Cross | Medical | IT R&D: Information Security | Design of Information Systems | Teachings | Scientific Communication |
IT Projects: Public service and organizations | Telecom | Health | Defense | Insurance & Finance | Supply Chain & Transport | Tools | Culture: Cinema | History | Jokes | Literature | Music | Philosophy | Poetry | Science ]