OpenProject est un logiciel de gestion de projets basé sur le web, conçu pour aider les équipes à travailler en collaboration. Le logiciel aide à organiser des projets tout au long de leur cycle de vie.

La sphère publique s’empare volontiers de sujets techniques liés au cloud, du multi-cloud alternatif à la responsabilité environnementale en passant par quelques initiatives solidaires. La communauté open-source profite ainsi d’un coup de projecteur sur ses projets les plus porteurs. Parmi eux, nous avons sélectionné pour vous OpenProject.

OpenProject est un logiciel de gestion de projets basé sur le web, conçu pour aider les équipes à travailler en collaboration. Le logiciel aide à organiser des projets depuis leurs phases initiales de conception, de lancement, de définition et de planification, jusqu'à leur lancement ou leur exécution et fournit des outils pour la performance, le contrôle et la clôture des projets.

La plate-forme offre des fonctionnalités et des outils qui aident les utilisateurs à créer des roadmaps pour les produits, à planifier les versions, à gérer les calendriers, à augmenter la productivité et à fournir des résultats de haute qualité. OpenProject prône la transparence au sein des équipes et rend la collaboration accessible en étant disponible dans plus de 30 langues et en disposant d'un mode d'accessibilité.

Voici quelques-unes des principales caractéristiques d'OpenProject :

  • Planification et programmation du projet
  • Calendrier
  • Roadmap des produits et release planning
  • Gestion des tâches et collaboration des équipes
  • Kanban, Agile et Scrum
  • Suivi des bugs
  • Suivi du temps, rapport des coûts et budgétisation
  • Projet wiki

La version open-source de la plate-forme a été publiée sous la licence GNU GPLv3 et est disponible gratuitement. Une version professionnelle payante est disponible et propose des fonctionnalités supplémentaires et des abonnements d'assistance. La société s'engage également en faveur de la sécurité et de la confidentialité des données. Étant basée en Europe, la société est donc conforme au Règlement Général sur la Protection des Données (RGPD), et cherche constamment à assurer une plus grande confidentialité des données en mettant en place des dispositifs de sécurité supplémentaires.

Si vous souhaitez vous-même déployer OpenProject dans un environnement cloud, alors voici un tutoriel dans lequel vous apprendrez comment installer et configurer la version communautaire d'OpenProject sur Ubuntu Focal Fossa 20.04 tout en intégrant une instance gérée de base de données PostgreSQL à votre Stack.

Pré-requis :

  • Vous avez un compte et êtes connecté à console.scaleway.com
  • Vous avez configuré votre clé SSH
  • Vous disposez d’une Instance Virtuelle Scaleway fonctionnant sur Ubuntu Focal Fossa (20.04 LTS)
  • Vous avez des privilèges sudo ou un accès à l'utilisateur root
  • Vous avez un nom de domaine ou un sous-domaine pointant vers l'instance

Installation d'OpenProject


1. Connectez-vous à votre instance via SSH. Pour en savoir plus, consultez notre documentation (en anglais).

  1. Mettez à jour le cache des paquets APT et les logiciels déjà installés sur l'instance. Ensuite, installez le paquet apt-transport-https, qui permet l'utilisation de dépôts accessibles via le protocole HTTP Secure (HTTPS).
apt update && apt -y upgrade
apt -y install apt-transport-https  

3. Utilisez la commande suivante pour importer la clé PGP utilisée pour signer les paquets Open Project :

wget -qO- https://dl.packager.io/srv/opf/openproject/key | sudo apt-key add -

Si vous utilisez sudo pour lancer des commandes avec des autorisations d'administrateur, votre mot de passe vous sera demandé.

4. Ajoutez le dépôt OpenProject :

wget -O /etc/apt/sources.list.d/openproject.list \
  https://dl.packager.io/srv/opf/openproject/stable/10/installer/ubuntu/20.04.repo

5. Mettez à jour la liste des paquets APT et installez la version open source d'OpenProject.

apt-get update
apt-get -y install openproject

Création d'une base de données PostGreSQL managée


Comme OpenProject nécessite une base de données PostGreSQL pour fonctionner, nous allons créer une instance managée tournant sur le moteur de base de données PostgreSQL directement dans la console Scaleway.

1. Dans la section Storage du menu latéral, cliquez sur Database. Ensuite, cliquez sur Create an Instance.

La page de création s'affiche.

2. Choisissez PostgreSQL comme moteur de base de données.

3. Vous pouvez sélectionner la région dans laquelle votre base de données sera déployée géographiquement. Actuellement, nous fournissons les emplacements suivants :

  • FR-PAR : Paris, France
  • NL-AMS : Amsterdam, Pays-Bas

4. Sous Configure Instance Options, sélectionnez votre type d'instance et cochez les cases Backup et High Availability si vous en avez besoin.

5. Pour créer vos identifiants, insérez un nom d'utilisateur et un mot de passe dans les cases correspondantes.

Prenez note de ces informations d'identification, car elles vous seront demandées ultérieurement.

6. Saisissez un nom pour votre instance, vérifiez si toutes les options sélectionnées correspondent à votre besoin et cliquez sur Create an Instance pour initier son déploiement.

Configuration de la Stack


Vous pouvez facilement configurer votre Stack et vos dépendances avec l'outil d'installation d'OpenProject.

1. Pour ouvrir l'outil, lancez :

openproject configure

2. Sélectionnez l'option Use an existing PostrgreSQL database (Utiliser une base de données PostrgreSQL existante) pour utiliser votre base de données PostGreSQL managée.

3. Insérez l'adresse IP de la base de données, qui se trouve sur la page Overview d’informations sur votre base de données :

4. Entrez le port PostGreSQL :

5. Insérez le nom d'utilisateur créé pour votre base de données managée.

Et le mot de passe correspondant :

6. Une liste de vos bases de données est disponible dans la page d'informations de la base de données, sous l'onglet Databases. Sélectionnez la base de données qui sera utilisée avec OpenProject et entrez son nom dans la case :

L'outil d'installation offre la possibilité d'installer et de configurer un serveur web en utilisant Apache.

7. Sélectionnez Install apache2 server et appuyez sur la touche Enter.

8. Insérez le nom de domaine ou sous domaine pointant vers votre instance.

9. Définissez un préfixe de chemin d'accès. Si vous laissez le champ vide, l'installation sera effectuée sur la racine (root) de votre domaine.

L'assistant vous demandera alors si vous souhaitez activer SSL/TLS.

10. Procédez en sélectionnant No et en appuyant sur la touche Enter.

Note : Nous activerons TLS pour sécuriser et crypter les connexions entre vos utilisateurs et l'instance dans une étape ultérieure.

11. Vous pouvez configurer Apache pour qu'il crée et héberge automatiquement des dépôts SVN ou Git. Si vous souhaitez utiliser SVN, sélectionnez Install Subversion repository support. Si vous souhaitez utiliser Git, sélectionnez Skip puis Install Git repository support.

Dans ce tutoriel, nous installerons Git.

  1. Entrez le chemin du répertoire qui héberge les référentiels Git puis le chemin du répertoire CGI git-http-backend.

13. Sélectionnez une application de messagerie électronique que vous souhaitez utiliser pour envoyer des courriers électroniques à partir d'OpenProject et remplissez les informations demandées ou Skip.

14. Enfin, installez le serveur Memcache.

L'installation va s'exécuter. Vous pouvez accéder à votre interface OpenProject en insérant http://<votredomaine.com>/<chemin-d'accès> sur un navigateur web.

Installation d'un certificat SSL/TLS


Afin de protéger les informations d'identification des utilisateurs ainsi qu'autres informations confidentielles qui seront stockées dans OpenProject, vous pouvez générer un certificat SSL émis par Let's Encrypt, gratuitement.

Nous utiliserons à cette fin un certbot.

  1. Assurez-vous que le dépôt universe est activé dans Ubuntu.
apt-get update
apt-get install software-properties-common
add-apt-repository universe
apt-get update
  1. Installez le certbot en exécutant la commande :
apt-get install certbot
  1. Exécutez certbot tout en spécifiant le chemin de la racine web comme tel :
certbot certonly --webroot --webroot-path /opt/openproject/public -d domain.name

Remplacez domain.name par votre nom de domaine.

  1. Répondez aux questions lorsque l'assistant certbot vous y invite.
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

Insérez votre adresse électronique.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Tapez A pour accepter.

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: 

Choisissez Yes ou No et introduisez votre selection en conséquence.

L’assistant générera ensuite votre certificat. Une fois fait, il vous fournira le chemin du certificat ainsi que la clé privée et vous informera de sa date d’expiration.

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for openproject-scw.ga
Using the webroot path /opt/openproject/public for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/yourdomain.name/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/yourdomain.name/privkey.pem
  Your cert will expire on 2020-10-20. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.

Prenez note des chemins d'accès fournis, car ils seront nécessaires dans une étape ultérieure.

Activation de TLS/SSL


1. Relancez l'assistant OpenProject en exécutant la commande :

openproject reconfigure

L'assistant d'installation lance les mêmes instructions qu'auparavant. Sélectionnez les mêmes préférences et entrez vos réponses, si nécessaire, jusqu'à ce que vous atteigniez l'écran serveur/ssl.

  1. Sélectionnez Yes et entrez. Lorsque vous y êtes invité, insérez le chemin d'accès à votre certificat :

Vers votre clé privée :

Et un chemin vers votre bundle CA (si vous en avez un).

Suivez les autres instructions en entrant < OK > à chaque fois. L'assistant se fermera et votre nouvelle configuration sera appliquée.

Accéder à votre tableau de bord OpenProject


Pour commencer à modifier et à configurer votre espace de travail OpenProject, vous devez vous connecter.

Ouvrez un navigateur web et entrez https://<votredomaine.com>/<chemin-d'accès>/login

Pour vous connecter en tant qu'utilisateur admin, entrez les informations d'identification suivantes :

Nom d'utilisateur : admin
Mot de passe : admin

Lors de la première connexion, il vous sera demandé de changer votre mot de passe.

Une fois que vous l'aurez fait, vous pourrez commencer à gérer vos projets. OpenProject met à votre disposition un site web de documentation et un guide d'utilisation est disponible pour vous aider à démarrer avec leurs différentes fonctionnalités.