Présentation et installation de Discourse

Submitted by Kyna on mar, 12/02/2014 - 18:32
Logo de Discourse

 

Présentation de Discourse

Discourse est un tout nouveau moteur de forum open-source et moderne disponible depuis peu sur le web. En développement depuis un peu plus d'un an maintenant, Discourse est un projet libre initié par les créateurs de StackOverflow le site de développement et d'entraide le plus populaire de la sphère anglo-saxon, si l'on devait résumer Discourse en trois mots, ces mots seraient : Libre, Ouvert et Simple, car ce CMS en plus d'être gratuit et ouvert sur le web reste très simple d'utilisation pour les utilisateurs qui devront s'habituer à des mécaniques inédites et innovantes pour un forum, car oui Discourse est différent de ce qui existe déjà en matière de forum et sa principale différence réside avant tout dans la manière dont ce tout nouveau moteur de forum est conçu, car Discourse est codé dans le langage Ruby on Rails et non PHP.

Les principales fonctionnalités

Pour commencer, nous allons ensemble, faire un tour des principales fonctionnalités, puis nous apprendrons également à installer et configurer Discourse, mais dans un premier temps, si vous souhaitez voir à quoi ressemble ce tout nouveau moteur de forum, je vous invite à vous rendre sur le site de démonstration de Discourse pour avoir au moins une idée de quoi ça a l'air.

Maintenant, place aux caractéristiques !

Des conversations, pas des pages

Pourquoi stoper les conversations dans les pages de manière arbitraires et maladroites, où l'on doit constamment trouver le bouton "Page suivante" ?

Discourse remplace cela par un chargement dynamique et en temps réel lors du défilement sur la page. Vous voulez lire davantage ? Faites défiller la page vers le bas.

Des notifications dynamiques

Il est difficile d'avoir une conversation lorsque l'on ne peut entendre quiconque.

Lorsque quelqu'un cite votre message, lorsque quelqu'un mentionne votre @nom ou répond à une de vos discussions, Discourse vous en informe en temps réel et sans avoir à rafraichir la page... Si vous n'êtes pas là, Discourse vous alertera tout de même, mais par mail afin que vous puissiez savoir où, quand et qui vous a envoyé un message ou une réponse.

Simple, mais avec un contexte

Discourse est un forum simple, plat, où les réponses coulent la page en ligne.

Les réponses extensibles sont attachés à la partie supérieure et inférieure de chaque message, de sorte que vous puissiez découvrir tout le contexte de la conversation - sans interrompre votre lecture.

Né pour le mobile, né pour le toucher

Discourse est "mobile-first", cela veut dire qu'il a été conçu dès le premier jour pour les appareils tactiles haute résolution, Discourse propre donc un affichage entièrement compatible mobile.

Vous pouvez aller et venir librement entre votre ordinateur portable, votre tablette et votre smartphone sans aucun souci et sans installer la moindre application, Discourse a été conçu pour cela.

Né pour le mobile, né pour le toucher

Les liens automatiquement étendus

Vous souhaitez partager un lien cool que vous venez de trouver ? Il suffit de le coller seul sur une ligne et Discourse rend le reste génial.

Les liens vers Wikipedia, YouTube, Amazon, GitHub, Twitter, Flickr et des dizaines d'autres sites Web populaires à travers le monde s'étendent automatiquement pour fournir un contexte et des informations supplémentaires.

Répondez pendant que vous lisez

Ecrivez votre réponse pendant que vous continuez à lire, modifiez votre réponse et ajoutez de nouvelles citations, tout cela en explorent un sujet ou même en passent d'un sujet à un autre sans rien perdre de votre contenu !

Fini les pertes de contenu lors d'un plantage du navigateur ou même de la fermeture de la page par erreur ! Discourse enregistre votre place - et vos réponses - même si vous finissez plus tard sur un autre ordinateur.

Répondre comme un sujet lié

Vous ne voulez pas interrompre une conversation, mais un message vient de vous rappeler un sujet similaire que vous souhaitez partager.

Pas de problème ! Utilisez "Répondre dans nouveau sujet" pour démarrer une conversation liée - les deux sujets seront connectés visuellement l'un à l'autre.

Répondre comme un sujet lié

Simple mesure

L'objectif de chaque lien est d'être cliqué - Discourse fait donc en sorte que chaque lien affiché dans la conversation montre automatiquement un compteur de clic en direct.

Discourse suit également les liens entrants, si un sujet devient super populaire, vous saurez pourquoi !

Simple mesure

Mise à jour en temps réel

Si un sujet change pendant que vous le lisez ou y répondez, ou s'il arrive de nouvelles réponses, la page s'actualisera automatiquement, vous n'aurez rien à faire, le contenu apparaitra sous vos yeux de manière transparente et intuitive.

Connectez-vous avec... tout

Utilisez vos informations Twitter, Facebook, Google, Yahoo, ou GitHub pour vous connecter. Ou mettre en place l'authentification unique avec votre site web existant.

Coller pour partager des images

Vous souhaitez partager une image ? Il suffit de la copier et coller là où vous souhaitez qu'elle apparait. Il est également possible de faire un glisser/déposé de celle-ci pour l'ajouter de la manière la plus simple possible !

Recherchez ce qui fonctionne actuellement

Pour rechercher sur n'importe quelle page : il suffit de commencer à saisir du texte pour et obtenir des résultats instantanément lors de la frape. Les résultats seront automatiquement étendus à l'endroit où vous êtes actuellement.

Modération de la Communauté

Quand les utilisateurs participent régulièrement par la lecture et l'affichage, ils gagnent de la confiance. Avec cette confiance, ils acquièrent de puissantes capacités pour aider à maintenir la communauté et faire sortir les trolls et les spammeurs.

Amenez vos amis

Une fois que vous avez un certain niveau de confiance, vous pouvez cliquer sur un bouton pour inviter vos amis par courriel et ils peuvent répondre à votre sujet avec un seul clic. Le personnel peut également facilement inviter un groupe entier de personnes en envoyant une liste d'adresses mail.

Vos données vous appartiennent

La licence par défaut de Discourse est le "Creative Commons", mais vous pouvez choisir de maximiser les droits pour le propriétaire du site ou de vos utilisateurs. Importer ou exporter toutes vos données, à partir de votre navigateur et ce à n'importe quel moment.

Une API complète

Discourse a une excellente API. La communauté open source fournit également des plugins, des échantillons et des exemples.

 

Installation de Discourse

Nous allons maintenant apprendra à installer Discourse, si vous ne rencontrez aucune complication particulières, cela devrais prendre environ 30 à 40 minutes.

Étape 1 : Commander un serveur ou une VM (Machine Virtuelle)

Inscrivez-vous sur Digital Ocean - Vous n'êtes pas obligé de passer par ce lien, mais si vous le faite, cela me fera gagner un mois d'hébergement pour mon blog - (voir : DigitalOcean le meilleur du cloud à petit prix), mettez à jour vos informations de facturation, puis commencez à créer votre nouvelle machine virtuelle (Droplet).

  • Entrez votre domaine discourse.example.com comme nom pour votre Droplet.

  • La valeur par défaut de 1 GB de RAM fonctionne très bien pour les petites et moyennes communautés Discourse. Nous recommandons 2 Go de RAM ou plus pour les très grosses communautés.

  • La valeur par défaut d'Ubuntu 14.04 LTS x64 fonctionne très bien. Choisissez toujours la dernière distribution LTS 64-bit.

Une fois votre Droplet créé, vous recevrez un mail de Digital Ocean avec le mot de passe de l'utilisateur root pour vous connecter à votre Droplet.

Étape 2 : Accéder à votre Droplet

Connectez-vous à votre Droplet via ssh, par exemple avec le logiciel Putty sur Windows.

En général (sur Putty) on met l'adresse IP, on laisse le port par défaut, on clique sur le bouton pour se connecter et une console apparait. Lorsque celle-ci vous demande le nom d'utilisateur, il faut indiquer root (il s'agit du nom du compte administrateur par défaut sur tout serveur Linux) et comme mot de passe, indiquez simplement celui qui vous a été envoyé par Digital Ocean dans vos mails.

Une fois connecté, la console va vous demander de créer un nouveau mot de passe, suivez les indications et une fois votre propre mot de passe défini, nous sommes prêt à commencer l'installation de Discourse pour de bon !

Étape 3 : Mettre en place un fichier "swap" (si nécessaire)

  • Si vous utilisez le minimum de 1 GB de mémoire requie par Discourse, vous devez configurer un fichier de swap.

  • Si vous utilisez 2 GB de mémoire ou plus, vous pouvez probablement passer cette étape.

3.1 Créer un fichier swap sur votre serveur Linux

Une fois connecté à votre Droplet via SSH, dans la console entrez (dans l'ordre) les commandes suivantes :

1 - Créer un fichier swap vide :

sudo install -o root -g root -m 0600 /dev/null /swapfile

2 - Écrire un fichier de 1 GB nommé 'swapfile' :

dd if=/dev/zero of=/swapfile bs=1k count=1024k

3 - Indiquer à linux que ce fichier est le fichier swap :

mkswap /swapfile

4 - Activer tout ça :

swapon /swapfile

5 - Faire en sorte que tout ça se mette automatiquement en marche au démarrage de la machine :

echo "/swapfile       swap    swap    auto      0       0" | sudo tee -a /etc/fstab

6 - On indique au serveur de n'utiliser le swap qu'en cas de besoin :

sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

C'est terminé, la suite !

Installer Docker / Git

Note : l'exécution des commandes peut parfois prendre plusieurs minutes, cela est tout à fait normal.

1 - Installation de GIT :

apt-get install git

2 - Installation de Docker :

wget -qO- https://get.docker.io/ | sh

Installation de Discourse

Pour commencer, on va créer un dossier /var/discourse, cloner l'image Docker de Discourse à l'intérieur du dossier et faire une copie du fichier de configuration app.yml, entrez donc ces quatre commandes :

mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
cp samples/standalone.yml containers/app.yml

Capture d'écran d'exemple

Éditer la configuration de Discourse

Modifier la configuration de discourse présenta dans app.yml :

nano containers/app.yml

Je recommande Nano car c'est l'éditeur le plus simple en mod console, il suffit d'utiliser les touches du clavier pour se déplacer dans un fichier.

  • Pour db_default_text_search_config définissez pg_catalog.french pour passer Discourse en français.
  • Pour LANG définissez fr_FR.UTF-8. afin de ne pas avoir de souci avec les accents et caractères spéciaux utilisés dans la langue française.
  • Pour DISCOURSE_DEVELOPER_EMAILS indiquez votre adresse mail.
  • Pour DISCOURSE_HOSTNAME indiquez l'adresse ip ou le nom de domaine par laquelle le site devra être accessible, il s'agit généralement de votre nom de domaine, par exemple : discourse.example.com, n'oubliez pas de mettre à jour vos enregistrement DNS de type A avec l'adresse IP de votre Droplet chez votre fournisseur de domaine.
  • Placez vos identifiants de messagerie mail dans DISCOURSE_SMTP_ADDRESS, DISCOURSE_SMTP_PORT, DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD. Soyez sûr d'avoir supprimé le # avant chacune de ces lignes pour les dé-commenter si cela est nécessaire.

  • Si vous utilisez une instance de 1 GB, définissez UNICORN_WORKERS à 2 et db_shared_buffers à 128MB de sorte que vous avez d'avantage de place dans la mémoire.

Capture d'écran de la console

Après avoir terminé vos modifications, appuyez sur Ctrl+O puis Entrée pour sauvegarder et Ctrl+X pour quitter.

L'email est important

L'email est ESSENTIEL pour la création de compte et les notifications dans discourse. Si vous ne configurez pas correctement l'adresse email avant l'amorçage, vous aurez un site qui ne fonctionnera pas !

  • Vous avez déjà un serveur de messagerie ? Génial. Utilisez vos informations d'identification du serveur de messagerie existant.

  • Aucun serveur de messagerie existant, ou vous ne savez pas ce que ce est ? Pas de problème, créer un compte gratuit sur Mandrill (ou Mailgun ou Mailjet), et utiliser les informations d'identification fournies dans le tableau de bord.

  • Pour une bonne délivrabilité des emails, vous devez définir le SPF et DKIM dans votre DNS. Mandrill fourni les instructions pour faire en sorte que cela fonctionne simplement.

Bootstrap Discourse

Enregistrer le fichier app.yml, et utilisez la commande suivante :

./launcher bootstrap app

Cette commande prend environ 8 minutes et vas préparer et configurer automatiquement l'environnement Discourse. Ensuite on termine en lançant Discourse :

./launcher start app

Capture d'écran de l'étape dans la console

Félicitations ! Vous avez maintenant votre propre instance de discourse !

Votre site est désormais accessible en utilisant le nom de domaine que vous avez défini directement dans votre navigateur, il vous est également possible d'utiliser l'adresse IP du serveur. La dernière étape consiste à créer votre compte en utilisant l'adresse mail indiqué dans la configuration de Discourse, une fois cela fait, le compte sera automatiquement élevé au rang d'administrateur.

Votre forum et votre compte sont prêts, vous n'avez plus qu'à explorer tout ça par vous-même et découvrir les fonctionnalités présenté plus tôt dans cet article !

HumanCoder - Un forum d'entraide qui utilise Discourse

 

Yakarouler - Un forum d'aide à la clientèle qui utilise Discourse

 

À bientôt dans un prochain tutoriel :)

Comments