Tutoriel

OpenProject sur VPS : Gantt, jalons et suivi d'heures

Déploiement7 min de lecture13 étapes

Jira Data Center a entamé sa migration forcée vers le Cloud depuis 2024, avec des grilles tarifaires revues à la hausse chaque trimestre. Pour les agences qui facturent au temps passé et coordonnent plusieurs équipes, continuer à payer par siège n'est plus tenable. OpenProject répond à ce besoin précis : c'est un outil de gestion de projet enterprise — Gantt natif, feuilles de temps, jalons contractuels, wiki — distribué sous licence GPLv3, donc auto-hébergeable sans frais de licence. Ce guide explique comment le déployer sur un VPS depuis l'image Docker officielle, le placer derrière nginx avec TLS, et en tirer parti dès le premier projet.

Sommaire· OpenProject, Plane et Kaneo : trois outils, trois positionnements1/4
  1. 01OpenProject, Plane et Kaneo : trois outils, trois positionnements
  2. 02Comparatif
  3. 03Créer son premier projet et configurer le Gantt
  4. 04Dépannage — erreurs fréquentes

Pourquoi les agences cherchent une alternative à Jira en 2026. La migration vers Jira Cloud a concentré plusieurs hausses successives : fin de vie de Data Center annoncée, fin des licences perpétuelles Server, et révision des grilles Cloud en 2024 puis en 2026. Pour une agence de dix personnes, le coût annuel d'un outil de PM cloud — Jira, Asana, Monday — dépasse couramment 3 000 € HT. OpenProject Community édition, auto-hébergé sur un VPS, ramène ce poste à zéro hors infrastructure.

  • Gantt interactif avec dépendances entre tâches et chemin critique
  • Suivi du temps par tâche et par projet, exportable en CSV pour la facturation
  • Jalons et livrables contractuels attachés à la roadmap
  • Wiki intégré pour la documentation projet, sans outil tiers
  • Gestion des versions et releases pour les projets logiciels
  • Contrôle d'accès granulaire par rôle (lecteur, contributeur, chef de projet, administrateur)
  • Licence GPLv3 : le code source est auditable et aucune télémétrie n'est imposée

Prérequis : 2 Go de RAM minimum. OpenProject repose sur Ruby on Rails côté serveur, ce qui explique son empreinte mémoire supérieure à des outils comme Plane ou Vikunja. En pratique, 2 Go de RAM suffisent pour une équipe de cinq à quinze personnes avec quelques projets actifs. Un VPS à 2 vCPU / 2 Go (type VPS-2 chez ServOrbit) tient la charge sans saturation notable. Pour vingt personnes ou plus, ou pour des projets avec un grand nombre de pièces jointes, passer à 4 Go évite les lenteurs lors des chargements de diagrammes Gantt complexes. Le disque doit prévoir au minimum 20 Go pour PostgreSQL, les pièces jointes et les logs applicatifs ; 40 Go sont recommandés pour une équipe qui attache régulièrement des documents à ses tâches.

OpenProject, Plane et Kaneo : trois outils, trois positionnements

Trois gestionnaires de projets open source, trois approches différentes. Le comparatif ci-dessous aide à choisir selon les besoins de l'équipe.

Comparatif

Faites défiler le tableau

CritèreOpenprojectPlaneKaneo
Paradigme principalPM enterprise : Gantt, jalons, feuilles de temps, budgetsPM agile : cycles, backlogs, sprints, états personnalisésKanban visuel : cartes, colonnes, étiquettes
Gantt natifOui, avec dépendances et chemin critiqueNon (roadmap partielle, sans dépendances)Non
Suivi du tempsOui, par tâche et par projetNon dans la version CommunityNon
CibleAgences, équipes avec jalons contractuels, projets pluriannuelsÉquipes produit agile, petites startupsÉquipes qui veulent un Kanban minimaliste
RAM minimale2 Go1 Go512 Mo
LicenceGPLv3AGPL v3MIT
  1. Préparer le VPS

    Connectez-vous en SSH, mettez à jour les paquets et installez Docker avec le plugin Compose : apt update && apt install -y docker.io docker-compose-plugin. Vérifiez l'installation avec docker compose version (v2.x attendu).

  2. Récupérer le Compose officiel

    Clonez le dépôt de déploiement officiel : git clone https://github.com/opf/openproject-deploy.git /opt/openproject && cd /opt/openproject/compose. Ce dépôt maintient le fichier docker-compose.yml et le fichier d'environnement .env recommandés par l'équipe OpenProject.

  3. Configurer les variables d'environnement

    Copiez l'exemple : cp .env.example .env puis éditez .env. Les variables obligatoires sont : OPENPROJECT_HOST__NAME=votre-domaine.com (double underscore), OPENPROJECT_HTTPS=true, et SECRET_KEY_BASE généré par openssl rand -hex 64. Définissez aussi POSTGRES_PASSWORD et OPENPROJECT_DB_PASSWORD avec la même valeur forte.

  4. Démarrer les conteneurs

    Lancez docker compose up -d. L'image openproject/community:latest télécharge environ 600 Mo. Le premier démarrage prend deux à quatre minutes le temps que les migrations de base de données s'exécutent. Surveillez avec docker compose logs -f web jusqu'à voir la ligne Listening on tcp://0.0.0.0:8080.

  5. Vérifier que l'application répond

    Depuis le VPS : curl -s -o /dev/null -w "%{http_code}" http://localhost:8080. Un code 200 ou 302 confirme que l'application est en ligne. À ce stade elle est accessible uniquement en local — le reverse proxy nginx suivra à l'étape suivante.

  1. Installer nginx et certbot

    Sur Debian/Ubuntu : apt install -y nginx certbot python3-certbot-nginx. Assurez-vous que le DNS de votre domaine pointe vers l'IP du VPS avant de continuer.

  2. Créer le vhost nginx

    Créez /etc/nginx/sites-available/openproject avec le contenu suivant : server { listen 80; server_name votre-domaine.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_read_timeout 120s; client_max_body_size 100M; } }. Activez le site : ln -s /etc/nginx/sites-available/openproject /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx.

  3. Obtenir le certificat TLS

    Exécutez certbot --nginx -d votre-domaine.com. Certbot modifie le vhost pour écouter sur le port 443, ajoute les directives ssl_certificate et configure la redirection HTTP→HTTPS automatiquement. Le certificat se renouvelle via le timer systemd certbot.timer.

Créer son premier projet et configurer le Gantt

Une fois OpenProject déployé et accessible, ces étapes guident la création du premier projet et l'activation de la vue Gantt.

  1. Accéder à l'interface et changer le mot de passe admin

    Ouvrez https://votre-domaine.com dans un navigateur. Connectez-vous avec admin / admin et changez le mot de passe immédiatement. Configurez ensuite l'URL de l'application dans Administration > Paramètres > Général si elle n'a pas été détectée automatiquement depuis OPENPROJECT_HOST__NAME.

  2. Créer un projet et inviter les membres

    Cliquez sur « Nouveau projet », choisissez un nom, activez les modules utiles : Tâches, Gantt, Suivi du temps, Wiki. Invitez les membres depuis l'onglet Paramètres > Membres en leur assignant un rôle (Membre, Chef de projet, etc.).

  3. Créer des tâches et définir les dépendances

    Dans la vue Liste des tâches, créez les premières tâches avec des dates de début et de fin. Basculez en vue Gantt pour visualiser la chronologie. Pour créer une dépendance, ouvrez une tâche et renseignez le champ « Précédée par » avec le numéro de la tâche parente.

  4. Configurer les jalons

    Un jalon est une tâche de type Milestone. Créez-en depuis la vue Gantt (type « Jalon ») ou depuis la liste en changeant le type. Les jalons apparaissent sous forme de losange sur le diagramme — utiles pour marquer les livrables contractuels.

  5. Activer les feuilles de temps

    Dans Administration > Paramètres > Journaux de travail, activez le module. Chaque membre peut ensuite saisir son temps via le bouton chronomètre sur une tâche ouverte. Les rapports agrégés par projet et par période sont accessibles depuis Rapports > Journaux de travail.

Sauvegardes PostgreSQL hebdomadaires : ajoutez ce cron sur le VPS pour exporter la base toutes les semaines : 0 3 * * 0 docker exec openproject_db pg_dump -U openproject openproject | gzip > /var/backups/openproject_$(date +%Y%m%d).sql.gz. Conservez les sept dernières archives avec find /var/backups -name 'openproject_*.sql.gz' -mtime +7 -delete. Testez la restauration une fois par mois dans un environnement isolé.

Dépannage — erreurs fréquentes

Les erreurs les plus communes lors du déploiement ou de la première utilisation d'OpenProject, avec leurs solutions.

  • 502 Bad Gateway au premier démarrage : les migrations Rails ne sont pas terminées. Attendez deux à cinq minutes et vérifiez docker compose logs web pour confirmer l'écoute sur le port 8080.
  • Page blanche ou erreur 500 : SECRET_KEY_BASE est vide ou incorrectement défini. Régénérez-le avec openssl rand -hex 64 et redémarrez avec docker compose up -d --force-recreate.
  • Pièces jointes refusées : la taille par défaut de nginx est 1 Mo. Augmentez client_max_body_size dans le vhost (100 Mo recommandés pour les fichiers projets).
  • Problème d'envoi d'e-mails : configurez les variables OPENPROJECT_SMTP_* dans .env (hôte SMTP, port 587, identifiants). Sans configuration SMTP, les invitations de membres ne partent pas.
  • Mise à jour de l'image : docker compose pull && docker compose up -d. OpenProject effectue les migrations automatiquement au démarrage. Faites une sauvegarde de la base avant chaque mise à jour majeure.

Adoption souveraine : le cas néerlandais. En septembre 2026, le gouvernement néerlandais a publié les spécifications de DAWO (Digitaal Autonome Werkomgeving Overheid), un plan d'environnement de travail souverain basé sur NixOS, visant à réduire la dépendance aux plateformes américaines pour les administrations publiques. La stack retenue inclut Nextcloud pour les fichiers, Element pour la messagerie, Collabora pour les documents bureautiques et OpenProject pour la gestion de projet. Huit communes participent aux tests pratiques. Ce choix valide la maturité de l'outil pour des contextes où l'hébergement des données ne peut pas être délégué à un prestataire hors UE.

Pour aller plus loin. OpenProject couvre les projets à fort contenu Gantt et feuilles de temps. Pour un backlog produit agile, Plane (cycles et sprints) correspond mieux. Pour un Kanban léger sans surcoût mémoire, Kaneo reste l'option la plus économe. Si vous gérez plusieurs clients depuis une seule interface, l'espace agence ServOrbit permet de superviser les VPS de chaque client, d'accéder aux consoles et de gérer les renouvellements sans jongler entre plusieurs tableaux de bord.

Gérez les VPS de vos clients depuis un espace centralisé

L'espace agence ServOrbit vous permet de provisionner, superviser et renouveler les VPS de tous vos clients depuis une interface unique. Chaque client dispose de son propre environnement isolé, vous gardez la main sur l'infrastructure.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet