Vous êtes ici

Blogs

Convertir une page de dokuwiki en markdown

Fichier attachéTaille
Image icon 1280px-Markdown-mark.svg_.png9.37 Ko

Voilà quelques temps déjà je me suis décidé à maximiser progressivement mon utilisation de la syntaxe Markdown, c'est pourquoi j'ai installé il y a quelques mois le filtre adapté pour Drupal (pour rappel le CMS utilisé pour réaliser ce blog). Après m'être aussi familiarisé avec lui sur le réseau social diaspora* et la rédaction de documentations professionnelles je poursuis cet effort en prévoyant de migrer progressivement de DokuWiki vers Wiki.js (qui permet de rédiger directement des pages de wiki en markdown), à cet effet je me suis posé la question de savoir s'il était possible à minima de récupérer certains articles sans avoir à les réécrire. Et c'est effectivement le cas. Je vous expose donc une méthode manuelle reposant sur l'utilitaire de conversion en ligne de commande Pandoc.

Il m'aurait été possible de décrire comment convertir tout le wiki puisque dokuwiki stocke les pages sous forme de fichiers, mais ce n'est pas l'objet de ce tutoriel qui se veut plus simple à comprendre et généralisable à d'autres systèmes de wiki sans avoir nécessairement accès au Back office du serveur.

Prérequis

  • Une instance de dokuwiki (forcément)
  • Pandoc 2.6 minimum

Installation de Pandoc sous Linux

Fedora / Redhat / Centos, etc.

sudo dnf update
sudo dnf install pandoc

Debian, Ubuntu, Raspbian, Mint, etc.

sudo apt update ; sudo apt upgrade
sudo apt install pandoc

Installation manuelle de la version la plus récente de Pandoc

Pour connaître le lien de téléchargement de la dernière version (actuellement 2.7.3) : c'est par ici

VERSION=2.7.3
TGZ=https://github.com/jgm/pandoc/releases/download/$VERSION/pandoc-$VERSION-linux.tar.gz
DEST=$HOME/.local
wget -O pandoc.tar.gz $TGZ
tar xvzf pandoc.tar.gz --strip-components 1 -C $DEST
cd $DEST/bin

Conversion de page dokuwiki en markdown

wget -O fichier.dokuwiki "http://mon.instance.dokuwiki/mapage?do=export_raw"
# ou wget -O fichier.dokuwiki "http://mon.insance.dokuwiki/?id=mapage&do=export_raw"
pandoc -f dokuwiki -t markdown fichier.dokuwiki -o fichier.md
# préférable dans le cas ou vous avez suivi l'étape d'installation manuelle :
# ./pandoc -f dokuwiki -t markdown fichier.dokuwiki -o fichier.md

Installer un certificat électronique sur un serveur web derrière un reverse proxy avec ubuntu, apache et certbot

Si vous avez plusieurs serveurs serveurs web sur un votre réseau local et que vous souhaitez que plusieurs d'entre eux soient accessibles depuis internet par le même port (au hasard 80 ou 443 par exemple), il est fort probable que vous fassiez appel à un reverse-proxy, qui est un moyen somme toute assez commode pour y parvenir.

De même si vous souhaitez chiffrer le contenu publié en SSL/TLS, certbot est devenu ces dernières années un incontournable, de par sa simplicité et sa gratuité.

Faire que les deux fonctionnent nécessite bien sûr une configuration particulaire, voici donc comment procéder dans le cas ou vous avez créé un sous-domaine (A record) chez votre fournisseur de noms de domaine :

  • le nom du sous domaine sera : sous.domaine.com
  • l'adresse ip du serveur sur le réseau local : 192.168.1.123
  • l'adresse ip du serveur web dans la DMZ : 192.168.1.210
  • le port de l'application sur le serveur web local : 9000
  • la racine des fichiers du serveur web local : /racine/des/fichiers/de/mon/serveurweb (généralement sous ubuntu ou debian : /var/www ou /var/www/html etc.)

Du côté de la machine qui va servir de proxy inverse (reverse proxy) accessible par internet (en DMZ) :

Créer un nouveau fichier de configuration pour apache :

touch /etc/apache2/sites-available/mon-reverse-proxy1.conf
nano /etc/apache2/sites-available/mon-reverse-proxy1.conf

Et y ajouter :

# Si ce n'est déjà fait (peu probable par défaut...)
# NameVirtualHost *:80
# Listen 80
# NameVirtualHost *:443
# Listen 443
# Surtout :

# Nécessaire pour la validation du certificat électronique
<VirtualHost *:80>
ServerName nom.de.sous.domaine
ServerAdmin mon.adresse@e.mail
    <LocationMatch "/*">
    order allow,deny
    allow from all
    Satisfy any
    ProxyPass http://192.168.1.123
    ProxyPassReverse http://192.168.1.123
    </LocationMatch>
</virtualHost>

<VirtualHost *:443>
ServerName nom.de.sous.domaine
ServerAdmin mon.adresse@e.mail
ProxyRequests Off
ProxyPreserveHost On
SSLEngine on
SSLProxyEngine On
SSLProxyCheckPeerExpire On
SSLProxyVerifyDepth     10
SSLCertificateFile      /etc/letsencrypt/live/videos.espitallier.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/videos.espitallier.net/privkey.pem
    <LocationMatch "/*">
    order allow,deny
    allow from all
    Satisfy any
    ProxyPass http://192.168.1.123:9000
    ProxyPassReverse http://192.168.1.123:9000
    </LocationMatch>
</virtualHost>

Enregistrer le fichier puis :

sudo a2ensite mon-reverse-proxy1
sudo service apache2 restart

Du côté du serveur web de l'application (192.168.1.123) pour créer le certificat :

# Si certbot n'est pas encore installé :
# sudo apt install certbot # dans le cas de debian ou ubuntu par exemple
# ensuite
sudo certbot certonly

Répondre aux questions :

  • 2: Place files in webroot directory (webroot)
  • Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): sous.domaine.com
  • Input the webroot for sous.domaine.com: (Enter 'c' to cancel): /racine/des/fichiers/de/mon/serveurweb

Automatiser le renouvellement du certificat

Création du script

sudo nano /usr/local/sbin/certbot-renew.sh

Auquel on ajoute

sudo certbot -q renew
# Par clé SSH et à supposer que le dossier 192.168.1.210:/etc/letsencrypt/live/sous.domaine.com/ a été créé
sudo scp /etc/letsencrypt/live/sous.domaine.com/fullchain.pem sudouser@192.168.1.210:/etc/letsencrypt/live/sous.domaine.com/
sudo scp /etc/letsencrypt/live/sous.domaine.com/privkey.pem sudouser@192.168.1.210:/etc/letsencrypt/live/sous.domaine.com/

On le rend exécutable

chmod +x /usr/local/sbin/certbot-renew.sh

Autoriser la copie par SSH sans mot de passe

ssh-keygen -t rsa
cat .ssh/id_rsa.pub | ssh root@192.168.1.100 'cat >> .ssh/authorized_keys'

Planification du script

sudo crontab -e
# Une fois par mois
00   5   *   1   *           /usr/local/sbin/certbot-renew.sh

UK/Happy hardcore : sélection octobre 2019

Blog: 

Illustration

Singles

Fracus & Darwin Vs. Riffresh - Let Me Take You ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Fracus & Ryankore - I Believe In You (F&D HH5 VIP) ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

AB - Alright (Fracus & Darwin Remix) ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Darwin & Jack In Box - Take You Down ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Fracus & Darwin - Faster & Stronger ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Fitzy-K, Glichie & Jaylee Ft Harri Rush - Missing You par Fitzy-k 24/7 Hardcore

Marc Smith - Deep In My Heart ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Daniel Seven - Redline Grinders ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Fracus & Skinny - Better Late Than Never ('HH5' Preview Clip) - OUT NOW par Hardcore Underground

Audio Nitrate - No Better Place ⚠️OUT NOW⚠️ par Justice Hardcore | Écoute gratuite sur SoundCloud

⚠️FREE DOWNLOAD⚠️ in FREE BANGERS OVER 150 HARDCORE & HARD DANCE TRACKS

Mixes

Hydrotechnics 2019 par IDPH

Hydrotechnics Promo Mix par IDPH

Hardcore Virus Radio Show #3 Ft. Spivey - 10-13-19 par Chaos D (Official) | Écoute gratuite sur SoundCloud

Chaos D & IDPH - Hardcore Virus Radio Show #1 9-29-19 par Chaos D (Official)

Outrage EP.014 | Presented by Bass Brotherz SPECIAL GUESTMIX BY DJ YYTZI par Bass Brotherz | Écoute gratuite sur SoundCloud

Happy Universe Podcast 003 par LalaFan

Happy Universe Podcast 002 par LalaFan

Happy Hardcore Mix (10-20-2019) par Kitsune | Écoute gratuite sur SoundCloud

Oldies

Out Now Dy5oN & Fracus feat. Rhistylee - Forever par Dy5oN | Dy5o N | Écoute gratuite sur SoundCloud

uk hardcore anthems mixed by reborn by Craig Harvie | Mixcloud

L'obsolescence du PDF

Je profite de la découverte récente par des chercheurs d'une faille intrinsèque au PDF et apparemment incolmatable pour rappeler que l'on aurait dû s'occuper depuis longtemps de faire disparaître ce format destiné à l'impression - donc désuet à l'heure de la dématérialisation - car il nous rend bien trop dépendant à des logiciels coûteux comme Acrobat d'Adobe. Ce dernier, bien qu'il soit ce qui se fait de mieux pour traiter ces fichiers, n'apporte absolument rien d'intéressant par rapport à d'autres logiciels de traitement de texte ou de PAO. Sans même parler du chiffrement puisqu'il est évident qu'il est préférable d'avoir une solution polyvalente et non spécifique à un seul format de fichiers. Et il ne sera pas plus adapté non plus aux formulaires qui seront avantageusement remplacés par des applications web dédiées.

Compte tenu de l'actuelle diversité de types d'écrans l'ePub me paraît plus adapté pour la consultation de documents statiques, hors ligne et pour tout ce qui nécessite du réseau, un contenu dynamique, quoi d'autre que l'affichage responsive design d'une page web en HTML5 ?

Mais si vous pensez malgré tout que l'on ne pourra désormais plus se passer du PDF, ne serait-ce que pour les signatures électroniques, preuve de l'authenticité d'actes de plus en plus de nombreux, détrompez-vous car il existe des alternatives bien connues :

La première qui ne change pas de principe est de signer électroniquement un fichier Open Document Format (ODF), qui pour rappel est le premier format bureautique recommandé par le Référentiel Général d’Interopérabilité, que tant d'entreprises et administrations semblent avoir négligé ces dernières années (souvent par incompétence).

La seconde, radicalement différente, consiste à repenser les processus métiers et d'utiliser la chaîne de blocs par l'intermédiaire d'une application dédiée. Dernièrement une startup française s'est fait connaître dans ce domaine (cocorico) : KeeeX. Le principe est d'ajouter des métadonnées aux fichiers puis de calculer l'empreinte numérique (unicité) de ceux-ci et la stocker dans une blockchain publique, réputée inviolable. Si vous avez à faire un choix, nul doute que cette solution nécessitera plus de travail au départ mais cela vous enlèvera certainement une belle épine du pied dans les années à venir.

Pages

Subscribe to RSS - blogs