Réflexions d'un développeur et (petit) éditeur de logiciels sur la DSN (Déclaration Sociale Nominative)

le bon sens, la logique et le parler vrai (tout du moins, sans langue de bois)

12.2 les acteurs invisibles à la base de la DSN

A l’origine de la DSN, Il y a deux acteurs invisibles, que seuls quelques initiés connaissent et sans lesquels la DSN n’existerait pas :

- la CNAV (caisse nationale d’assurance vieillesse)
- une société d’informatique (Obéo) qui évolue dans le monde du logiciel libre (Open Source)

Quand on ouvre un cahier technique de la DSN, on aperçoit sur la page de garde :
Rédaction :  Caisse nationale d’assurance vieillesse

Je me suis toujours posé la question : que vient faire ici la CNAV qui est un des composants du GIP-MDS ?

Un autre point m’intriguait : quand on lance le logiciel DSN-VAL permettant de contrôler une DSN, un écran initial (appelé splash screen) apparait puis disparait. Sur cet écran, il est écrit Saturne avec une phrase en français et la même en anglais.

Une recherche Google : Dsn val Saturne m’a appris bien des choses :

La DSN, tout comme la DADSU, est né d’un partenariat public-privé entre la Cnav et la société Obéo. Pourquoi la Cnav ? parce qu’apparemment un de ses informaticiens est féru de modélisation.

Pourquoi Obéo ? parce que cette société évolue dans le monde du logiciel libre (appelé Open Source) (Java, Eclipse, modélisation).

1)  le monde du logiciel libre


Dans le monde du logiciel libre, il y a, ce que j’appelle, les malins et les autres.

Les autres, ce sont les développeurs passionnés, fadas, fêlés, tarés d’informatique (les américains les appellent les geeks), ceux qui travaillent tard dans la nuit et se nourrissent de pizzas. On pourrait croire que ce sont eux les malins mais non ils font cela pour leur passion, pour la gloire, et bien sûr tout ceci gratuitement car qui dit logiciel libre dit logiciel gratuit. Il y a quelques années, j’ai fait partie de cette catégorie avec un Open Source international dans le développement Web.

Et puis, il y a les malins, ceux qui ramassent tout ce qui traine de gratuit, qui en rajoute eux-mêmes un peu. Ils sont malins car ils arrivent à facturer (beaucoup), non pas le logiciel de base car il est dit libre donc gratuit, mais toute une valeur ajoutée en audits, formations, conseils .. ainsi que des modules complémentaires qu’ils ajoutent sans les mettre dans le domaine du libre.

Je place Obéo dans cette seconde catégorie.

La Cnav et Obéo ont développé, à partir de logiciels libres, une modélisation de la paie. C’est la DSN.


2)  le détail de la conception de la DSN


Une très bonne présentation détaillée est disponible sur le lien suivant :

https://www.slideshare.net/OpenWorldForum/ossparis17-saturne-la-matrise-des-changes-de-donnes-massifs-par-lopen-source-par-romain-guider-et-olivier-rosec

Cette présentation a été rédigée à la fois par la CNAV et par Obéo.

On aperçoit dans cette présentation (page 6) que la DSN s’insère entre le N4DS et le RGCU.

Le N4DS, mise en production en 2012, sert pour la Déclaration Annuelle des Salaires. Ce que je disais dans l’article 22 'la DSN, une véritable usine à gaz', se trouve vérifié : la DSN est basée sur un principe de déclaration annuelle avec mise en forme inutile du fait de la même unité de temps (le mois) entre la paie et la transmission de données aux organismes.

Le RGCU (Répertoire de Gestion des Carrières Uniques) est une autre usine à gaz prévue pour 2019. Un rapport du sénat détaille les coûts du RGCU (je l’aborderais dans un prochain article).

Dans cette présentation (page 24), on apprend que :
- le socle Open Source (logiciel libre) est Eclipse et Eclipse Modeling
- le module complémentaire ajouté par Obéo est Saturne
- la Cnav a apporté la norme NeoDes
- des outils générés sont une brique de contrôle et DSN Val (contrôle externe)

On apprend également (page 13) les normes d’échanges avec les contrats d’interfaces :
- format technique : XML, CSV
- format logique : structure de messages, blocs de données, rubriques

Tout le problème de la DSN se situe à ce niveau.
La DSN demande aux entreprises de fournir le format logique (messages, blocs, rubriques) au lieu de fournir un format technique simple (CSV).

 
Il suffit d’appliquer ce que je préconise à l’article 51 'la solution proposée : simple, efficace et facile à mettre en œuvre', pour simplifier et stabiliser la DSN :

- envoi d’une TSN (avec un T comme Transmission au lieu d’un D comme Déclaration) en format technique CSV (c'est-à-dire le reflet exact des paies après avoir établi un plan de paie standard)

- charge à Obéo (ou autre) de réaliser une conversion entre le format technique CSV et le format logique

Le format logique est compliqué et on demande à chaque entreprise de le fournir, d’où les 250 risques d’erreur que j’écrivais précédemment (250 éditeurs de logiciels de paie).

Avec ma solution, s’il y a ensuite des erreurs, elles seront imputables au format logique mis en place par la Cnav, Obéo et le GIP-MDS et non plus à toutes les sociétés de France qui transmettraient alors simplement leurs données sans devoir les mettre en forme selon le format logique.

Toute l’explication du terme « usine à gaz » tient dans le fait que l’on a demandé aux entreprises de construire et d’envoyer le format logique. Il est inexplicable, impensable et inexcusable que personne n’ait réagi auparavant.

Le format appelé ici logique est le format interne des objets métiers. En programmation objet, tout n’est qu’objet : un salarié, un contrat de travail, un organisme ..

Les objets métier (Business Objets dans la langue de Shakespeare) ne sont correctement connus que par les personnes au fait du métier (ici la paie et les déclarations sociales). Il est donc tout à fait normal que ce soit le GIP-MDS, son MOA, AMOA et des éditeurs de logiciel (par contre, pas normal que ce ne soit que le SDDS) qui ont défini la structure des objets métiers donc un format logique. La Cnav et Obéo ont fourni le support, la modélisation, la forme et le GIP-MDS a fourni le détail, le fond.

Nous pouvons considérer la DSN comme une boite noire, avec une entrée principale (les déclarations fournies par les entreprises), des entrées complémentaires (tables de codes, par exemple, conventions collectives .., fournies elles au format CSV) et une sortie à destination des organismes.

Souvent les entrées en informatique proviennent de saisies effectuées à l’aide d’un écran et clavier via un formulaire de saisie. La saisie (provenant de l’interface utilisateur ou UI = User Interface) est ensuite transcrite dans la logique métier dans ce qui s’appelle des couches métier et d’accès aux données (BLL = Business Logic Layer et DAL = Data Access Layer). La saisie demandée à l’utilisateur doit toujours être facile, ergonomique, elle ne doit être en aucun cas le reflet exact de la logique métier.

Avec la DSN, c’est ce qui a été fait : l’entrée est le reflet exact de la logique métier. Ceci est la source de la complexité avec d’énormes erreurs possibles.

A mon avis, ceci a été fait ainsi pour plusieurs raisons :
- facilité car on ne s’embête pas à programmer une interface entre un format simple d’entrée vers un format logique
- complexité car comme je l’écrivais dans l’article du blog intitulé « quand c’est compliqué » :
« quand c’est flou, c’est qu’il y a un loup »,
« et quand c’est compliqué, c’est qu’il y a des intérêts à protéger et peut-être des choses à cacher ».
- chaque gros éditeur de logiciels a voulu sa part du gâteau en programmant directement le format logique (d’où 250 risques d’erreurs). Ceci est à l’opposé de la DGIFip, service public unique qui demande la transmission d’un fichier simple (fichier FEC) pour la transmission des données comptables. Maintenant, avec le prélèvement à la source, la DGIFip est tombé dans le piège de la DSN. (DGIFip = Direction Générale des Impôts et des Finances publiques).


3)  Eclipse et Eclipse Modeling


Wikidépia nous dit :

« Eclipse a été initié par IBM pour remplacer, en utilisant Java, l'IDE Visual Age, alors basé sur Smalltalk. Dès l'origine du projet, IBM a voulu offrir une solution multiplate-forme, pouvant être exécutée sur les différents systèmes d'exploitation de ses clients.

En novembre 2001, est initiée la Fondation Eclipse, à l'instigation de poids lourds de l'informatique comme Borland, IBM ou Red Hat; IBM place alors sa plateforme Eclipse en open source. Eclipse est ainsi un environnement de développement libre.

Le nom d'Eclipse fut l'une des raisons pour lesquelles Sun Microsystems refusa de se joindre au projet. Cependant, d'après Lee Nackman, directeur de la technologie d'IBM Rational Software, c'était Microsoft Visual Studio, le principal concurrent, que le projet voulait éclipser8.  »

Eclipse Modeling Framework (EMF) est un framework (espace de travail) de modélisation, une infrastructure de génération de code et des applications basées sur des modèles de données structurées.

Il a également été lancé par IBM puis donné à la fondation Eclipse.

Avec le fichier DSN, l’entreprise présente ses données, en format logique, sous forme d’objets afin que :
- EMF les lise
- génère du code java.
- effectue des traitements
- mémorise les données dans des bases de données

4)  mon sentiment sur la méthode utilisée


Personnellement je pense que la modélisation des données, la génération de codes et la mémorisation automatique des données (appelée binding) sont de bonnes solutions.

J’utilise les mêmes principes tous les jours mais dans le monde du concurrent mentionné plus haut : Microsoft Visual Studio.

Microsoft a adopté le même principe de la mise d’outils dans le monde du logiciel libre.
Le pendant de EMF dans le libre autour de Microsoft est Entity Framework (EF).

Microsoft travaille autour de Windows, Eclipse travaille autour d’Unix, Linux et Java.
Le choix entre les deux est une question de préférence, de connaissances, d’histoires. Peu importe.

En résumé pour la DSN, j’approuve le choix d’EMF mais je conteste le fait que les données fournies par les entreprises doivent l'être à un format logique spécifique au lieu d’un format technique simple (CVS) utilisé partout ailleurs (fichiers FEC ..).

Ce format logique évolue sans cesse dans le temps, ce qui est normal mais ce qui ne l'est pas, c'est que ce sont les entreprises qui pâtissent de ces évolutions.

Ajouter un commentaire

Loading