Commit 3dfcbfc5 authored by THEO GUILLON's avatar THEO GUILLON

Merge branch '2.0.0' into 'master'

2.0.0

Closes #96, #350, #349, #348 et #360

See merge request libriciel/pole-citoyens/web-DPO/web-DPO!453
parents c853dfb3 b689eda4
Pipeline #11186 failed with stage
in 1 minute and 52 seconds

Too many changes to show.

To preserve performance only 283 of 283+ files are displayed.
DB_HOST=web-dpo-db
DB_USERNAME=webdpo
DB_PASSWORD=webdpo
DB_APP_NAME=webdpo
DB_TEST_NAME=webdpo_test
ADD_DATA_DEV=1
TZ=Europe/Paris
DB_HOST=web-dpo-db
DB_USERNAME=webdpo
DB_PASSWORD=webdpo
DB_APP_NAME=webdpo
DB_TEST_NAME=webdpo_test
ADD_DATA_DEV=1
TZ=Europe/Paris
DB_HOST=web-dpo-db
DB_USERNAME=webdpo
DB_PASSWORD=webdpo
DB_APP_NAME=webdpo
DB_TEST_NAME=webdpo_test
ADD_DATA_DEV=0
TZ=Europe/Paris
......@@ -14,6 +14,7 @@
/app/Plugin/Database
/app/Plugin/FusionConv
/app/Plugin/LdapManager
/app/Plugin/LibricielChecks
/app/Plugin/Postgres
/app/Plugin/Translator
/app/webroot/js/bootstrap
......@@ -41,6 +42,7 @@
/sonar-project.properties
/sonar-scanner-3.3.0.1492-linux
/.scannerwork/
/.env
# OS generated files #
######################
......
deploy_ftp:
only:
- tags
image: ubuntu:16.04
image: ubuntu:20.04
variables:
TARBALL_NAME: web-dpo-${CI_COMMIT_REF_NAME}.tar.gz
TZ: Europe/Paris
PAYLOAD: "payload={\"text\": \"[web-DPO] Création de la version [$CI_COMMIT_REF_NAME](https://ressources.libriciel.fr/web-dpo/Package_web-dpo-${CI_COMMIT_REF_NAME}.tar.gz)\"}"
before_script:
......@@ -19,13 +20,19 @@ deploy_ftp:
# Disable strict host key checking
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- apt-get update && apt-get dist-upgrade -y -q
- apt-get install -y openssh-client lftp curl git
- apt-get install -y php7.0 php7.0-curl php-pear php7.0-gd php7.0-mbstring php7.0-mcrypt npm wget
- ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
- apt update
- apt install -y openssh-client lftp curl git
- apt install -y php7.4 php7.4-dev php7.4-curl php-pear php7.4-gd php7.4-mbstring libmcrypt-dev npm wget
- pecl channel-update pecl.php.net
- pecl install mcrypt-1.0.3
- echo "extension=mcrypt.so" > /etc/php/7.4/mods-available/mcrypt.ini
- phpenmod mcrypt
- pear channel-update pear.php.net
- php -v
- curl -s https://getcomposer.org/installer | php
- npm install -g bower
- ln -s /usr/bin/nodejs /usr/bin/node
- php composer.phar install --ignore-platform-reqs
script:
- cd ${PWD}
......
......@@ -3,34 +3,106 @@
Toutes les modifications apportées au projet seront documentées dans ce fichier.
Le format est basé sur le modèle [Keep a Changelog](http://keepachangelog.com/) et adhère aux principes du [Semantic Versioning](http://semver.org/).
2.0.0 - 2019-XX-XX
[2.0.0] - 18-09-2020
=====
### Ajouts
### Evolutions
- php7.2
### Corrections
### Suppressions
1.2.0 - 2019-XX-XX
=====
### Ajouts
## Ajouts
- Mise en place d'une FAQ.
- Mise en place de nouveau droits en rapport avec le FAQ.
- Mise en place d'un typage des annexes.
- Mise en place de l'initialisation d'un traitement par le DPO
- Mise en place de la visualisation de tous les traitements au sein de sa collectivité.
- Mise en place des traitements dit de sous-traitance (responsable de traitement externe)
- Mise en place d'un registre de sous-traitance
### sur les droits :
- Ajout d'un droit en rapport avec la création d'un article dans la FAQ.
- Ajout d'un droit en rapport avec la modification d'un article dans la FAQ.
- Ajout d'un droit en rapport avec la suppression d'un article dans la FAQ.
- Ajout d'un droit en rapport avec la visualisation d'un article dans la FAQ.
- Ajout d'un droit en rapport avec la gestion du typage des annexes.
- Ajout d'un droit en rapport avec la consultation de tous les traitements au sein de l'entité.
- Ajout d'un droit en rapport avec la création d'un co-responsable lors de la déclaration d'un traitement.
- Ajout d'un droit en rapport avec la création d'un sous-traitant lors de la déclaration d'un traitement.
### sur les formulaires :
- Mise en place de condition sur les différents champs du formulaire. Condition appliquée lors de la déclaration d'un traitement.
- Mise en place des champs pour la sous-finalité. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place des champs concernant la base légale. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place des champs concernant la prise de décision automatisée. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place des champs concernant le transfert des données hors UE. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place des champs concernant l'utilisation des données sensibles. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place de l'acceptation de différent format de fichier en annexe d'un traitement. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place des questions définissant si une AIPD est obligatoire ou pas. Avec paramétrage sur l'utilisation des champs dans un traitement.
- Mise en place de valeur par défaut lors de la création d'un traitement. Ces valeurs par défaut sont ajoutées lors de la création d'un traitement.
- Ajout de la possibilité de rendre obligatoire un champ case à coché dans le formulaire.
### sur les traitements :
- Ajout d'un champ sur la réalisation de l'AIPD
- Ajout d'un champ sur le dépôt de l'AIPD
- Déclaration de traitement en tant que sous-traitant pour le compte d'un responsable de traitement. Avec notion de sous-traitance ultérieure.
### sur les modèles :
- Ajout des variables concernant les informations complémentaires.
- Ajout des variables concernant le responsable de traitement.
- Ajout des variables concernant l'AIPD.
- Ajout des variables concernant les co-responsables.
- Ajout des variables concernant les sous-traitants.
- Ajout des variables concernant les annexes.
### sur les co-responsables :
- Ajout des informations relatives au DPO.
### sur les sous-traitants :
- Ajout des informations relatives au DPO.
### sur les normes :
- Ajout des normes "Actes réglementaires uniques" (RU-060, RU-063, RU-065, RU-066)
- Ajout des normes "Normes simplifiées" (NS-060)
- Ajout des normes "Référentiel santé" (RS)
- Ajout des normes "Méthodologies de référence" (MR)
### sur le registre :
- Ajout de nouveau filtre
## Evolutions
- Affichage de l'onglet "Information de l'entité" lors de la visualisation d'un traitement au registre
- PostgreSQL 10.9
- PHP 7.4
- Ubuntu 20.04 LTS | Centos8
### sur les formulaires :
- Plus de distinction entre un formulaire sans sous-traitance et avec sous-traitance.
### sur les modèles :
- Modification de certaines variables.
### sur les co-responsables :
- Il n'y a plus de duplication des informations du co-responsable lors de la déclaration d'un traitement. Si le co-responsable est modifié les informations seront reportées automatiquement sur le traitement.
- Certains champs ne sont plus obligatoires.
### sur les sous-traitants :
- Il n'y a plus de duplication des informations du sous-traitant lors de la déclaration d'un traitement. Si le sous-traitant est modifié les informations seront reportées automatiquement sur le traitement.
- Certains champs ne sont plus obligatoires.
### sur un traitement :
- Évolution du libellé du champ "Finalité"
- Évolution du libellé du champ "Transfert hors UE"
- Évolution du libellé du champ "Données sensibles"
## Corrections
- Abroger norme "Actes réglementaires uniques" (RU-059)
- Générations documentaires
- Génération au format CSV
### Evolutions
### Corrections
### Suppressions
- Suppression de l'onglet "Information de l'entité" lors de la création, modification et visualisation d'un traitement
- Suppression du verrouillage des traitements au registre.
1.1.0 - 2019-12-03
[1.1.0] - 03-12-2019
=====
### Ajouts
......@@ -85,7 +157,7 @@ connecté.
- Suppression de l'affichage des variables du co-responsable dans les variables pour l'extrait de registre.
- Suppresion de la visualisation d'un profil.
1.0.1 - 2018-12-13
[1.0.1] - 13-12-2018
=====
### Ajouts
......@@ -104,7 +176,7 @@ en place pour faciliter l'affichage et le changement.
- Génération du registre avec les annexes.
- Modification du nom des varibles dans l'aide pour crée les modèles.
1.0.0 - 2018-07-03
[1.0.0] - 03-07-2018
=====
### Ajouts
......
CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
Version 2.1 du 2013-06-21
Avertissement
Ce contrat est une licence de logiciel libre issue d'une concertation
entre ses auteurs afin que le respect de deux grands principes préside à
sa rédaction:
* d'une part, le respect des principes de diffusion des logiciels
libres: accès au code source, droits étendus conférés aux utilisateurs,
* d'autre part, la désignation d'un droit applicable, le droit
français, auquel elle est conforme, tant au regard du droit de la
responsabilité civile que du droit de la propriété intellectuelle et
de la protection qu'il offre aux auteurs et titulaires des droits
patrimoniaux sur un logiciel.
Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
sont:
Commissariat à l'énergie atomique et aux énergies alternatives - CEA,
établissement public de recherche à caractère scientifique, technique et
industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant
D, 75015 Paris.
Centre National de la Recherche Scientifique - CNRS, établissement
public à caractère scientifique et technologique, dont le siège est
situé 3 rue Michel-Ange, 75794 Paris cedex 16.
Institut National de Recherche en Informatique et en Automatique -
Inria, établissement public à caractère scientifique et technologique,
dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
Le Chesnay cedex.
Préambule
Ce contrat est une licence de logiciel libre dont l'objectif est de
conférer aux utilisateurs la liberté de modification et de
redistribution du logiciel régi par cette licence dans le cadre d'un
modèle de diffusion en logiciel libre.
L'exercice de ces libertés est assorti de certains devoirs à la charge
des utilisateurs afin de préserver ce statut au cours des
redistributions ultérieures.
L'accessibilité au code source et les droits de copie, de modification
et de redistribution qui en découlent ont pour contrepartie de n'offrir
aux utilisateurs qu'une garantie limitée et de ne faire peser sur
l'auteur du logiciel, le titulaire des droits patrimoniaux et les
concédants successifs qu'une responsabilité restreinte.
A cet égard l'attention de l'utilisateur est attirée sur les risques
associés au chargement, à l'utilisation, à la modification et/ou au
développement et à la reproduction du logiciel par l'utilisateur étant
donné sa spécificité de logiciel libre, qui peut le rendre complexe à
manipuler et qui le réserve donc à des développeurs ou des
professionnels avertis possédant des connaissances informatiques
approfondies. Les utilisateurs sont donc invités à charger et tester
l'adéquation du logiciel à leurs besoins dans des conditions permettant
d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
sécurité. Ce contrat peut être reproduit et diffusé librement, sous
réserve de le conserver en l'état, sans ajout ni suppression de clauses.
Ce contrat est susceptible de s'appliquer à tout logiciel dont le
titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
dispositions qu'il contient.
Une liste de questions fréquemment posées se trouve sur le site web
officiel de la famille des licences CeCILL
(http://www.cecill.info/index.fr.html) pour toute clarification qui
serait nécessaire.
Article 1 - DEFINITIONS
Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
lettre capitale, auront la signification suivante:
Contrat: désigne le présent contrat de licence, ses éventuelles versions
postérieures et annexes.
Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
Source et le cas échéant sa documentation, dans leur état au moment de
l'acceptation du Contrat par le Licencié.
Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
éventuellement de Code Objet et le cas échéant sa documentation, dans
leur état au moment de leur première diffusion sous les termes du Contrat.
Logiciel Modifié: désigne le Logiciel modifié par au moins une
Contribution.
Code Source: désigne l'ensemble des instructions et des lignes de
programme du Logiciel et auquel l'accès est nécessaire en vue de
modifier le Logiciel.
Code Objet: désigne les fichiers binaires issus de la compilation du
Code Source.
Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
sur le Logiciel Initial.
Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
Contrat.
Contributeur: désigne le Licencié auteur d'au moins une Contribution.
Concédant: désigne le Titulaire ou toute personne physique ou morale
distribuant le Logiciel sous le Contrat.
Contribution: désigne l'ensemble des modifications, corrections,
traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
le Logiciel par tout Contributeur, ainsi que tout Module Interne.
Module: désigne un ensemble de fichiers sources y compris leur
documentation qui permet de réaliser des fonctionnalités ou services
supplémentaires à ceux fournis par le Logiciel.
Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
Module et le Logiciel s'exécutent dans des espaces d'adressage
différents, l'un appelant l'autre au moment de leur exécution.
Module Interne: désigne tout Module lié au Logiciel de telle sorte
qu'ils s'exécutent dans le même espace d'adressage.
GNU GPL: désigne la GNU General Public License dans sa version 2 ou
toute version ultérieure, telle que publiée par Free Software Foundation
Inc.
GNU Affero GPL: désigne la GNU Affero General Public License dans sa
version 3 ou toute version ultérieure, telle que publiée par Free
Software Foundation Inc.
EUPL: désigne la Licence Publique de l'Union européenne dans sa version
1.1 ou toute version ultérieure, telle que publiée par la Commission
Européenne.
Parties: désigne collectivement le Licencié et le Concédant.
Ces termes s'entendent au singulier comme au pluriel.
Article 2 - OBJET
Le Contrat a pour objet la concession par le Concédant au Licencié d'une
licence non exclusive, cessible et mondiale du Logiciel telle que
définie ci-après à l'article 5 <#etendue> pour toute la durée de
protection des droits portant sur ce Logiciel.
Article 3 - ACCEPTATION
3.1 L'acceptation par le Licencié des termes du Contrat est réputée
acquise du fait du premier des faits suivants:
* (i) le chargement du Logiciel par tout moyen notamment par
téléchargement à partir d'un serveur distant ou par chargement à
partir d'un support physique;
* (ii) le premier exercice par le Licencié de l'un quelconque des
droits concédés par le Contrat.
3.2 Un exemplaire du Contrat, contenant notamment un avertissement
relatif aux spécificités du Logiciel, à la restriction de garantie et à
la limitation à un usage par des utilisateurs expérimentés a été mis à
disposition du Licencié préalablement à son acceptation telle que
définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié
reconnaît en avoir pris connaissance.
Article 4 - ENTREE EN VIGUEUR ET DUREE
4.1 ENTREE EN VIGUEUR
Le Contrat entre en vigueur à la date de son acceptation par le Licencié
telle que définie en 3.1 <#acceptation-acquise>.
4.2 DUREE
Le Contrat produira ses effets pendant toute la durée légale de
protection des droits patrimoniaux portant sur le Logiciel.
Article 5 - ETENDUE DES DROITS CONCEDES
Le Concédant concède au Licencié, qui accepte, les droits suivants sur
le Logiciel pour toutes destinations et pour la durée du Contrat dans
les conditions ci-après détaillées.
Par ailleurs, si le Concédant détient ou venait à détenir un ou
plusieurs brevets d'invention protégeant tout ou partie des
fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
opposer les éventuels droits conférés par ces brevets aux Licenciés
successifs qui utiliseraient, exploiteraient ou modifieraient le
Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
faire reprendre les obligations du présent alinéa aux cessionnaires.
5.1 DROIT D'UTILISATION
Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
aux domaines d'application, étant ci-après précisé que cela comporte:
1.
la reproduction permanente ou provisoire du Logiciel en tout ou
partie par tout moyen et sous toute forme.
2.
le chargement, l'affichage, l'exécution, ou le stockage du Logiciel
sur tout support.
3.
la possibilité d'en observer, d'en étudier, ou d'en tester le
fonctionnement afin de déterminer les idées et principes qui sont à
la base de n'importe quel élément de ce Logiciel; et ceci, lorsque
le Licencié effectue toute opération de chargement, d'affichage,
d'exécution, de transmission ou de stockage du Logiciel qu'il est en
droit d'effectuer en vertu du Contrat.
5.2 DROIT D'APPORTER DES CONTRIBUTIONS
Le droit d'apporter des Contributions comporte le droit de traduire,
d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
et le droit de reproduire le logiciel en résultant.
Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
cette Contribution et la date de création de celle-ci.
5.3 DROIT DE DISTRIBUTION
Le droit de distribution comporte notamment le droit de diffuser, de
transmettre et de communiquer le Logiciel au public sur tout support et
par tout moyen ainsi que le droit de mettre sur le marché à titre
onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
non, à des tiers dans les conditions ci-après détaillées.
5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
sous forme de Code Source ou de Code Objet, à condition que cette
distribution respecte les dispositions du Contrat dans leur totalité et
soit accompagnée:
1.
d'un exemplaire du Contrat,
2.
d'un avertissement relatif à la restriction de garantie et de
responsabilité du Concédant telle que prévue aux articles 8
<#responsabilite> et 9 <#garantie>,
et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
le Licencié permette un accès effectif au Code Source complet du
Logiciel pour une durée d'au moins 3 ans à compter de la distribution du
logiciel, étant entendu que le coût additionnel d'acquisition du Code
Source ne devra pas excéder le simple coût de transfert des données.
5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
de distribution du Logiciel Modifié en résultant sont alors soumises à
l'intégralité des dispositions du Contrat.
Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
code source ou de code objet, à condition que cette distribution
respecte les dispositions du Contrat dans leur totalité et soit
accompagnée:
1.
d'un exemplaire du Contrat,
2.
d'un avertissement relatif à la restriction de garantie et de
responsabilité du Concédant telle que prévue aux articles 8
<#responsabilite> et 9 <#garantie>,
et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
3.
d'une note précisant les conditions d'accès effectif au code source
complet du Logiciel Modifié, pendant une période d'au moins 3 ans à
compter de la distribution du Logiciel Modifié, étant entendu que le
coût additionnel d'acquisition du code source ne devra pas excéder
le simple coût de transfert des données.
5.3.3 DISTRIBUTION DES MODULES EXTERNES
Lorsque le Licencié a développé un Module Externe les conditions du
Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
sous un contrat de licence différent.
5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
Le Licencié peut inclure un code soumis aux dispositions d'une des
versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le
Logiciel modifié ou non et distribuer l'ensemble sous les conditions de
la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
aux dispositions d'une des versions de la licence GNU GPL, GNU Affero
GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même
version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.