Skip to content

Commit

Permalink
Merge pull request #22 from dnum-mi/feat/external-website-link
Browse files Browse the repository at this point in the history
add gitlabcidso, dockerfile
  • Loading branch information
mogador26 authored Apr 29, 2024
2 parents e55a3c3 + 0bb3ed4 commit 72fd69e
Show file tree
Hide file tree
Showing 6 changed files with 142 additions and 20 deletions.
45 changes: 45 additions & 0 deletions .gitlab-ci-dso.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
include:
- project: $CATALOG_PATH
file: vault-ci.yml
ref: main
- project: $CATALOG_PATH
file: kaniko-ci.yml
ref: main

default:
image: alpine:latest

cache:
paths:
- node_modules

variables:
REGISTRY_URL: "${REGISTRY_HOST}/${PROJECT_PATH}"

stages:
- read-secret
- docker-build

read_secret:
stage: read-secret
extends:
- .vault:read_secret

docker-build:
variables:
TAG: "${CI_COMMIT_REF_SLUG}"
WORKING_DIR: ./
DOCKERFILE: ./Dockerfile.bitnami
IMAGE_NAMES: app-cct:1.0 app-cct:latest
stage: docker-build
extends:
- .kaniko:build-push
rules:
- if: $CI_COMMIT_BRANCH == "dev"
variables:
IMAGE_NAMES: app-cct:dev
- if: $CI_COMMIT_BRANCH == "main"
variables:
IMAGE_NAMES: app-cct:1.0 app-cct:latest


51 changes: 51 additions & 0 deletions Dockerfile.bitnami
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
FROM node:18 as builder


ARG http_proxy
ARG https_proxy
ARG npm_registry
ARG no_proxy

# ENV NODE_ENV production

# Create app directory

WORKDIR /usr/src/app

# use proxy & private npm registry
# With internal npm repo (autosigned) disable strict ssl : strict-ssl false
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo "Europe/Paris" > /etc/timezone ; \
if [ ! -z "$http_proxy" ] ; then \
npm config delete proxy; \
npm config set proxy $http_proxy; \
npm config set https-proxy $https_proxy ; \
npm config set no-proxy $no_proxy; \
fi ; \
[ -z "$npm_registry" ] || npm config set registry=$npm_registry ; \
[ -z "$npm_registry" ] || npm config set strict-ssl false

RUN npm cache clean -force

# copy all dependances
COPY package.json .

# copy all source files into app workdir
COPY . .

# install dependencies
RUN npm install
RUN echo "installation"

# build
RUN npm run build
RUN npm run postbuild


# run production static api
FROM bitnami/nginx:1.24 AS web

WORKDIR /usr/share/nginx/html/

COPY --from=builder /usr/src/app/_site ./
COPY --from=builder /usr/src/app/_site/fr/index.html ./index.html
COPY nginx/nginx-run.template /opt/bitnami/nginx/conf/server_blocks/webserver.conf
30 changes: 16 additions & 14 deletions content/fr/1-chapeau/2-presentation-generale.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,21 +137,23 @@ Le CCT a une double portée, ministérielle et interministérielle :
appartenant au ministère
- Interministérielle dans le cas des applications n’appartenant pas au ministère
mais hébergées en son sein. Ce cas s’adresse principalement aux applications
Cloud Natives
Cloud Natives.

Dans ce cadre, les acteurs ciblés par le CCT peuvent être issus du MIOM, d’un autre
ministère et organisme de l’état ou d’un partenaire externe.
Les principaux rôles répertoriés sont les suivants :
- Les propriétaires des applications : référents de l’application qui gèrent son
homologation, maintiennent son registre RGPD…
- Les exploitants / hébergeurs : pour leurs exigences d'exploitabilité
- Les concepteurs / développeurs - qu'ils œuvrent dans les DSI ou dans les directions
métier, au sein du ministère ou avec des prestataires externes. Le CCT les aident
à intégrer leur produit dans l'écosystème ministériel et interministériel
(description des interfaces).
- Les architectes et intégrateurs. Le CCT les aide à s'orienter vers des architectures
à la fois maitrisées par le ministère et les plus appropriées au devenir du SI de l'État
- Les services accompagnant les passations de marché (au travers des clausiers et
de la notation des offres proposés dans le guide mentionné plus haut)

- Les propriétaires des applications : référents de l’application qui gèrent son
homologation, maintiennent son registre RGPD…
- Les exploitants / hébergeurs : pour leurs exigences d'exploitabilité
- Les concepteurs / développeurs - qu'ils œuvrent dans les DSI ou dans les directions
métier, au sein du ministère ou avec des prestataires externes. Le CCT les aident
à intégrer leur produit dans l'écosystème ministériel et interministériel
(description des interfaces).
- Les architectes et intégrateurs. Le CCT les aide à s'orienter vers des architectures
à la fois maitrisées par le ministère et les plus appropriées au devenir du SI de l'État
- Les services accompagnant les passations de marché (au travers des clausiers et
de la notation des offres proposés dans le guide mentionné plus haut)

## Utilisation du CCT au sein des projets et des processus

Expand Down Expand Up @@ -179,10 +181,10 @@ Le CCT du MIOM concerne en particulier les modèles de déploiements suivants :

Deux approches sont actuellement possibles pour la mise à disposition des applications :
l’approche « cloud native » et l’approche « legacy » :
1. La première, le Cloud Native, est à privilégier systématiquement lors de la
- La première, le Cloud Native, est à privilégier systématiquement lors de la
conception de nouvelles applications et lors de la transformation
d‘applications existantes.
2. La seconde, le legacy, héberge les applications déployées antérieurement et
- La seconde, le legacy, héberge les applications déployées antérieurement et
non compatibles avec les nouvelles normes. Elle ne pourra être utilisée pour
des nouveaux usages que de manière exceptionnelle et dérogatoire.

Expand Down
20 changes: 15 additions & 5 deletions content/fr/1-chapeau/Guide_CCT_dans_la_commande_publique.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,27 @@ Certains produits, quand ils ne figurent pas au référentiel, peuvent déroger

### <a name="Regl">Règles et recommandations</a>

|Ref|Statut|Intitulé|
|---|------|--------|
|-|RG|` `Un fournisseur désirant inclure dans sa solution un composant non référencé et donc non maîtrisé par le ministère dans le référentiel des produits du CCT, devra remplir les garanties pour que celui-ci puisse être considéré comme un logiciel « embarqué » dans l’application, et devra s’assurer que l’usage de ce composant n’impact pas la sécurité du SI. La gestion de ce composant est alors à la charge du demandeur sur tout le cycle de vie de celui-ci.|

{% from "components/component.njk" import component with context %}
{{ component("table", {
title: "",
headers: ["Ref","Statut","Intitulé"],
data: [
["-","RG","Un fournisseur désirant inclure dans sa solution un composant non référencé et donc non maîtrisé par le ministère dans le référentiel des produits du CCT, devra remplir les garanties pour que celui-ci puisse être considéré comme un logiciel « embarqué » dans l’application, et devra s’assurer que l’usage de ce composant n’impact pas la sécurité du SI. La gestion de ce composant est alors à la charge du demandeur sur tout le cycle de vie de celui-ci."]
]
}) }}


## <a name="Doc">Ressources documentaires</a>

De nombreux clausiers sont disponibles sur étagère. Quelques références suivent ci-dessous.

- Le site <https://www.numerique.gouv.fr/> présente dans le cas du logiciel libre des [« conseils à la rédaction de clauses de propriété intellectuelle pour les marchés de développement et de maintenance de logiciels libres »](https://www.economie.gouv.fr/apie/actualites/conseils-redaction-clauses-propriete-intellectuelle)
- Le site [numerique.gouv.fr](https://www.numerique.gouv.fr/) présente dans le cas du logiciel libre des [« conseils à la rédaction de clauses de propriété intellectuelle pour les marchés de développement et de maintenance de logiciels libres »](https://www.economie.gouv.fr/apie/actualites/conseils-redaction-clauses-propriete-intellectuelle)

- Le [site du SHFD - Service du Haut Fonctionnaire de Défense](http://ssi.minint.fr) présente ses propres [clauses concernant la sécurité du système d'information](http://ssi.minint.fr/index.php/clauses-de-securite-dans-les-marches) ainsi qu'un [guide de l'externalisation](http://ssi.minint.fr/files/referentiel_SSI/SSI_global/Guide_externalisation_V_1_0-1.pdf)
- Clausier propriété intellectuelle avec l’APIE et la DAE (Direction des Achats de l'État), daté de mars 2019 : [Guide de l'achat public - Achats informatiques et propriété intellectuelle](https://www.economie.gouv.fr/files/files/directions_services/dae/doc/Guide_PII_web.pdf).

- Clausier propriété intellectuelle avec l’APIE et la DAE (Direction des Achats de l'État), daté de mars 2019 : [Guide de l'achat public - Achats informatiques et propriété intellectuelle](https://www.economie.gouv.fr/files/files/directions_services/dae/doc/Guide_PII_web.pdf);

- Pour information : [Publications de l'Agence du Patrimoine Immatériel de l'État (APIE)](https://www.economie.gouv.fr/apie/publications)

**Remarque :** le contenu des offres de service est mis à disposition du soumissionnaire en tant que de besoin.
Expand Down
2 changes: 1 addition & 1 deletion content/fr/1-chapeau/xx-gestion-du-cct.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ Le responsable de contenus en prend connaissance et réalise les modifications n


## Génération et publication sur Internet

Après corrections apportées par le responsable des contenus, et validation par l'équipe d'Architecture d'Entreprise, un tag avec l'intitulé "officiel" est alors produit.

Les contenus du site web sont alors déployés sur l'Intranet et sur l'Internet.



{%include "components/back_to_top.njk" %}
14 changes: 14 additions & 0 deletions nginx/nginx-run.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
server {
listen 8080 default_server;
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;
real_ip_recursive on;

location / {
alias /usr/share/nginx/html/;
try_files $uri $uri.html $uri/ $uri/index.html;
}
location /_next/static {
alias /usr/share/nginx/html/_next/static;
}
}

0 comments on commit 72fd69e

Please sign in to comment.