Tu trouveras l’ensemble des référentiels applicables aux services numériques développés pour le compte du Pays dans cette partie de la documentation.
Ces référentiels ne sont pas optionnels, les différents processus de contrôle au SIPf veilleront à leur application.
Un point sur la stack technique
La stack technique est la liste de tous les outils technologiques utilisés pour développer et faire fonctionner les applications développées ou mises en oeuvre pour le Pays. C’est une combinaison d’outils et de languages de programmation qui sont utilisés en fonction des domaines d’applications.
Norme et protocole standard
| Nom | Description |
|---|---|
| RGPD | Référentiel général de protection des données |
| RGS | Référentiel général de sécurité |
| RGI | Référentiel général d’interopérabilité |
| RGAA | Référentiel général d’accessibilité |
| REST | Standard d’architecture pour API |
| OpenAPI | Standard de documentation d’API |
| AsyncAPI | Standard de documentation de file d’attente applicative |
| Oauth2 | Protocole de délégation d’autorisation |
| OpenID Connect | Protocole d’authentification |
| SAML2 | Protocole d’échange d’identité |
| S3 | Protocole de stockage d’objets |
Bien que SAML2 fasse partie des protocoles autorisés, nous préférons très largement l’utilisation d’OpenID Connect. Merci de le prendre en compte dans le cadre de vos développements.
Stack technique validée
La stack technique suivante est actuellement validée/acceptée au SIPf.
Les équipes ont le choix de prendre les outils ci-dessous ou de proposer de nouveaux outils à ajouter à la liste pour expérimentation. Vous devrez ensuite pitcher votre outils au comité d’architecture en le comparant s’il y a lieu à un outils équivalent en terme de fonctionnalité et qui serait valide dans la liste.
Langage de développement
| Nom | Version |
|---|---|
| Java | Dernière version long-term support (LTS) |
| Python | Version 3.8 |
| Node.js | Dernière version long-term support (LTS) |
| Javascript | ES6 / ECMAScript 2015 |
| Typescript | Dernière version stable (LTS si elle existe) |
Framework
| Nom | Version |
|---|---|
| Spring Boot | Dernière version stable (LTS si elle existe) |
| Angular | Dernière version long-term support (LTS) |
| React | Dernière version stable (LTS si elle existe) |
| Vue.js | Dernière version stable (LTS si elle existe) |
| Flask | En expérimentation |
| FastAPI | En expérimentation |
| OpenLayers | En expérimentation |
| Leaflet | En expérimentation |
| Tensorflow | En expérimentation |
Outils de versionning
| Nom | Version |
|---|---|
| Git | Dernière version stable (LTS si elle existe) |
Nous avons deux outils de versionning actifs : https://gitlab.gov.pf et https://github.com/govpf.
Bases de données
| Nom | Version |
|---|---|
| PostgreSQL | Dernière version stable (LTS si elle existe) |
| MongoDB | Version 5 |
| Elasticsearch | Version 7 |
| Neo4J | En expérimentation |
| Redis | En expérimentation |
Message Queue
| Nom | Version |
|---|---|
| RabbitMQ | En expérimentation |
Infrastructure
| Nom | Version |
|---|---|
| Docker | Dernière version stable |
| Docker Swarm | Dernière version stable |
| Kubernetes | Dernière version stable |
Les services numériques que vous développez devront, obligatoirement, être livrés sous forme de conteneur Docker. La recette, le mode de construction et de déploiement doivent être totalement transparente (le code devra être hébergé dans un de nos 2 gestionnaires de code source).
Mieux vaut utiliser les conteneurs que nous construisons (au lieu de conteneurs publics), cela facilitera grandement les contrôles avant la mise en production effective de votre service numérique. Ils sont disponible à cette adresse : https://hub.docker.com/u/govpf
Reverse proxy
| Nom | Version |
|---|---|
| Apache | Dernière version stable |
| Nginx | Dernière version stable |
| Traefik | Dernière version stable |
Services transverses
Les services transverses sont mutualisés à la plupart des services numériques en production.
| Nom | Description |
|---|---|
| Gitlab | Gestionnaire de code source (instance privée) |
| Github | Gestionnaire de code source (instance publique) |
| Tefenua | Service de cartographie |
| Keycloak | Provider d’identité (Version 4.12) |
| Openfisca | Moteur de calcul centralisé |
| Alfresco | Gestionnaire électronique de documents |
| Odoo | ERP/CRM |
| Payzen | Paiement en ligne |
| Timestamp | Plateforme SaaS d’horodatage |
| Artifactory | Gestionnaire d’artefact, utilisé aussi pour les échanges de données extérieurs |
| Gravitee | En expérimentation |
| CKAN | En expérimentation |
| SendingBlue | En expérimentation |
| Mailjet | En expérimentation |
Les CMS
| Nom | Version |
|---|---|
| Strapi | Dernière version stable |
| Wordpress | Dernière version stable |
On veillera à limiter le nombre de plugins Wordpress, aussi, une validation des plugins sera demandé lors du processus de mise en production.
Les autres services
| Nom | Version |
|---|---|
| Démarches simplifiées | Dernière version stable |
| Talend | Dernière version stable |
| ArcGis | Dernière version stable |
| Jasper | Dernière version stable |
Stack technique dépréciée
La stack technique dépréciée comprend des outils et/ou langages de programmation anciennement utilisés au SI et désormais déconseillés pour la création de nouveaux projets.
| Nom | Version |
|---|---|
| Subversion | Toutes les versions |
| CVS | Toutes les versions |
| Evidian | Toutes les versions |
| Tapestry | Toutes les versions |
| Oracle Forms | Toutes les versions |
| Oracle Database | Toutes les versions |
| Java | Toutes les versions < 8 |
| Spring | Toutes les versions < 5 |
| PHP | Toutes les versions |