Avant toute chose, il faut définir ce qu’est Kanboard. C’est un logiciel libre de gestion de projet. Il se base sur la méthodologie Kanban qui consiste à représenter les tâches à accomplir sous forme de carte. Celles-ci peuvent être placées dans différentes colonnes représentant différents états.
Afin d’ajouter de nouvelles fonctionnalités à cet outil, j’ai donc décidé de créer un plugin. Cependant, comme je travail sur une VM Virtual Box, je ne peux pas utiliser Vagrant pour installer la version développeur.
Dans ce tutoriel, nous allons utiliser Sqlite pour stocker nos données. Mais vous pouvez très bien utiliser MySQL ou Postgresql en suivant la documentation de Kanboard.
Installation de Kanboard
Il y a deux versions possibles : la version release et la version développeur. Vous pouvez très bien développer un plugin sur les deux versions. Cependant, la version release ne contient pas les tests automatiques. C’est donc à vous de voir si vous voulez suivre les bonnes pratiques de tests automatiques. Personnellement, j’ai fait le choix de prendre la version développeur pour faire du TDD (Test-driven development).
Prérequis
Dans un premier temps, on va installer un serveur web, ici Apache ainsi que PHP 7.4 :
sudo apt update
sudo apt-get install -y apache2 libapache2-mod-php7.4 php7.4-cli php7.4-mbstring php7.4-sqlite3 php7.4-zip php7.4-opcache php7.4-json php7.4-mysql php7.4-pgsql php7.4-ldap php7.4-gd php7.4-xml php7.4-curl
On installe maintenant PHPUnit 7 pour lancer les test automatiques :
sudo wget -O phpunit https://phar.phpunit.de/phpunit-7.phar
sudo mv phpunit /bin/
sudo chmod +x /bin/phpunit
Pour installer les dépendances que l’on aura besoin pour lancer les tests nous allons utiliser Composer. On l’installe en utilisant cette commande :
sudo apt install composer
Récupérer la version développeur
Il suffit de cloner le projet git dans le répertoire /var/www/html :
git clone https://github.com/kanboard/kanboard.git
Permissions
La dernière étape est de donner les droits à l’utilisateur ‘www-data’ sur le dossier data, car sinon Kanboard ne pourra pas créer ou modifier la base donnée sqlite.
sudo chown -R www-data:www-data /var/www/html/kanboard/data
Lancer les tests sur la version développeur
Pour lancer les tests, il nous faut donc maintenant installer les dépendances requises pour lancer les tests.
Dans un premier temps aller dans votre nouveau répertoire :
cd /var/www/html/kanboard/
Et lancez le composer :
sudo composer install
Vérifions que l’installation s’est bien déroulé en lançant les tests automatiques avec sqlite :
phpunit -c tests/units.sqlite.xml

Ces tests automatiques vont nous permettre de coder plus sereinement. En effet il sera plus simple de repérer si on génère un erreur avec une fonctionnalité de Kanboard. Cela nous montre aussi que l’installation s’est bien faites, que toutes les dépendances ont bien été installées. On va partir d’un environnement sain.
Nous pouvons donc commencer le développement de notre plugin en toute tranquillité.