Une application web opensource de gestion de projets à l'aide de kanbans, pour les groupes, collectifs et associations.
Site officiel du projet: kanff.org
Avertissement: KanFF est en cours de développement et n'est pas encore utilisable... Beaucoup de choses seront modifiées (notamment niveau design) avant la première version de production. Visitez kanff.org pour plus d'informations.
Quand un collectif utilise KanFF, les membres du collectif ont un compte et rejoignent des groupes. Les groupes réalisent 0, 1 ou plusieurs projets (les projets sont réalisés par 1 ou plusieurs groupes).
Chaque projet a un kanban et est divisé en parties appelées "travaux". Ceux-ci contiennent des tâches relatives à ce travail. La gestion de toutes ces tâches et travaux dans les différents projets se fait collaborativement à travers le kanban et les détails du projet. Les événements importants relatifs à un projet sont consignés par les membres dans un journal de bord.
Le kanban est la page principale de l'application, c'est là que toutes les tâches vont pouvoir être gérées. Voici un apercu du kanban du projet fictif Crowdfunding Festival 2020
pour le collectif Collectif Assoc Vaud
. (Toutes les données sont fictives).
Les détails d'une tâche (numéro 1) sur le kanban du projet Crowdfunding Festival 2020
pour le collectif fictif Collectif Assoc Vaud
.
L'application est pensée pour être utilisée par des membres de collectifs, d'organisations, de mouvements, d'associations ou de simples groupes ayant des projets communs.
L'application se veut polyvalente et devrait pouvoir être utilisée dans des groupes de différentes tailles, structures, objectifs et organisation du travail, et réalisant des projets de nature différente, ...
Pour l'instant, une instance KanFF ne peut pas héberger plusieurs collectifs. A propos de la langue, l'application est en français, et sera traduite en d'autres langues (anglais, allemand, ...) une fois le système de traductions implémentés (après la v1.0). Le code est entièrement en anglais, la communication sur GitHub aussi. La documentation est partagée entre l'anglais et le français. A l'avenir, nous aimerions pouvoir avoir tout en anglais sur le repository mais ce n'est pas pour tout de suite...
L'application doit permettre: de gérer des projets, gérer des tâches, la répartition du travail, de planifier des projets, de gérer les membres et les groupes, ... afin de collaborer à plusieurs sur des projets, avoir une vision d'ensemble large (de tous les projets, travaux, tâches, groupes et membres du collectif), mieux répartir la charge de travail, inclure de nouvelles personnes et aussi les personnes moins engagées...
- KanFF Beta v1.0, le 19.06.2020
- KanFF Beta v2.0, le 13.11.2020
- KanFF v1.0, le 29.01.2021
D'autres petites publications sont faites entre ces grosses publications à la fin de chaque sprint (0.1-beta, 0.2-beta, 1.1-beta, 1.2-beta, 2.1-beta, 2.2-beta).
Durant le projet il sera demandé à des membres de différentes organisations ou personnes extérieures au projets, d'aller tester l'application sur différentes versions afin de donner des retours sur le design, la conception des fonctionnalités, de nouvelles propositions, ... par écrit et/ou par le formulaire de feedback intégré.
L'instance de tests est mise à jour toutes les 2-3 semaines (en fin de sprint) sur kanff.mycpnv.ch/ et en plus régulièrement sur kanff.mycpnv.ch/temp.
L'indication de la version de l'application (ainsi que la date de publication) se trouve sous le logo dans le menu, ou sur la dernière entrée du fichier app/version.php
.
Cette application vous intéresse ? Vous avez des questions, des suggestions, des remarques, des critiques constructives, sur l'application ou le projet ? Vos idées nous intéressent ! Écrivez-nous à kanff[ate]pm.me en français ou en anglais. Si vous avez un compte GitHub mettez-nous une étoile !
Les documentations sont pour certaines en cours d'écriture ou incomplètes...
- Mode d'emploi (en cours)
- Documentation globale (presque à jour)
- Liste des pages (prévues et réalisées) (à jour)
- Fonctions d'aide (presque à jour)
- Spécifications de la base de données (à jour)
- Structure des appels Ajax (à jour)
Le projet a commencé le 23.04.2020 et est en reprise après 2 mois de pause (notamment en travaillant sur kanff.org et onepageMD). Il n'y a pas encore de version assez complète pour être utilisable (uniquement des versions bêta). Il n'y a pas de planning de publication de la V1 pour l'instant. Il y a actuellement beaucoup de petits bogues et de fonctionnalités commencées et non terminées. La sécurité est implémentée en partie (basiquement contre les injections SQL, l'accès à des ressources non-autorisées et le CSRF, mais par contre le XSS, l'upload de fichiers, ...). Un document sur la sécurité sortira avant la version 1.0.
Il y a plusieurs manières de contribuer à cette application, même sans savoir coder. Cependant nous réfléchissons encore à la meilleure manière d'accueillir les contributions.
OBSOLETE...
Fonctionnalité prévues pour la version v1.0
(29.01.2021 à partir d'avril 2021...) :
- Gestion des projets (inclut projets, travaux, tâches, groupes participants et journaux de bord)
- Gestion des membres
- Gestion des groupes
Fonctionnalité prévues pour les versions après la v1.0
(pas de date définie) :
- Gestion des collectifs (plusieurs collectifs par instance)
- Système de traductions et traductions en anglais/allemand/italien
- Gestion des événements (dans un calendrier)
- Gestion notifications
- Gestion des compétences
Repository GitHub | Projet IceScrum
Le repository GitHub est public, mais le projet IceScrum est privé. Le projet est géré selon la méthodologie Scrum.
Réaliser l'application KanFF permettant la gestion des membres, groupes et projets, pour une version KanFF v1.0
publiée sur GitHub.
L'application n'est pas responsive pour le moment, alors utilisez-la en plein écran sur ordinateur.
Cette procédure s'applique pour une instance à distance.
A venir quand sera publié en v1.0...
AVERTISSEMENT : l'application n'est pas prête à être mise en production ! Ne l'utilisez pas à cette fin. Seulement des instances de tests avec des données fictives doivent être utilisées/créés.
- Avoir un service
Php
etMySQL
installé et pouvoir les atteindre dans un shell (testerphp -v
etmysql -v
pour vérifier. Vérification réussie si la commande est reconnue... Cela sera utile pour la mise à jour de la base de données et l'exécution des tests unitaires). - Avoir l'extension PDO et OpenSSL activée sur le serveur Php (changer
;extension=pdo_mysql
parextension=pdo_mysql
et;extension=openssl
parextension=openssl
dans le fichierphp.ini
ou vérifier que c'est déjà fait). - Avoir
NPM
installé - Avoir
Composer
installé
-
Récupérer le repository depuis GitHub (clone ou téléchargement
.zip
) (exemple de clone dans un shell dans le dossierC:/Alice/Documents/GitHub/
)C: cd C:/Alice/Documents/GitHub/ git clone https://github.com/samuelroland/KanFF
-
Ouvrir un shell et installer les dépendances avec
npm
, ainsi que les paquets PHP (avecComposer
) dans le dossierapp
! Un dossiernode_modules
et un fichierpackage-lock.json
apparaissent.cd app npm install composer install
-
Démarrer le service MySQL. Se connecter (avec un client SQL par ex.) en compte
root
. Executer le fichierdb/db-manage/create-db-kanff.sql
, ce qui a pour effet de créer la base de donnéeskanff
et ses tables. Ensuite créer un nouvel utilisateur (nommé dans icikanffApp
avecPa$$w0rd
pour mot de passe) et lui donner accès à la base de donnéeskanff
précédemment créée. Se connecter au nouvel utilisateur afin de vérifier qu'il a bien été créé et qu'il accède à la base de donnéeskanff
. -
Aller dans
app
. Dupliquer le fichier.const.php.example
et renommer le en.const.php
. -
Démarrer un IDE à la racine du repository. Modifier les valeurs du fichier
.const.php
afin d'inscrire les identifiants de connexion à la base de donnée (4 valeurs + un cartouche).$user = "kanffApp"; $pass = "Pa\$\$w0rd"; //Caractères spéciaux php doivent être précédé de \ $dbhost = "localhost"; $dbname = "kanff";
-
Lancer le fichier
db/db-manage/restore-db-kanff.bat
(ou alors lancer la commandephp -f restore-db.php
dansdb/db-manage/
) afin d'insérer les données du pack "Collective Assoc Vaud". La base de données est maintenant créée. Ce script .bat est utile pour restaurer très rapidement la base de données lors du développement ou de tests. -
Démarrer un serveur PHP dans le dossier
app
(pas le dossier racine du repository!) sur un port libre (ici 8080). -
Ouvrir un navigateur web sur l'adresse localhost et le port choisi:
localhost:8080
. -
Validation: L'installation est terminée lorsque le site s'affiche correctement dans le navigateur (page de login affichée et style CSS semblable à la version du serveur de tests) et lorsque que le login fonctionne. Tester avec les identifiants suivants:
initiales: JRD mot de passe: Josette ou initiales: ZEA mot de passe: Zia
Voilà. Si vous êtes bien connecté avec le compte de Josette Richard ou de Zia Espinoza, l'installation est réussie et vous pouvez maintenant commencer à développer !
(Si vous tombez sur l'erreur semblable à celle-ci: Error: Could not find the driver!
alors c'est probablement parce que l'extension PDO n'a pas été activée).