Afficher/cacher Sommaire
Minipaint, le logiciel de dessin auto-hébergé
Minipaint est un logiciel classique de dessin / retouche. Sa particularité c’est de pouvoir l’auto-héberger dans un espace personnel en ligne. L’intérêt est évident, si vous avez des habitudes de travail avec MiniPaint, il vous suffit d’une connexion internet pour pouvoir l’utiliser n’importe où. Ici on retrouve les fonctionnalités classiques des logiciels de retouche auxquelles vont s’ajouter des possibilités supplémentaires de dessin. Du fait d’être en ligne, Minipaint n’est pas dépendant du système d’exploitation et fonctionnera aussi bien sur Linux que sur Windows ou MAC.
Installation Node.js/debian 9
Installation de Node.js v10.x sur debian 9 (Node source et distributions)
# Using Debian, as root
sudo -s
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs
Ce projet utilise webpack et npm. Npm permet d’installer et de mettre à jour toutes les bibliothèques avec seulement une simple commande npm update. Webpack permet de regrouper de nombreux js différents, fichiers css en 1 bundle.js et d’améliorer considérablement le temps de chargement des pages.
Le gestionnaire de paquets npm aide à gérer les dépendances.Mettez-le à jour vers la dernière version en utilisant (en mode root)
sudo npm install npm@latest -g
Les versions
node -v
v6.14.4
npm -v
6.4.1
Webpack, assurez-vous d’avoir au moins la version 6 npm
Instructions de construction
sudo mkdir /npm
sudo chown $USER.users -R /npm
cd /npm
git clone https://github.com/viliusle/miniPaint.git
cd miniPaint
Installer toutes les dépendances du fichier package.json dans le dossier node_module.
npm update
npm WARN miniPaint@4.1.0 scripts['server'] should probably be scripts['start'].
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ gif.js.optimized@1.0.1
+ file-saver@1.3.8
+ blueimp-canvas-to-blob@3.14.0
+ jquery@3.3.1
+ alertifyjs@1.11.1
+ exif-js@2.3.0
+ babel-polyfill@6.26.0
+ hermite-resize@2.2.4
added 874 packages from 596 contributors and audited 8838 packages in 47.855s
found 0 vulnerabilities
- Il y a 2 façons d’éditer les fichiers:
- Exécuter
npm run server
- il créera un serveur local simple (webpack-dev-server) avec rechargement en direct. Exécuter la commande, éditer les fichiers et déboguer à l’aide de l’URL http://localhost:8080/
Méthode recommandée - Modifier les fichiers et exécuter la commande
npm run dev
pour générer/mettre à jour dist/bundle.js.
- Exécuter
Pour générer du code minifié pour la production, exécutez npm run build
. Le code est construit à l’aide de webpack.
Commandes utiles
npm update
- il installera toutes les bibliothèques requises à partir du fichier package.json dans le dossier node_module.npm run
- liste toutes les commandes possibles de npm run. (AKA aide)npm run server
- crée le serveur http://localhost:8080/ pour un développement facile (aussi rechargement en direct).npm run dev
- crée ou met à jour le fichier dist/bundle.js, de sorte que les changements seront visibles.npm run build
- construit pour la production
paint.cinay.pw (serveur nginx)
Fichier de configuration du serveur nginx /etc/nginx/conf.d/paint.cinay.pw.conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name paint.cinay.pw;
include ssl_params;
# include header_params;
# Content-Security-Policy map.cinay.pw
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
location / {
proxy_pass http://localhost:8081;
}
}
Service minipaint/Systemd
Pour lancer le serveur Jekyll au démarrage , créer un bash sous /srv
nano /npm/miniPaint/start_minipaint.sh
#!/bin/sh
cd /npm/miniPaint
/usr/bin/npm run server
Droits sur le bash
sudo chown $USER. /npm/miniPaint/start_minipaint.sh
chmod +x /npm/miniPaint/start_minipaint.sh
Pour lancer le serveur Jekyll au démarrage, utilisation d’un service systemd
ATTENTION! , remplacer utilisateur par votre nom d’utilisateur (echo $USER)
sudo nano /etc/systemd/system/minipaint.service
Contenu du fichier
[Unit]
Description=minipaint npm service
After=network.target
[Service]
Type=simple
User=adxo
ExecStart=/bin/sh /npm/miniPaint/start_minipaint.sh
Restart=on-abort
[Install]
WantedBy=multi-user.target
Lancer le service minipaint :
sudo systemctl daemon-reload
sudo systemctl start minipaint
#Vérifier:
sudo systemctl status minipaint
Vérifier l’accès au site static https://paint.cinay.pw
Valider le lancement du service minipaint au démarrage
sudo systemctl enable minipaint