Archives de catégorie : Open Source

Découvrir BookStack : La Documentation Collaborative Simplifiée

La gestion de la documentation est un défi pour de nombreuses organisations, qu’il s’agisse de petites équipes ou de grandes entreprises. BookStack, une plateforme de documentation open source, se positionne comme une solution élégante et conviviale pour organiser, partager et collaborer sur les connaissances.

Dans cet article, nous allons explorer les fonctionnalités de BookStack, ses cas d’utilisation, et pourquoi il pourrait être le choix parfait pour votre organisation.


Qu’est-ce que BookStack ?

BookStack est une application web open source dédiée à la création et à la gestion de documentation. Lancé en 2015 par Dan Brown, BookStack repose sur PHP et utilise le framework Laravel. Avec une interface intuitive et une structure bien pensée, BookStack permet aux utilisateurs de créer et d’organiser des documents dans un environnement collaboratif.


Les points forts de BookStack

1. Une organisation naturelle des contenus

BookStack adopte une hiérarchie simple et logique pour structurer les documents :

  • Livres : Les catégories principales, qui regroupent des chapitres.
  • Chapitres : Sous-catégories qui contiennent des pages.
  • Pages : Le niveau de contenu détaillé.

Cette organisation claire permet aux utilisateurs de naviguer facilement dans les documents, quel que soit leur volume.

2. Éditeur intuitif

L’éditeur WYSIWYG (What You See Is What You Get) intégré permet une prise en main rapide. Il offre :

  • Des options de mise en forme claires.
  • La possibilité d’intégrer des images, des vidéos ou des tableaux sans effort.
  • Un mode Markdown pour les adeptes de cette syntaxe.

3. Recherche rapide et efficace

Grâce à un moteur de recherche intégré, retrouver une information est un jeu d’enfant. Les résultats sont affichés en fonction de la pertinence, avec une mise en avant des mots-clés.

4. Gestion des utilisateurs et des permissions

BookStack propose un contrôle granulaire des droits d’accès :

  • Attribution de rôles spécifiques (lecteur, éditeur, administrateur).
  • Paramétrage des permissions par livre, chapitre ou page.
    Cette fonctionnalité est particulièrement utile dans un contexte professionnel où tous les membres n’ont pas les mêmes besoins en matière de documentation.

5. Installation et personnalisation

Facile à installer, BookStack peut être déployé sur un serveur local ou dans le cloud. De plus, la plateforme est hautement personnalisable, avec la possibilité d’ajouter des extensions ou de modifier l’apparence via CSS.


Pourquoi utiliser BookStack ?

Pour les petites équipes

BookStack est idéal pour les startups ou les PME cherchant une solution centralisée et simple pour partager leurs processus internes, guides ou documents techniques.

Pour les grandes entreprises

Avec sa gestion avancée des permissions, BookStack peut également répondre aux besoins des grandes organisations en permettant de compartimenter la documentation.

Pour les projets open source

BookStack s’intègre parfaitement dans des environnements open source, notamment pour la documentation de projets techniques ou communautaires.


Comment installer BookStack ?

  1. Prérequis techniques
    • Un serveur avec PHP 8.1 ou supérieur.
    • Une base de données MySQL/MariaDB ou PostgreSQL.
    • Un serveur web (Apache ou Nginx).
  2. Étapes de base
    • Clonez le dépôt GitHub de BookStack.
    • Installez les dépendances via Composer.
    • Configurez votre environnement en adaptant le fichier .env.
    • Lancez les migrations de base de données.
  3. Astuce : Utilisation de conteneurs Docker
    BookStack propose une image Docker officielle, simplifiant grandement le processus d’installation.

Comparatif avec d’autres outils

FonctionnalitéBookStackConfluenceMediaWikiNotion
Open sourceOuiNonOuiNon
Structure intuitiveOuiOuiNonOui
Facilité d’installationMoyenneComplexeMoyenneN/A (SaaS)
CoûtGratuitPayantGratuitPayant

Conclusion

BookStack est une solution robuste et simple pour gérer votre documentation. Son interface intuitive, ses fonctionnalités collaboratives et son coût nul en font un choix particulièrement intéressant, que ce soit pour un usage personnel ou professionnel.

Si vous cherchez un outil puissant et flexible pour structurer vos connaissances, BookStack mérite toute votre attention.

Prêt à franchir le pas ? Rendez-vous sur le site officiel BookStack pour démarrer dès aujourd’hui.

Un proxy Open Source avec PfSense

Introduction

Un serveur mandataire ou proxy (de l’anglais) est un serveur informatique qui a pour fonction de relayer des requêtes entre un poste client et un serveur. Les serveurs mandataires sont notamment utilisés pour assurer les fonctions suivantes :

  • mémoire cache ;
  • la journalisation des requêtes (« logging ») ;
  • la sécurité du réseau local ;
  • le filtrage et l’anonymat.

L’utilité des serveurs mandataires est importante, notamment dans le cadre de la sécurisation des systèmes d’information.

Ce tuto va vous permettre de créer un proxy avec filtrage et logging.
Nous allons utiliser PfSense comme base de travail.
A l’installation de base, nous allons ajouter les packages :

  • Squid
  • SquidGuard
  • LightSquid

Prérequis

  • Une machine x86 physique ou virtuelle avec une interface réseau
  • un serveur DNS
  • un serveur DHCP
  • un firewall

Installation

Je vous invite à télécharger l’ISO de PfSense sur le site : https://www.pfsense.org/download/

PfSense peut être installé sur une machine physique ou sur une machine virtuelle.
Pour ma part, il sera installé sur VWMware ESXi 6.5.

A présent, nous allons pouvoir passer via l’interface Web de management de PfSense via http://<IP>
Pour Configurer PfSense et installer les packages nécessaires au fonctionnement du proxy.

Configuration de Squid

Configuration de SquidGuard

SquiGuard est un « add-on » pour Squid qui va vous permeetre d’effectuer du filtrage basé sur des blacklists/whitelists.

J’utilise la blacklist de L’Université de Toulouse.
https://dsi.ut-capitole.fr/blacklists/

Configuration de LightSquid

LightSquid va vous permettre de faire du reporting sur les accès Squid.

Configuration manuelle du proxy

Les écrans ci-dessous sont propres à Linux

Vous avez 2 possibilités:

  • La configuration manuelle du proxy
  • par l’ajout de l’URL du serveur WEB hébergeant votre fichier de configuration

Configuration automatique du proxy

Fichier PAC et WPAD

Introduction

Pour déployer automatiquement l’adresse de votre proxy, nous allons créer un un fichier proxy.pac.

Extrait de Wikipédia
https://fr.wikipedia.org/wiki/Fichier_.PAC
Le navigateur va chercher ce fichier PAC en priorité. Les URL qu’il contient peuvent être configurées manuellement, ou déterminées automatiquement par le WPAD (Web Proxy Autodiscovery Protocol (en)1).

Un fichier PAC contient une fonction en JavaScript appelée « FindProxyForURL(url, host) ». Cette fonction retourne une chaîne de caractères avec une ou plusieurs spécifications (règles) sur la façon d’y accéder. Ces règles amènent le navigateur web à utiliser un serveur proxy particulier ou à se connecter directement.

Prérequis

Un fichier proxy.pac doit être déployer à travers un serveur web.
Perso, j’utilise un serveur Apache.
Voici un lien pour vous aider à installer un serveur Apache sous Ubuntu :

https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04-quickstart-fr

Pour l’extension .pac soit prise en charge par votre serveur Web Apache, il faut ajout un fichier .htaccess contenant :

AddType application/x-ns-proxy-autoconfig .pac

Dans le répertoire contenant votre fichier proxy.pac

Créez, également, un symbolic link wpad.dat vers votre fichier proxy.pac. Exemple:

ln -s /var/www/html/proxy.pac /var/www/html/wpad.dat

Exemple de fichier proxy.pac

function FindProxyForURL(url, host)
{
   //Les adresses privées n'utilisent pas le proxy
   if (isInNet(host, "192.168.0.0", "255.255.0.0")) {
      return "DIRECT";
      if (isInNet(host, "10.0.0.0", "255.0.0.0")) {
      return "DIRECT";
   // les urls suffixées domain.local n'utilisent pas le proxy
   if (shExpMatch(url, "*.domain.local//*"))
      return "DIRECT";
   } else {
      // définition du proxy pour l'http et l'https
      if (shExpMatch(url, "http:*")) 
         return "PROXY 172.16.1.153:3128" ;
      if (shExpMatch(url, "https:*"))
         return "PROXY 172.16.1.153:3128" ;
      return "DIRECT";
   }
}

Propagation via DNS

Remarque: La propagation de la configuration wpad/pac via DNS/DHCP n’est valable que pour des machines Windows.

Pour propager votre configuration proxy via un serveur DNS.
Vous devez créer une entrée wpad soit un A pointant vers l’IP du serveur web hébergeant le fichier wpad/pac ou un CNAME pointant vers le FQDN du serveur web hébergeant le fichier wpad/pac.

wpad.mle.	IN	A	172.16.1.1

ou

wpad.mle.	IN	CNAME	pacserver.mle.

Propagation par DHCP

La propagation par DHCP de la configuration WPAD est principalement supporté par Windows.

Vous devez configurer l’option 252 qui pointera vers l’URL de votre fichier wpad.dat. Exemple :
http://pacserver.mle/wpad.dat

Références

http://findproxyforurl.com
https://fr.wikipedia.org/wiki/Fichier_.PAC
https://www.pfsense.org/