Skip to content

Commit

Permalink
Close Add privacy policy and some links #9
Browse files Browse the repository at this point in the history
  • Loading branch information
artandor committed Sep 18, 2021
1 parent f0ecbe4 commit 830a4ed
Show file tree
Hide file tree
Showing 13 changed files with 327 additions and 47 deletions.
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"riskio/oauth2-auth0": "^2.4",
"sensio/framework-extra-bundle": "^6.1",
"symfony/asset": "5.3.*",
"symfony/config": "5.3.*",
"symfony/console": "5.3.*",
"symfony/dotenv": "5.3.*",
"symfony/expression-language": "5.3.*",
Expand Down
34 changes: 17 additions & 17 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions src/Controller/PrivacyPolicy.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

#[Route(path: "/privacy-policy", name: "privacy")]
final class PrivacyPolicy extends AbstractController
{
public function __invoke(): Response
{
return $this->render('privacy.html.twig');
}
}
7 changes: 4 additions & 3 deletions src/Form/StreamInfoType.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use App\Entity\TitleHistory;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

Expand All @@ -13,9 +14,9 @@ class StreamInfoType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title')
->add('category')
->add('submit', SubmitType::class);
->add('title', TextType::class, ['label' => 'stream.title'])
->add('category', TextType::class, ['label' => 'stream.category'])
->add('submit', SubmitType::class);//TODO Translate that
}

public function configureOptions(OptionsResolver $resolver)
Expand Down
12 changes: 7 additions & 5 deletions templates/base.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<html lang="{{ app.request.locale }}">
<head>
<meta charset="UTF-8">
<title>{% block title %}OpenMultiStream{% endblock %}
</title>
<title>{% block title %}Multistream Tools{% endblock %}</title>
<link rel="icon" href="/favicon.svg" sizes="any" type="image/svg+xml">
{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
{% endblock %}
Expand All @@ -12,14 +12,16 @@
{{ encore_entry_script_tags('app') }}
{% endblock %}
<script src="https://cdn.jsdelivr.net/gh/alpinejs/[email protected]/dist/alpine.min.js" defer></script>
<script async defer data-domain="multistream-tools.live" src="https://analytics.nicolasmylle.fr/js/plausible.js"></script>
<script async defer data-domain="multistream-tools.live"
src="https://analytics.nicolasmylle.fr/js/plausible.js"></script>
</head>
<body class="h-full w-full bg-white relative flex bg-gray-100">
<body class="h-full w-full bg-white relative flex flex-col min-h-screen bg-gray-100">
{% include "sidebar.html.twig" %}
<div class="pl-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="pl-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex-auto">
<div class="max-w-2xl mx-auto py-16 sm:py-24 lg:py-32 lg:max-w-none">
{% block body %}{% endblock %}
</div>
</div>
{% include "footer.html.twig" %}
</body>
</html>
40 changes: 40 additions & 0 deletions templates/footer.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<footer class="items-center p-4 footer bg-neutral text-neutral-content flex fixed bottom-0 justify-between w-10/12 self-center">
<div class="flex items-center">
<img src="{{ asset('favicon.svg') }}" width="24" height="24"/>
<p class="ml-2">Copyright © 2021 - All right reserved</p>
</div>
<div><a href="{{ path('privacy') }}" target="_blank" rel="noopener">Privacy policy</a></div>
<div class="grid-flow-col gap-4 md:place-self-center md:justify-self-end inline-flex">
<a href="https://github.com/artandor/multistream-tools" target="_blank" rel="noopener">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
</svg>
</a>
<a href="https://github.com/artandor/multistream-tools/issues" target="_blank" rel="noopener">
<svg id="Layer_1" height="24" viewBox="0 0 512 512" width="24" xmlns="http://www.w3.org/2000/svg"
data-name="Layer 1">
<path d="m337.533 34.477-48.9 31.581a5.982 5.982 0 0 0 -1.781 1.779l-21.081 32.551a6 6 0 1 0 10.073 6.522l20.381-31.47 47.817-30.883a6 6 0 1 0 -6.51-10.08z"/>
<path d="m165.932 36.262a6 6 0 0 0 1.785 8.3l47.817 30.878 20.381 31.47a6 6 0 1 0 10.072-6.522l-21.08-32.551a5.994 5.994 0 0 0 -1.781-1.779l-48.9-31.581a6 6 0 0 0 -8.294 1.785z"/>
<path d="m298.16 145h-36.16v138.793l78-77.649v-20.444c0-22.807-19.029-40.7-41.84-40.7z"/>
<path d="m221.817 133h68.125c-4.63-10-18.176-25.693-34.062-25.693s-29.433 15.693-34.063 25.693z"/>
<path d="m127.915 322.218c0 48.153 31.474 85.9 50.2 104.113 25.76 25.056 53.885 39.551 71.885 42.595v-168.164l-83.7-83.636c-24.421 27.632-38.385 65.551-38.385 105.092z"/>
<path d="m250 145h-36.4c-22.811 0-41.6 17.893-41.6 40.7v20.44l78 77.649z"/>
<path d="m345.577 217.126-83.577 83.636v168.338c17-2.52 45.131-16.128 72.255-42.749 18.543-18.2 49.65-55.926 49.65-104.132 0-39.541-13.905-77.46-38.328-105.093z"/>
<path d="m447.918 478.386a6 6 0 0 0 2.146-11.807c-1.354-.246-7.26-4.31-16.319-19.24-6.589-10.861-12.144-23.208-13.508-30.026-3.653-18.267-42.635-27.061-50.413-28.639a6 6 0 0 0 -2.386 11.761c18.72 3.809 39.675 12.445 41.032 19.231 2.93 14.653 23.758 55.867 39.448 58.72z"/>
<path d="m445.989 303.581c-1.354-.247-7.26-4.31-16.318-19.241-6.59-10.86-12.145-23.208-13.508-30.026-3.654-18.267-42.637-27.061-50.414-28.638a6 6 0 0 0 -2.385 11.761c25.288 5.128 40.078 14.463 41.032 19.23 2.93 14.653 23.755 55.867 39.447 58.72a6 6 0 0 0 2.146-11.806z"/>
<path d="m58.125 310.558a5.992 5.992 0 0 0 6.976 4.829c15.69-2.853 36.516-44.067 39.448-58.72 1.356-6.786 22.312-15.422 41.033-19.231a6 6 0 0 0 -2.387-11.76c-7.777 1.577-46.76 10.371-50.414 28.638-1.363 6.818-6.919 19.166-13.508 30.026-9.058 14.931-14.964 18.994-16.319 19.241a6 6 0 0 0 -4.829 6.977z"/>
<path d="m57.106 473.556a5.992 5.992 0 0 0 6.976 4.83c15.69-2.853 36.517-44.067 39.448-58.72 1.357-6.786 22.312-15.422 41.032-19.231a6 6 0 0 0 -2.386-11.761c-7.778 1.578-46.76 10.372-50.413 28.639-1.364 6.818-6.919 19.165-13.508 30.026-9.059 14.93-14.965 18.994-16.319 19.24a6 6 0 0 0 -4.83 6.977z"/>
<path d="m370.777 155.365 25.049-48.17 27.471-3.662a6 6 0 0 0 -1.586-11.895l-30.563 4.075a6 6 0 0 0 -4.53 3.179l-24.963 48.008-25.935 2.2a6 6 0 0 0 .5 11.979c.17 0 .341-.008.514-.022l29.227-2.483a6 6 0 0 0 4.816-3.209z"/>
<path d="m124.559 98.892a6 6 0 0 0 -4.531-3.179l-30.562-4.075a6 6 0 0 0 -1.586 11.895l27.471 3.662 25.048 48.17a6 6 0 0 0 4.816 3.211l29.226 2.483c.173.014.344.022.515.022a6 6 0 0 0 .5-11.979l-25.936-2.2z"/>
</svg>
</a>
<a href="https://www.patreon.com/multistreamtools" target="_blank" rel="noopener">
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" width="24" height="24"
fill="currentColor">
<path fill-rule="evenodd"
d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z"
clip-rule="evenodd"/>
</svg>
</a>
</div>
</footer>
2 changes: 1 addition & 1 deletion templates/home/update-stream-infos.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

{% if title_history.count %}
<div class="my-4">
<label for="titleHistory">Last 10 titles</label>
<label for="titleHistory">{{ "stream.lastTitles"|trans }}</label>
<select id="titleHistory"
class="shadow border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline">
<option></option>
Expand Down
200 changes: 200 additions & 0 deletions templates/privacy.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
{% extends "base.html.twig" %}

{% block body %}
<div>
<h1>POLITIQUE DE PROTECTION DES DONNEES PERSONNELLES</h1>

<p>Dernière mise à jour : September 19, 2021</p>

<div class="mb-3">
<p>Objet : Multistream Tools</p>

<p>Cette Politique de protection des Données Personnelles s’applique à toutes les informations personnelles
traitées à l’occasion de l'utilisation de Multistream Tools.</p>

<p>Elle a en ce sens pour objet de définir les conditions dans lesquelles vos données personnelles seront
collectées et utilisées lorsque vous utiliserez l’application et ses Services associés. La présente
Politique de
protection des Données Personnelles explique également les droits que vous pouvez avoir sur ces
informations
personnelles.</p>

<p>Les données à caractère personnel recueillies lors de l’utilisation de l’application et de ses Services
associés
font l'objet d'un traitement informatisé. Ces données sont traitées de manière transparente,
confidentielle
et
sécurisée.</p>

<p>Ce traitement de données à caractère personnel est régit :</p>

<ul>
<li>Par la loi n°78-17 du 6 janvier 1978 modifiée relative à l’informatique, aux fichiers et aux
libertés
(ci-après « loi IEL »)
</li>

<li>Par le règlement (UE) 2016/679 du parlement européen et du conseil du 27 avril 2016 (ci-après « RGPD
»).
</li>
</ul>
</div>


<div class="mb-3">
<p>En accédant ou en utilisant l’application, vous indiquez avoir lu, compris et accepté la présente
Politique
de
protection des Données Personnelles et que vous acceptez de vous conformer et d’être légalement lié par
ces
présentes conditions. Dans l’éventualité où vous n’accepteriez pas ces conditions, nous vous demandons
de
vous
abstenir d'utiliser l’application.</p>
</div>

<div class="mb-3">
<h2>Responsable du traitement des données :</h2>

<p>Multistream Tools.</p>
</div>

<div class="mb-3">
<h2>Traitement des données personnelles :</h2>

<p>Les données personnelles peuvent être librement fournies par l’Utilisateur, ou, en cas de données
d’utilisation,
collectées automatiquement lorsque vous utilisez cette application. Sauf indication contraire, toutes
les
données demandées sont obligatoires et leur absence peut rendre impossible la fourniture des Services.
Dans
les
cas où il est précisé que certaines données ne sont pas obligatoires, les Utilisateurs sont libres de ne
pas
les
communiquer sans entraîner de conséquences sur la disponibilité ou le fonctionnement du Service. Les
Utilisateurs sont responsables de toute donnée personnelle de tiers obtenue, publiée ou communiquée et
confirment qu’ils obtiennent le consentement du tiers pour fournir les données à Multistream Tools.</p>
</div>

<div class="mb-3">
<p>Les données à caractère personnel collectées sont les suivantes :</p>

<ul>
<li>
Pseudonyme
</li>
<li>
Adresse e-mail
</li>
</ul>
</div>

<div class="mb-3">
<p>Elles sont collectées pour les finalités suivantes :</p>

<ul>
<li>
Pour fournir et exploiter les Services – Base légale : Exécution d’un contrat
</li>
<li>
Pour développer, personnaliser, étendre et améliorer nos Services, sur la base des préférences, de
l’expérience et des difficultés communes ou personnelles des Utilisateurs – Base légale : Exécution
d’un
contrat
</li>
<li>
Pour répondre aux demandes d’application de la loi, protéger ses droits et intérêts (ou ceux de ses
Utilisateurs ou de tiers) ainsi que détecter toute activité malveillante ou frauduleuse – Base
légale :
Intérêt
légitime;
</li>
<li>
Inscription et authentification - Base légale : Exécution d’un contrat.
</li>
</ul>
</div>

<div class="mb-3">
<h3>Durée de conservation des données :</h3>

<p>Les Données personnelles sont traitées et conservées aussi longtemps que requis pour la finalité pour
laquelle
elles ont été collectées.</p>

<p>Par conséquent :</p>

<p>Les Données personnelles collectées à des fins liées à l'exécution d'un contrat entre Multistream Tools
et
l'Utilisateur doivent être conservées jusqu'à la pleine exécution du contrat.</p>

<p>Les Données personnelles collectées aux fins des intérêts légitimes de Multistream Tools doivent être
conservées aussi longtemps que nécessaire pour atteindre ces objectifs.</p>

<p>Multistream Tools peut être autorisé à conserver des Données personnelles plus longtemps chaque fois que
l’Utilisateur a donné son consentement à un tel traitement, tant que ce consentement n’est pas retiré.
En
outre,
Multistream Tools peut être obligé de conserver des Données personnelles plus longtemps chaque fois que
cela
est
requis pour l'exécution d'une obligation légale ou sur ordre d'une autorité. Une fois la période de
conservation
expirée, les Données personnelles seront supprimées.</p>
</div>

<div class="mb-3">
<h3>Sécurité des données :</h3>

<p>Multistream Tools prend les mesures de sécurité appropriées afin d’empêcher l’accès, la divulgation, la
modification ou la destruction non autorisés des Données. Le traitement des Données est effectué à
l’aide
d’ordinateurs ou d’outils informatiques, en suivant les procédures et les modes organisationnels
étroitement
liés aux finalités indiquées. Outre Multistream Tools, les Données peuvent être accessibles, dans
certains
cas,
à
certaines catégories de personnes en charge du fonctionnement de cette Application ou à des parties
externes
(telles que les fournisseurs tiers de services techniques, les services de messagerie, les fournisseurs
d’hébergement, les entreprises informatiques).</p>
</div>
<div class="mb-3">
<h3>Droit d’accès de l’utilisateur :</h3>

<p>Conformément au règlement européen (UE) 2016/679 du 27 avril 2016 relatif à la protection des personnes
physiques à l'égard du traitement des données à caractère personnel, et à la loi "Informatique, fichiers
et
libertés" n° 78-17 du 6 janvier 1978 modifiée vous disposez, selon la base légale sur laquelle se fonde
le
traitement de vos données, d'un droit d'accès, d'opposition, de rectification, d'effacement ou de
limitation
de
traitement aux données vous concernant.</p>

<p>Si vous souhaitez exercer ces droits et obtenir une communication des informations vous concernant,
veuillez
nous contacter par mail via nicolas.mylle.pro[at]gmail.com</p>

<p>Si vous estimez, après nous avoir contactés, que vos droits Informatique et Libertés ne sont pas
respectés,
vous
pouvez adresser une réclamation en ligne à la CNIL : www.cnil.fr ou par courrier postal ; la CNIL, 3
Place
de
Fontenoy – TSA 80715 – 75334 PARIS CEDEX 07.</p>
</div>
<div class="mb-3">
<h3>Modifications de la présente politique de protection des données personnelles :</h3>

<p>Multistream Tools se réserve le droit d'apporter des modifications à la présente politique de protection
des
données personnelles, à tout moment, en informant ses Utilisateurs sur cette page. Il est fortement
recommandé
de consulter cette page fréquemment, en se référant à la date de la dernière modification indiquée en
bas.</p>
</div>
</div>
{% endblock body %}
Loading

0 comments on commit 830a4ed

Please sign in to comment.