Simon Vieille


Project manager devop at Like-inn Développement, casual worker at IUT-BM, symfony expert and debian addict

[TIPS] Rocketchat : désactiver SSL sans l'interface d'administration

C'est en testant le logiciel franz, un outil qui permet de centraliser les clients web de pas mal de services de messageries dont Skype, Messenger et surtout Rocketchat. Comme j'ai ma propre instance de rocket, j'ai directement ajouté mon adresse mais manque de bol, ma version n'était pas compatible. Alors je me suis empressé de récupérer un build récent et j'ai mis à jour tout ça ! D'ailleurs, c'est plutôt simple car je n'ai eu qu'à remplacer le code source…

Bref, ça fonctionnait :

Rocketchat deblan

Et en regardant toutes les nouveautés, j'ai par malheur forcé SSL alors que l'instance est derrière un proxy… Pourtant c'était écrit noir sur blanc mais je n'ai pas lu. Quoiqu'il en soit, impossible d'accéder à l'interface et j'ai du attaquer directement la base mongodb. J'ai lancé la commande mongo et je suis arrivé sur un shell.

> show dbs # Permet récupérer la liste des bases
> use rocketchat # J'indique dans quelle base de je veux travailler
# Je ne sais pas s'il y a plus sexy mais mongo est une première !
# Je passe simplement la valeur de l'option "Force_SSL" à false et j'enregistre
> db.rocketchat_settings.find({_id: "Force_SSL"}).forEach(function(o) { 
    o.value = false; 
    db.rocketchat_settings.save(o);
});

Une fois Rocketchat relancé, tout est rentré dans l'ordre !


Nouvelle version de Gist

Je viens de publier une nouvelle version de Gist, une application en ligne qui permet de publier du code en ligne et de le versionner. Les modifications apportées concernent la page qui liste ses gists quand on a un compte. Elle contient à présent une pagination et il est possible de filtrer et supprimer les gists. Cette suppression n'est cependant pas complète : seul l'enregistrement en base de données disparaît. Comme le répertoire de gists est un dépôt git, il n'est pas possible de supprimer définitivement le gist ses clônes.

Gist

Si vous souhaitez mettre à jour votre instance, rien de bien compliqué :

La documentation est disponible sur mon Gitnet et Github.


Validation de fichier CSV en PHP

Je publie aujourd'hui une première version fonctionnelle et presque totalement testée d'un validateur de fichier CSV : deblan/csv-validator. J'ai décidé de m'appuyer sur les contraintes de validation proposées dans Symfony.

Pour installer ce composant, il faut passer par composer :

composer require deblan/csv-validator dev-master

Voici un exemple simple et concret :

C'est sous lience BSD donc éclatez-vous avec !


Hébergement et déploiement de sites statiques via Gitnet

Comme je l'ai évoqué dans mon bilan 2015, je souhaite publier le plus de choses possibles cette année. Bien souvent, je me contente d'écrire un article et de mettre à disposition les sources avec un README en guise de documentation.

J'ai donc réfléchi à un système pour publier facilement des projets sans devoir mettre en place un hébergement "classique" sur mon serveur. Je me suis donc penché sur ce qui est fait ailleurs et je me suis rendu compte que le système de pages Github était à la fois pratique et simple. On ajoute un dépôt, on le met à jour et on a un site mis en ligne.

Gitnet

Tout n'est pas encore automatisé, mais je propose depuis peu un système équivalent : Gitnet. Vous devez vous créer un compte sur la forge gitnet et ensuite m'envoyer un email avec l'URL du dépôt et le nom de votre projet. Il faudra ensuite configurer un webhook et le tour est joué ! Vous pushez, vous déployez :)

webhook gitnet


Projet symfony2, convention PSR2 et validation pre-receive GIT

Au mettre titre que SVN, je vais déployer progressivement des hooks pour traiter le code source "pushé" vers mon Gitlab (et les projets que je gère).

En m’appuyant sur un script récupéré sur Github, j'ai réalisé un hook GIT pre-receive qui permet de vérifier que le code soumis est valide PSR2. Il fonctionne pour le moment très bien mais je suis ouvert aux corrections si vous en avez à me proposer. Il faudra prendre une ou deux minutes pour configurer les premières variables.

Be brave!   Peace