FR
Se connecter Crée ton compte

Comment installer Plane sur Saplo : l'alternative à Jira sans frais par utilisateur

Plane est une alternative open source à Jira et Linear : sprints, backlog, épopées et kanban sans frais par compte. Comparaison, analyse des coûts et installation étape par étape sur une Box Saplo.

Grzegorz Kalmus ·

Le plan Standard de Jira coûte aujourd'hui environ 7,91 dollars par utilisateur et par mois, soit environ 7 €. Pour une équipe de cinq développeurs, cela représente environ 34 € par mois, et pour dix, 68 €. La facture augmente avec chaque nouveau compte : stagiaire, testeur, client qui doit suivre l'avancement du sprint. Linear calcule de la même manière. Dans ce guide, nous te montrons comment installer Plane, une alternative open source à Jira et Linear, sur ta propre Box Saplo. Sans frais par poste, avec des données sur un serveur en Allemagne et un paiement une fois par an.

Tu trouveras la recette prête à l'emploi sur la page Plane dans le catalogue d'applications Saplo. Ci-dessous, tout ce qu'il faut savoir avant et après avoir cliqué.

Qu'est-ce que Plane

Plane est un outil de gestion du travail pour les équipes de développement. Il offre ce pour quoi les équipes paient dans Jira :

  • éléments de travail avec priorité, assignation, étiquettes, estimation et date d'échéance,
  • cycles, c'est-à-dire des sprints avec une date de début et de fin et un graphique de burndown,
  • modules et épopées pour regrouper de plus grandes portions de travail,
  • backlog avec des tâches qui n'ont pas encore été attribuées à un cycle,
  • vues en liste, tableau Kanban, calendrier, tableau et chronologie, enregistrables avec des filtres,
  • pages, c'est-à-dire un wiki simple par projet pour les notes, les spécifications et les décisions,
  • collaboration en direct, car les changements des autres utilisateurs sont visibles immédiatement, sans actualisation.

Le projet est développé ouvertement sur GitHub, et l'édition Community est publiée sous licence AGPL-3.0 et n'a pas de limite d'utilisateurs. Sur Saplo, nous utilisons l'image officielle makeplane/plane-aio-community, c'est-à-dire la version Tout-en-un : l'interface, l'API, le travailleur de tâches en arrière-plan et le serveur de collaboration en direct sont tous dans un seul conteneur.

Une distinction importante : Vikunja est également présent dans le catalogue Saplo. Vikunja propose des listes de tâches générales, des tableaux Kanban et des diagrammes de Gantt pour toute équipe. Plane est conçu pour le travail d'une équipe de développement agile : sprints, backlog, épopées et estimations. Si tu gères une fleuristerie et que tu veux une liste de tâches pour la semaine, choisis Vikunja. Si tu gères des sprints, choisis Plane.

Plane ou Jira : une comparaison juste

Jira Cloud (Standard) Plane Community sur Saplo
Frais environ 7 € par utilisateur et par mois prix fixe d'une Box, par an
Limite d'utilisateurs vous payez pour chaque compte illimité
Où sont les données cloud Atlassian Votre Box, serveur en Allemagne
Sprints, backlog, epics oui oui
Vues : kanban, liste, calendrier, chronologie oui oui
Wiki du projet séparément dans Confluence, payant pages intégrées
Marketplace d'extensions énorme modeste
Workflows et automatisations avancés très étendus plus simples
Mises à jour et sauvegardes géré par Atlassian Vous, avec l'aide des sauvegardes de la Box
Support du fabricant communauté et documentation

Quand rester avec Jira :

  • si l'équipe compte jusqu'à 10 personnes et que le plan gratuit Jira Free lui suffit (avec ses limitations, notamment l'absence de droits étendus et une faible limite d'espace de stockage de fichiers),
  • si l'entreprise vit dans l'écosystème Atlassian : Confluence, Bitbucket, Jira Service Management et une douzaine de plugins payants,
  • si vous avez besoin de schémas de workflow très complexes, d'un audit de conformité et d'un contrat SLA avec le fabricant,
  • si personne dans l'équipe ne veut être responsable de sa propre instance, même aussi simple que sur Saplo.

Quand Plane est plus judicieux :

  • l'équipe grandit et vous payez chaque mois pour de nouveaux comptes,
  • vous voulez que les clients ou sous-traitants aient accès au projet, sans leur acheter de licence,
  • les données de projet, les spécifications et les notes client doivent rester sur votre serveur dans l'UE,
  • Jira est trop lourd pour l'équipe, et vous voulez un outil rapide et clair dans le style de Linear.

L'édition Community ne dispose pas de toutes les fonctions des plans payants de Plane (Pro, Business). Avant de migrer une grande équipe, il est recommandé de comparer la liste des fonctions sur la page des prix de Plane et de vérifier si ce que vous utilisez quotidiennement dans Jira est présent dans la version Community.

Calcul des coûts

Pour Plane, tu as besoin d'une Box L (plus d'infos ci-dessous), qui coûte 139 € par an, soit environ 11 € par mois. Le prix de la première période est le même que le prix de renouvellement. Comparons-le à Jira Standard, au prix d'environ 7 € par personne :

Équipe Jira Standard par an Plane sur Box L par an Différence
5 personnes environ 409 € 139 € environ 273 €
10 personnes environ 818 € 139 € environ 682 €
15 personnes environ 1227 € 139 € environ 1091 €
25 personnes environ 2045 € 139 € environ 1909 €

Deux remarques importantes concernant ce tableau. Premièrement, Jira Free existe pour un maximum de 10 personnes. Une petite équipe qui n'est pas gênée par les restrictions de la version gratuite n'économisera donc rien avec Plane. Deuxièmement, la Box L n'est pas seulement destinée à Plane. Elle offre 6 Go de RAM et 60 Go de stockage. Ainsi, à côté de Plane, tu peux généralement installer des applications plus légères, par exemple Uptime Kuma pour la surveillance ou un site web d'entreprise. Le nombre d'applications sur la Box n'est pas limité, seulement par la mémoire et le stockage.

Exigences et choix du Box

Plane est l'une des recettes les plus lourdes du catalogue. L'installation déploie six conteneurs :

  • postgres (PostgreSQL 16) pour les données de l'application,
  • redis pour le cache et les sessions,
  • rabbitmq comme file d'attente pour les tâches en arrière-plan,
  • storage, un stockage de fichiers compatible S3 (SeaweedFS) pour les pièces jointes et les avatars,
  • storage-init, un conteneur à usage unique qui crée un bucket pour les fichiers et termine son exécution,
  • plane, l'application elle-même.

La recette nécessite un minimum de 3 Go de RAM et 10 Go de disque. Cela exclut le Box S (1 Go) et le Box M (2 Go). Le bon choix est :

  • Box L (6 Go de RAM, 60 Go de disque, 139 € par an, 7 jours de sauvegardes) pour une équipe jusqu'à une douzaine de personnes, avec une mémoire tampon pour une ou deux applications légères à côté,
  • Box XL (12 Go de RAM, 150 Go de disque, 299 € par an, 14 jours de sauvegardes), si l'équipe est plus grande, s'il y a beaucoup de pièces jointes dans les tâches ou si d'autres applications plus lourdes doivent fonctionner sur le même Box, par exemple n8n ou un CRM.

Les deux plans offrent un accès SSH avec sudo complet, ce qui sera utile pour la configuration de la messagerie.

Installation étape par étape

  1. Connecte-toi au Panneau Saplo et accède au Catalogue d'applications. Tu trouveras Plane dans les outils. Tu peux aussi commencer par la page Plane et cliquer sur le bouton de déploiement.
  2. Choisis ta Box. Si elle n'a pas assez de mémoire disponible, le Panneau t'en informera avant l'installation, et non après un essai infructueux.
  3. Indique l'adresse. Le plus simple est un sous-domaine de ce style : zadania.saploapp.pl. Tu définis ton propre Domaine, par exemple projects.votreentreprise.fr, lors de l'installation, et le certificat SSL est émis automatiquement.
  4. Valide. Le moteur installe Docker, génère des mots de passe aléatoires pour la base de données, Redis, RabbitMQ et le stockage de fichiers, ainsi que des clés de session. Il les enregistre de manière permanente dans la configuration de cette installation et lance les conteneurs dans le bon ordre : d'abord la base de données, le cache, la file d'attente et le stockage, puis la création du bucket, et enfin l'application.
  5. Patiente. Lors du premier démarrage, Plane effectue une migration du schéma de la base de données, ce qui prend plus de quelques secondes. L'installation se termine seulement lorsque l'application répond effectivement à ton adresse, donc le statut "fonctionne" signifie que Plane est prêt.
  6. Ouvre l'adresse dans ton navigateur.

À l'intérieur du conteneur, Plane exécute son propre serveur proxy sur le port 80 sans certificat. Le chiffrement HTTPS est géré par le serveur Box, comme pour toute autre application Saplo, donc tu n'as rien à configurer ici.

Premier lancement : administrateur et espace de travail

Plane ne génère pas de mot de passe administrateur par défaut. Tu crées le compte toi-même lors de la première connexion :

  1. Lors de ta première visite, Plane te guide à travers la configuration de l'instance. La personne qui la réalise devient l'administrateur de l'instance, alors fais-le immédiatement après l'installation, avant que l'adresse ne soit partagée.
  2. Crée un espace de travail, c'est-à-dire l'espace de ton entreprise. Le nom et l'adresse de l'espace de travail apparaîtront dans les liens vers les tâches.
  3. Crée le premier projet avec un identifiant court, par exemple WEB. Les tâches recevront les numéros WEB-1, WEB-2 et ainsi de suite, comme dans Jira.
  4. Dans les paramètres du projet, personnalise les statuts (par exemple, Backlog, À faire, En cours, Revue de code, Terminé) et active les fonctionnalités que tu utilises : cycles, modules, pages.

La description de l'installation, y compris les noms de tous les conteneurs et les commandes pour consulter les logs, est enregistrée dans le fichier PLANE-SETUP.txt dans le répertoire de l'application sur la Box. Le Panneau Saplo affichera son contenu lorsque tu en auras besoin.

Travail d'équipe : invitations et e-mails

Tu peux inviter d'autres membres de l'équipe à partir des paramètres de l'espace de travail. Il y a une chose à savoir ici : la recette ne connecte pas automatiquement un serveur de messagerie. L'invitation sera créée, mais l'e-mail contenant celle-ci ne sera pas envoyé, pas plus que les notifications d'attribution de tâche.

Il y a deux façons de procéder :

  • La plus simple : les membres de l'équipe créent des comptes avec ton adresse, puis acceptent l'invitation après s'être connectés ou tu les ajoutes manuellement à l'espace de travail.
  • La complète : tu connectes le SMTP, par exemple une boîte de messagerie d'entreprise. Cela se fait via SSH, en remplissant les variables EMAIL_* dans le fichier docker-compose.yml dans le répertoire de l'application (hôte, port, utilisateur, mot de passe, adresse de l'expéditeur) et en redémarrant le conteneur avec la commande docker compose up -d. À partir de ce moment, les invitations, les notifications et la réinitialisation du mot de passe fonctionnent normalement.

Tu peux créer une boîte de messagerie pour l'envoi d'e-mails dans la messagerie Saplo, qui est incluse dans le prix de chaque Box.

Migration depuis Jira. Il est plus judicieux de commencer par un seul projet et un seul sprint, plutôt que de migrer l'historique complet. Les anciennes tâches fermées peuvent rester dans Jira en lecture seule ou en exportation. Il est recommandé de vérifier la documentation de Plane avant la migration pour savoir si un importateur automatique depuis Jira est disponible dans l'édition actuelle. Si nécessaire, il est toujours possible d'utiliser l'API Plane pour télécharger les tâches via un script.

Sécurité et paramètres à modifier

Quelques points pour la première semaine :

  • Configure l'instance tout de suite. La première personne qui passe par la configuration devient administrateur, ne laisse donc pas une nouvelle installation sans surveillance.
  • Restreins l'inscription. Une fois que tous les membres de l'équipe ont des comptes, désactive la possibilité de créer librement des comptes pour toute personne connaissant l'adresse dans le panneau d'administration de l'instance.
  • Utilise les rôles. Un client qui ne fait que suivre l'avancement n'a pas besoin d'un rôle de membre avec des droits d'édition. Plane a des rôles d'administrateur, de membre et d'invité.
  • Sauvegardes. Box L effectue des sauvegardes sur 7 jours et Box XL sur 14 jours. De plus, chaque Box a une sauvegarde hors serveur. Avant des modifications importantes, par exemple une mise à jour de version, tu peux vider la base de données manuellement via docker exec sur le conteneur PostgreSQL.
  • Les secrets restent en place. Les mots de passe et les clés sont stockés dans docker-compose.yml de cette installation. Ne les modifie pas manuellement sans nécessité, car changer la clé de session déconnectera tout le monde, et changer le mot de passe de la base de données sans le changer dans la base de données elle-même arrêtera l'application.

Problèmes courants

La page met longtemps à charger juste après l'installation. Plusieurs processus démarrent en même temps à l'intérieur du conteneur (migrations, API, worker, serveur de collaboration). Sur une Box neuve, la première connexion peut prendre un peu plus de temps. Aperçu : docker logs -f avec le nom du conteneur du fichier PLANE-SETUP.txt.

Les invitations n'arrivent pas. Ce n'est pas une erreur, mais un manque de SMTP. La description de la connexion de la messagerie est ci-dessus.

Impossible de télécharger une pièce jointe. Les pièces jointes sont stockées dans le stockage SeaweedFS. Si le conteneur storage-init n'a pas créé de bucket, le téléchargement se termine par une erreur. L'installation respecte cet ordre, mais si tu redémarres les conteneurs manuellement, vérifie les logs du stockage et du conteneur storage-init.

La Box commence à ralentir. Six conteneurs ont besoin de mémoire. Si d'autres applications lourdes fonctionnent à côté de Plane, vérifie l'utilisation de la RAM dans le panneau Saplo. La solution est un module complémentaire de mémoire ou le passage de Box L à Box XL, sans transfert de données.

Après un redémarrage, tout le monde est déconnecté. Cela ne devrait pas arriver, car les clés de session sont enregistrées de manière permanente. Si cela se produit, vérifie que personne n'a effacé les variables SECRET_KEY ou LIVE_SERVER_SECRET_KEY dans la configuration.

En résumé

Plane offre à l'équipe de développement des sprints, un backlog, des épiques et des vues similaires à Jira, sans frais par compte. Pour une équipe de plus de 10 personnes, la différence se chiffre en milliers d'Euros par an, et les données du projet restent sur votre serveur dans l'Union européenne. Le prix à payer pour cela : quelques minutes de configuration de la messagerie et la surveillance des sauvegardes, qui sont effectuées automatiquement sur Saplo.

Si l'équipe est petite et que Jira Free lui suffit, il n'y a aucune raison de migrer. Si la facture de licence augmente chaque trimestre, ouvre la page Plane dans le catalogue Saplo, choisis Box L et installe ta propre instance. Tu trouveras une comparaison complète des plans dans le catalogue.

  • #Self-hosting
  • #Jira
  • #Plane
  • #Guide
  • #Gestion de projet