Initiation à Node.js

Me voilà entrain d’apprendre à me servir de Node.js pour des projets étudiants.

Node.js permet l’utilisation de Javascript du côté serveur. L’avantage pour nous est d’utiliser un et un seul langage que se soit du côté serveur ou du côté utilisateur.

Petite liste des paquets que j’ai pu tester jusqu’à présent :

  • express – infrastructure web rapide pour Node.js, un des paquets les plus utilisés.
    npm install express
  • serve-favicon – permet d’ajouter très facilement un icône de favoris.
    npm install express
  • ejs – gestion de pages / vues (‘exemple.ejs’) dans lesquelles on peut ajouter du code js à exécuter. Ce paquet permet de mettre en place un site selon l’architecture MVC (Modèle / Vue / Contrôleur).
    npm install ejs
  • socket.io – permet la communication en temps réel (synchrone) entre le serveur et le client.
    npm install socket.io

[ArchLinux] Partage Samba

J’ai installé, il y a de cela plusieurs mois, un serveur miniDLNA sur l’une de mes machines équipée d’Arch Linux pour pouvoir partager facilement du contenu multimédia sur le réseau local. Jusqu’à présent, j’effectuais le transfert de fichier vers cette machine en branchant directement un disque dur sur la machine, en m’y connectant en SSH, en montant le disque puis en copiant les données à coup de commande cp. J’ai également effectué quelques transferts en montant un répertoire distant de la machine sur ma machine principale via sshfs. Ces deux solutions fonctionnent plutôt bien. Je me tourne aujourd’hui vers la mise en place d’un partage Samba, afin d’être en mesure de déposer facilement des fichiers depuis Windows également. Voici donc les quelques étapes nécessaires à la mise en place d’un répertoire accessible en lecture écriture sans restriction.

# Installation de Samba
sudo pacman -S samba
# Mise en place du fichier de configuration par défaut
cp /etc/samba/smb.conf.default /etc/samba/smb.conf
# Edition de la configuration
sudo nano /etc/samba/smb.conf

Pour le partage d’un répertoire, j’ajoute les lignes suivantes dans le fichier configuration :

[Media]
 path = /vers/le/répertoire
 public = no
 writable = yes
 printable = no

Avec cette configuration, le répertoire est bien disponible en lecture écriture et visible sous Windows. Pour configurer plus précisément l’ensemble, il faudra regarder les autres options disponibles. Dans mon cas, cette configuration me permet de faire ce que j’espérais. Suite de l’installation :

# Démarrage des services
sudo systemctl start smbd.service
sudo systemctl start nmbd.service
# Mise en place du service au démarrage
sudo systemctl enable smbd.service
sudo systemctl enable nmbd.service
# Ajout du user système dans Samba
# A vérifier si nécessaire
sudo smbpasswd -a <user>
# Vérifier la syntaxe de la configuration
testparm -s

En cas de modification de la configuration, ne pas oublier de redémarrer le service :

sudo systemctl restart smbd.service

 

Informations issues de l’excellent wiki Arch Linux pour la page concernant Samba.

Après cygwin passage à msys2

Il y a quelques temps j’ai commencé le projet de jeu vidéo clash of bûches sur Unity3D. Pour sa réalisation nous avions besoin d’utiliser un gestionnaire de sources (gitlab) mais nous avions aussi besoin d’un moyen d’utiliser toutes les fonctionnalités de git sur Windows. C’est pourquoi j’avais choisi cygwin qui offre des fonctionnalités similaires à Linux sur Windows. Me permettant d’installer les paquets propre à git et de les utiliser.

Aujourd’hui je me suis équipé d’une nouvelle station de travail. Une belle machine, silencieuse, que l’on peut débrancher, balader, qui permet de « développer coucher ». Et qui je l’espère va me permettre d’augmenter un peu mon activité sur l’ensemble de mes projets.

Malheureusement pour cygwin ma mémoire m’a fait souvenir du temps passer à cocher des cases et installer manuellement des paquets oubliés à l’étape des cases à cocher. Comble de malchance, nouveau dans Windows 10, préinstaller sur ma nouvelle machine avec sa guirlande de logiciels inutiles ainsi que ses paramétrages par défaut à modifier pour « un peu plus » de vie privée je n’avais pour ainsi dire plus trop de temps pour réinstaller le nerf de la guerre : git par le biais de cygwin !

msys2 le nouveau venu dans mon panier logiciel !

Étant à ce moment là en cours, j’ai demandé à mes voisins les plus proches ce qu’il avait à me proposer. La réponse n’a pas tardé « m6-2 ! », moi qui pensais que j’allais regarder la télé on m’a très vite épelé : m-s-y-s-2.

C’est maintenant que les choses sérieuses commencent, vous avez 2 minutes chrono pour :

  • Téléchargez msys2
  • Installez msys2 en double cliquant sur l’exécutable, suivant -> suivant ->
  • Ouvrez ou allez dans la console de msys2
  • Mettez à jour pacman le gestionnaire de paquets (conseillé)
    pacman -Sy pacman
  • Installez git
    pacman -Sy git
  • Vous pouvez dès à présent reconfigurer vos projets avec git !

CreateLink

Commandes / tips utiles
  • Créez un lien symbolique depuis le répertoire windows de votre projet vers l’emplacement racine de msys2
ln -s /c/Users/Visiom/Documents/Unity_Projects/clash_of_buches/ /clash_of_buches
  • Accédez à la racine de windows depuis msys2, en replaçant la lettre par la lettre définie sur votre système
    cd /c

SFR et l’emailing sauvage

Avant de rentrer dans le vif du sujet, laissez-moi introduire le contexte. Il y déjà plusieurs années de cela, j’ai configuré ma première adresse mail FAI en tant qu’adresse bis de contact administratif pour la gestion de la connexion internet de mes parents. Cela n’a pas été plus utile que ça, à part pour suivre l’évolution du montant de la facture de l’abonnement et vérifier l’absence de problème. Je n’avais en revanche jamais pris la peine de remarquer que cette opération avait eu pour effet d’inscrire mon adresse sur la liste publicité pour les nouvelles offres de SFR en matière d’abonnement, etc. Jusqu’à présent, les mails que je recevais finissaient à la corbeille et leur fréquence n’était pas suffisamment haute pour être réellement dérangeante. Jusqu’au mardi 17 mai 2016…

Continuer la lecture de « SFR et l’emailing sauvage »

Redis-server 2.8 sur Debian 7 Wheezy

La version 8.3 de Gitlab nécessite une mise à jour de redis car celle-ci se base sur redis-server en version 2.8. Problème, ce composant n’est pas disponible par défaut pour Debian Wheezy. Deux solutions possibles, mettre à jour Debian vers Debian Jessie avec tous les risques que cela comporte (init.d -> systemd, apache2.2 -> apache2.4, etc…) ou compiler le composant à partir des sources. Pour ma part, j’ai donc choisi la troisième solution : utiliser le dépôt backport wheezy qui par chance propose redis-server dans la version qui m’intéresse !

Pour commencer, on ajoute la ligne suivante dans le fichiers /etc/apt/sources.list du système :

deb http://ftp.debian.org/debian wheezy-backports main

On met à jour les dépôts :

apt-get update

On peux ensuite passer à l’installation :

apt-get -t jessie-backports install redis-server

Il sera nécessaire de faire un choix entre votre configuration locale et la configuration en provenance du paquet. Ici, pas le choix en regardant le diff entre les deux fichiers, il faut absolument prendre la nouvelle version.

Cela nécessite néanmoins de ré-appliquer la configuration de redis pour Gitlab comme décrit dans le paragraphe redis de la doc d’installation à partir de « Configure redis to use sockets« .

Pour vérifier la version de redis installée, on aura utilisé au préalable la commande :

redis-cli info | grep redis_version