Outils pour utilisateurs

Outils du site


admin:services:drop.chapril.org

Ceci est une ancienne révision du document !


Service drop.chapril.org

en cours de rédaction

Introduction

Création de la VM avec la procédure Création d'une machine virtuelle « bling ».

Préparation

Pour le stockage, nous utilisons un second disque. Il est ajouté à la VM via l'interface virt-manager.

Création de la partition de stockage :

# fdisk  /dev/vdb

Choisir n puis les choix par défaut.

Création du Volume Group et Logic Volume :

# pvcreate  /dev/vdb1
# vgcreate drop-data-vg /dev/vdb1
# lvcreate -L 49G -n data drop-data-vg

Création du FS et du dossier de montage :

# mke2fs -L drop -e remount-ro -m 0 /dev/mapper/drop--data--vg-data
# mkdir /var/drop/

Ajout dans /etc/fstab du point de montage :

/dev/mapper/drop--data--vg-data /var/drop ext4 noexec,nosuid,nodev,errors=remount-ro 0 0

Essai de montage :

# mount /var/drop/

Ajout d'un dossier pour le stockage futur des fichiers :

# mkdir /var/drop/files
# chown -R app:app /var/drop/files

Installation de NodeJS et NPM :

# apt install -y nodejs npm

Ajout d'un utilisateur pour exécuter l'application :

# useradd  -s /bin/false app

Installation

Récupération du code :

# mkdir /srv/drop/www
# chown -R app:app /srv/drop/
# sudo -u app git clone https://github.com/mozilla/send.git /srv/drop/www
# cd /srv/drop/www
# sudo -u app git checkout v3.0.21

Récupération des dépendances et complication :

# sudo -u app npm install
# sudo -u app npm run build

Création du service dans /etc/systemd/system/drop.service :

[Unit]
Description=drop
After=network.target

[Service]
Type=simple
User=app
WorkingDirectory=/srv/drop
ExecStart=npm run prod
Restart=always

[Install]
WantedBy=multi-user.target

Démarrage et activation du service :

# systemctl start drop.service
# systemctl enable drop.service

Personnalisation

À FAIRE.

Favicon

Remplacement des fichiers suivants :

assets/favicon-16x16.png 
assets/favicon-32x32.png
public/favicon.ico

Puis :

sudo -u app npm run build
systemctl restart drop

Fichier CSS Chapril

L'ajout du fichier CSS Chapril est fait via le Nginx sur la vm bastion :

    include /etc/nginx/chapril-banner-location;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto https;
        proxy_pass http://192.168.1.110:1443;
        subs_filter '</head>' '<link rel="stylesheet" type="text/css"  href="/chapril.css" /></head>';
        sub_filter_once on;
    }

Bannière Chapril

FirefoxSend est pleinement du NodeJS, c'est à dire que les pages sont complétement générées par du Javascript. Ce code Javascript supprime supprime le code déjà existant, ce qui rend très difficile l'insertion de code de façon contrôlée. Suite à différents échecs, il a été décidé de modifier le code de FirefoxSend pour y mettre directement le code de la bannière.

Ça se passe dans le fichier app/ui/header.js.

   createElement() {
-    const title =
-      platform() === 'android'
-        ? html`
-            <a class="flex flex-row items-center">
-              <img src="${assets.get('icon.svg')}" />
-              <svg class="w-48">
-                <use xlink:href="${assets.get('wordmark.svg')}#logo" />
-              </svg>
-            </a>
-          `
-        : html`
-            <a class="flex flex-row items-center" href="/">
-              <img
-                alt="${this.state.translate('title')}"
-                src="${assets.get('icon.svg')}"
-              />
-              <svg class="w-48 md:w-64">
-                <use xlink:href="${assets.get('wordmark.svg')}#logo" />
-              </svg>
-            </a>
-          `;
     return html`
       <header
-        class="main-header relative flex-none flex flex-row items-center justify-between w-full px-6 md:px-8 h-16 md:h-24 z-20 bg-transparent"
+        class="main-header relative flex-none flex flex-row items-center justify-between px-6 md:px-8 z-20 bg-transparent"
       >
-        ${title} ${this.account.render()}
+        <!-- Chapril banner code: starting… -->
+        <div id="chapril-banner">
+          <div id="chapril-banner-zone">
+            <div id="chapril-banner-logo">
+              <a href="https://www.chapril.org/"
+                ><img
+                  src="/Chapril-banner/v1/chapril-logo-small.png"
+                  alt="Logo Chapril"
+              /></a>
+            </div>
+            <div id="chapril-banner-menu">
+              <ul>
+                <li><a href="https://www.chapril.org/">Accueil Chapril</a></li>
+                <li>
+                  <a href="https://www.chapril.org/services.html"
+                    >Services libres</a
+                  >
+                </li>
+                <li>
+                  <a href="https://pouet.april.org/@aprilorg">Nous suivre</a>
+                </li>
+                <li><a href="https://www.chapril.org/cgu.html">CGU</a></li>
+                <li>
+                  <a href="https://www.chapril.org/a-propos.html"
+                    >Mentions légales</a
+                  >
+                </li>
+                <li>
+                  <a href="https://www.chapril.org/contact.html"
+                    >Nous contacter</a
+                  >
+                </li>
+              </ul>
+            </div>
+            <div id="chapril-banner-aprillogo">
+              <a href="https://www.april.org/"
+                ><img
+                  src="/Chapril-banner/v1/april-logo-small.png"
+                  class="chapril-banner-logo"
+                  alt="Logo April"
+              /></a>
+            </div>
+          </div>
+        </div>
+        <!-- Chapril banner code: done. -->
       </header>
     `;
   }

Pied de page

Ça se passe dans le fichier app/ui/footer.js.

-    const translate = this.state.translate;
-    const browser = browserName();
-    const feedbackUrl = `https://qsurvey.mozilla.com/s3/Firefox-Send-Product-Feedback?ver=${version}&browser=${browser}`;
     return html`
       <footer
-        class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-60 dark:text-grey-40 md:items-center justify-between"
+        class="flex flex-col md:flex-row items-start w-full flex-none self-start p-6 md:p-8 font-medium text-xs text-grey-60 dark:text-grey-40 md:justify-end justify-between"
       >
-        <a class="mozilla-logo m-2" href="https://www.mozilla.org/">
-          Mozilla
-        </a>
-        <ul
-          class="flex flex-col md:flex-row items-start md:items-center md:justify-end"
+        <a
+          href="https://admin.chapril.org/doku.php?id=admin:chatons:drop.chapril.org#personnalisation"
+          rel="noreferrer noopener"
+          alt="Version"
+          target="_blank"
         >
-          <li class="m-2">
-            <a href="https://www.mozilla.org/about/legal/terms/services/#send">
-              ${translate('footerLinkLegal')}
-            </a>
-          </li>
-          <li class="m-2">
-            <a href="/legal"> ${translate('footerLinkPrivacy')} </a>
-          </li>
-          <li class="m-2">
-            <a href="https://www.mozilla.org/privacy/websites/#cookies">
-              ${translate('footerLinkCookies')}
-            </a>
-          </li>
-          <li class="m-2">
-            <a href="https://github.com/mozilla/send">GitHub </a>
-          </li>
-          <li class="m-2">
-            <a
-              href="${feedbackUrl}"
-              rel="noreferrer noopener"
-              class="feedback-link"
-              alt="Feedback"
-              target="_blank"
-            >
-              ${translate('siteFeedback')}
-            </a>
-          </li>
-        </ul>
+          FirefoxSend chapril-${version}
+        </a>
       </footer>
     `;
   }

Encart de promo

Ça se passe dans le fichier app/ui/promo.js.

 class Promo extends Component {
   constructor(name, state) {
@@ -15,24 +15,8 @@ class Promo extends Component {
   createElement() {
     return html`
       <send-promo
-        class="w-full flex-row items-center content-center justify-center bg-white text-grey-80 px-4 py-3 flex border-b border-grey-banner leading-normal dark:bg-grey-90 dark:text-grey-20 dark:border-grey-80"
-      >
-        <div class="flex items-center mx-auto">
-          <img
-            src="${assets.get('master-logo.svg')}"
-            class="w-6 h-6"
-            alt="Firefox"
-          />
-          <span class="ml-2 sm:ml-4 text-xs sm:text-base">
-            ${this.state.translate('trailheadPromo')}${' '}
-            <a
-              class="underline link-blue"
-              href="http://www.mozilla.org/firefox/accounts/?utm_source=send.firefox.com&utm_medium=banner&utm_campaign=trailhead&utm_content=protect-your-privacy"
-              >${this.state.translate('learnMore')}</a
-            >
-          </span>
-        </div>
-      </send-promo>
+        class="send-promo w-full flex-row items-center content-center justify-center bg-white text-grey-80 px-4 py-3 flex border-b border-grey-banner leading-normal dark:bg-grey-90 dark:text-grey-20 dark:border-grey-80"
+      ></send-promo>
     `;
   }
 }
diff --git a/package-lock.json b/package-lock.json

Texte d'accueil

Ça se passe dans le fichier public/locales/fr/send.ftl.

-introDescription = { -send-brand } vous permet de partager des fichiers chiffrés de bout en bout ainsi qu’un lien qui expire automatiquement. Ainsi, vous pouvez garder ce que vous partagez en privé et vous assurer que vos contenus ne restent pas en ligne pour toujours.
+introDescription = DropChaprilOrg vous permet de partager des fichiers chiffrés de bout en bout ainsi qu’un lien qui expire automatiquement. Ainsi, vous pouvez garder ce que vous partagez en privé et vous assurer que vos contenus ne restent pas en ligne pour toujours.

Configuration

Journaux

À Faire.

Modération

Il n'y a pas d'interface d'administration graphique.

En cas de demande de retrait de fichier, identifier l'identifiant du fichier dans l'URL.

Par exemple, pour : https://drop.chapril.org/download/c255369c68c0f7d7/#SR9oUMJrKQeVUdr0hqzwQQ

L'identifiant est c255369c68c0f7d7. Se connecter en SSH sur le serveur et supprimer le fichier de l'index :

# redis-cli DEL c255369c68c0f7d7

Rapport d'activité mensuelle automatique

À faire.

admin/services/drop.chapril.org.1577416857.txt.gz · Dernière modification : 2019/12/27 03:20 de admin