mardi 14 mars 2017

Préparation de migration de Piwigo à Phyxo

J'ai une galerie personnelle (non publique) de photos qui utilise piwigo depuis le début. Elle a plusieurs années et même si j'essaie de développer Phyxo et que j'en fait un site de démonstration, je ne l'utilise pas réellement avec de vrais utilisateurs. Pour suivre l'expression anglaise Eating your own dog food je me résoud finalement à migrer de piwigo à phyxo. 

Lire la suite...

jeudi 26 janvier 2017

Suppression de google analytics

Comme de nombreuses personnes j'avais ajouté un marqueur pour voir des statistiques "en temps réel". Mais cela pose de nombreux problèmes et le principal est que cela permet à google de suivre les visiteurs. Si ce n'était que sur ce blog ça pourrait encore aller mais c'est partout. Vous ne verrez donc plus de requêtes vers les serveurs de google et à fortiori pas de cookie.

De toute façon je ne les regardais pas ces statistiques. 

jeudi 12 janvier 2017

Et encore une correction de faille...

Les jours se suivent et se ressemblent. Une nouvelle version de Phyxo est disponible, la version 1.6.4 qui corrige encore une faille dans PHPMailer. Je dis encore car plusieurs failles successives ont été découvertes dans PHPMailer :

  • le 18/12/2016 : CVE-2016-10033,
  • le  20/12/2016 :  CVE-2016-10045
  • le 05/01/2017 : CVE-2017-5223

Cela fait un peu beaucoup mais j'avoue que je n'ai pas regardé quelles étaient ces failles exactement.

Quoi qu'il en soit je vous invite à mettre à jour et vous pouvez télécharger la version 1.6.4 :

Si vous avez déjà installé une version précédente, vous devriez voir apparaître cette version en mise à jour disponible.

Si jamais vous ne connaissez pas phyxo, vous pouvez aller jeter un œil à la demo.

mercredi 7 décembre 2016

Et phyxo continue son petit bonhomme de chemin

Je viens de publier la version 1.6.1 de phyxo. J'ai fait beaucoup de refactoring, ajouter des tests, nettoyer un peu le code. Toujours peu de modifications côté partie publique mais ça va venir.

Vous pouvez télécharger la version 1.6.1 :

Si vous avez déjà installé une version précédente, vous devriez voir apparaître cette version en mise à jour disponible.

Si jamais vous ne connaissez pas phyxo, vous pouvez aller jeter un œil à la demo.

mardi 1 décembre 2015

Un beau certificat ssl sur toutes les pages

Depuis quelques jours, on peut naviguer sur ce blog en https, en version TLS 1.2. Au départ, j'avais oublié de créer un certificat pour mon sous-domaine static qui me sert à livrer les fichiers statiques, en particuler les images. Du coup la page n'était pas considérée comme sûre par la plupart des navigateurs car le contenu était mixte : page en https mais certaines ressources en http (sans le s).

Les certificats délivrés par Let's Encrypt ne sont valides que 90 jours. Il faut donc penser à les renouveler. Comme je ne suis pas une machine, je vais forcément oublier et donc j'ai ajouté une tâche automatique pour faire ça automatiquement. Ma tache est lancé tous les jours et je renouvelle le certificat s'il a moins de 30 jours.

J'ai cloné et installé le dépôt d'outils fourni par Let's Encrypt et j'ai mis la configuration de mon certificat dans un fichier .ini qui ressemble à ça :

domains = www.nikrou.net,static.nikrou.net
rsa-key-size = 4096
server = https://acme-v01.api.letsencrypt.org/directory
email = YOUR_MAIL@YOUR.DOMAIN
authenticator = webroot
webroot-path = PATH/TO/DOCUMENTROOT

Je peux alors lancer la mise à jour de mon certificat en faisant simplement :

$ ./letsencrypt-auto -c path/to/cli.ini

Du coup pour que la mise à jour se fasse automatiquement, il suffit de créer une nouvelle entrée dans le répertoire /etc/cron.daily avec le contenu suivant, par exemple :

#!/bin/sh

DAY_LIMIT=30
TIMESTAMP_LIMIT=$(($DAY_LIMIT*86400))

OPENSSL=/usr/bin/openssl
SSL_PEM=PATH_TO_PEM_CERTIFICATE

MAIL=/usr/bin/mail -s "[ssl] Update" YOUR_EMAIL@YOUR.DOMAIN

PATH_LETSENCRYPT=PATH_TO_LETSENCRYPT_INSTALLATION

if $OPENSSL x509 -checkend $TIMESTAMP_LIMIT -noout -in $SSL_PEM
then
    echo "Certificate is valid for more than $DAY_LIMIT days. Do not update." | $MAIL
else
    cd $PATH_LETSENCRYPT  && ./letsencrypt-auto -c /etc/letsencrypt/cli.ini
    if [ $? -ne 0 ];then
	echo "Something goes wrong. Cannot update ssl certificate. Need to validate it manually" | $MAIL
    else
        echo "Certificate has been updated" | $MAIL
    fi
fi


exit 0

Il faut renseigner l'adresse mail, le chemin vers votre certificat (fichier PEM) et le répertoire où letsencrypt est installé. Il ne faut pas oublier de rendre ce fichier exécutable. J'ai créé un dépôt git avec ce script si vous avez des corrections ou des idées d'amélioration.

Le blog sécurisé

Depuis quelques jours, ce blog qui n'en est pas réellement un peut-être lu en https. Mon certificat est signé par Let's Encrypt. Let's Encrypt fournit des certificats gratuitement. Tout cela n'est pas encore ouvert pour tout le monde. Mon nom de domaine est en beta privé. Normalement la beta publique devrait être ouverte en décembre.

Mon certificat est valide 90 jours. Je n'ai pas encore fait le nécessaire pour le renouveler automatiquement. En attendant si vous lisez cet article, dans la barre du navigateur vous pouvez voir quelque chose comme ça : 

https.png

  Pour que l'on puisse regarder le site aussi bien en http qu'en https, il faut aller dans les paramètres du blog et enlever le protocole, c'est-à-dire mettre //www.nikrou.net/ au lieu de https://www.nikrou.net

Dimanche 8 novembre 2015

Comment relancer chrome sans perdre les onglets déjà ouverts ?

J'utilise le navigateur google chrome pour plein de mauvaises raisons mais pour au moins deux bonnes, parce qu'il est rapide et qu'il répond à mon besoin.

Je ne le laisse pas se mettre à jour tout seul et je le mets à jour en utilisant le système de mise à jour de mon système d'exploitation. Je ne redémarre que très rarement mon ordinateur et je garde de très nombreux onglets ouverts pour des pages que je veux lire plus tard mais pas que je veux nécessairement mettre en favoris. Mais lorsque je veux mettre à jour mon navigateur sans perdre tous ces onglets j'obligeais chrome à s'arrêter en faisant un kill -TERM suivi du processus père. chrome offre, comme d'autres navigateurs, la possibilité de récupérer la dernière session en cas de crash, cela me permettait de récupérer mes chers onglets.

Mais il y a bien plus simple, il suffit de taper dans la zone d'adresse : chrome://restart.

vendredi 6 novembre 2015

Bonjour le monde avec React

Depuis quelques temps je m'intéresse de plus en plus aux frameworks javascript. Après avoir suivi de superbes conférences à Paris Web ou encore les ateliers du samedi j'ai eu envie se sauter le pas en réalisant qu'on était bien en 2015 et que comme dit si justement Christophe ES6 c'est maintenant, les gens !  Du coup j'ai très envie de faire du javascript de manière plus avancé, en me mettant à ES6, en découvrant React,...

Et pour commencer, parce qu'il faut bien commencer par quelque chose, voici un "Hello World !" à la sauce React. Et pour que ce soit simple, sans passer par des conversions, transpilations, je vais utiliser les sources sur un CDNhttps://www.jsdelivr.com/ En cherchant on trouve facilement les deux bibliothèques nécessaires : react et react-dom, en version 0.14.2.

Le code pour afficher un simple Hello World peut ressembler à ça :

ReactDOM.render(React.createElement('h1', {}, 'Hello World!'), document.getElementById('app'));

Il ne reste plus qu'à l'ajouter à react et react-dom et mettre tout ça dans une page html. Il faut tout de même créer un conteneur (un div par exemple) avec un id app qui contiendra notre application. La page complète ressemble à ça :

 

Vous pouvez aussi voir la page pour de "vrai".

C'est une toute première étape mais je compte bien continuer !

Lundi 22 juin 2015

Contribuer à dotclear en utilisant git

Le code de dotclear est versionné en utilisant le gestionnaire de versions mercurial. Le choix a été fait il y a de cela plusieurs années pour plein de bonnes raisons et en particulier parce qu'il n'y avait pas de client facile d'installation et à l'usage sous l'OS de Raymonde. Quoi qu'il en soit il est difficile de changer de gestionnaire de versions encore une fois. J'ai fait le choix, dès 2009 d'utiliser git comme gestionnaire de versions. Evidemment tous les projets n'utilisent pas git, ce serait trop simple et peut-être ennuyant. Pendant de nombreuses années j'ai utilisé avec plaisir git svn qui offrait une passerelle pour contribuer à un dépôt utilisant subversion. Je bénéficiais de toute la puissance de git en local sans que cela ne force le dépôt distant à être sous git. Depuis quelque temps déjà je contribue à dotclear et toujours avec git en local. Voici à quoi ressemble mon installation locale... 

Lire la suite...

mercredi 20 mai 2015

J'aime dotclear - j'y contribue

J'utilise dotclear pour motoriser ce blog depuis de très nombreuses années. dotclear, c'est aussi une association et du coup on peut y adhérer en cottisant. J'ai renouvellé ma cottisation mais je pense qu'il ne faudrait surtout pas hésiter à faire passer le message pour relancer les adhérents non à jour de leur cottisation !

Comme le dit Anne, il peut y avoir des effets de bords, devoir manger des crêpes, faire un séminaire au Guilvinec et le plaisir de rencontrer de nombreuses personnes toutes plus sympathiques les unes que les autres.

Du coup, si vous utilisez dotclear, que vos poches ne sont pas complètement vide et que vous voulez contribuer un peu à dotclear, adhérer à l'association.

p.s: Vous pouvez aussi tout simplement faire un don à dotclear.

Lundi 11 mai 2015

Plugin community pour Phyxo

Community est un plugin permettant de rendre votre galerie communautaire. Des visiteurs ou des utilisateurs identifiés de votre galerie peuvent ajouter des photos si vous les y autoriser.

Le plugin permet de définir :

  • qui peut ajouter des photos.
    • La permission d'ajouter des photos peut se faire :
      • pour tout le monde : simple visiteur
      • pour les utilisateurs enregistrés
      • pour un utilisateur en particulier
      • pour les utilisateurs appartenant à un groupe.
  • où vont être ajouter les photos. La galerie dans son ensemble ou un album dédié à l'utilisateur.
  • la confiance accordée aux personnes ajoutant des photos. Soit les photos doivent être validées par un administrateur, soit elles apparaissent tout de suite.

Dimanche 10 mai 2015

Sortie de Phyxo 1.4.0

Au programme, peu de changements visibles. Je continue mon "nettoyage". Les commentaires et les utilisateurs sont passés dans une classe à part ce qui permettra de tester le fonctionnel plus facilement. De nombreuses corrections de bugs mineurs. Merci à PmGs.

La prochaine grosse étape est de faire un vrai thème utilisable quel que soit l'appareil utilisé pour visualiser les photos. Aujourd'hui avec un téléphone ce n'est juste pas utilisable.

L'autre nouveauté majeure est le fait que j'ai porté le plugin Piwigo-Community sur Phyxo : il s'appelle lui aussi Community. Il pourrait changer de nom si cela porte trop à confusion. L'idée de ce plugin est de faire une galerie plus communautaire. En effet il permet à l'administrateur de la galerie d'autoriser des utilisateurs à ajouter des photos.

Quelques informations complémentaires sur le plugin Community dans le billet dédié.

Vous pouvez télécharger la version 1.4.0 :

Si vous avez déjà installé une version précédente, vous devriez voir apparaître cette version en mise à jour disponible.

- page 1 de 14

Haut de la page