Une application web (opensource) de gestion de projets, de tâches, et d'organisation du travail, conçue pour le milieu militant et associatif.
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 du projet Crowdfunding Festival 2020
pour le collectif fictif Collectif Assoc Vaud
.
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.
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. (OpenPGP:de52d839a9baf0486f6049761500b58971c1047f
). Si vous avez un compte GitHub mettez-nous une étoile !
Les documentations sont pour certaines en cours d'écriture ou incomplètes...
- Documentation utilisateur (en cours)
- Documentation globale(en cours)
- Liste des pages (prévues et réalisées)
- Fonctions d'aide(en cours)
- Spécifications de la base de données
- Structure des appels Ajax
Le projet a commencé le 23.04.2020 et est en développement actif. Il n'y a pas encore de version assez complète pour être utilisable (uniquement des versions bêta). La première version utilisable (v1.0
) est prévue pour le 29.01.2021 (il est possible qu'il y ait du retard). 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.
- Si vous avez trouvé un bogue, créer un issue et détailler le problème. Si vous êtes intéressé·e à contribuer, nous nous en réjouissons. Nous n'avons pas encore de lignes directrices pour les contributions, alors n'hésitez pas à nous envoyer un email pour nous motiver à les écrire (et nous dire au passage sur quoi vous aimeriez aider : code, documentation, design, autres) ... Vous pouvez sans hésiter ouvrir une issue également.
Fonctionnalité prévues pour la version v1.0
(~29.01.2021) :
- Gestion des membres
- Gestion des groupes
- Gestion des projets (inclut projets, travaux, tâches, groupes participants et journaux de bord)
Fonctionnalité prévues pour les versions après la v1.0
(pas de date définie pour l'instant) :
- Gestion des collectifs (plusieurs collectifs par instance)
- 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.
Cette procédure s'applique pour une instance à distance. A venir.
- Avoir un service
Php
(version 7.3.x à 7.4.x) etMySQL
(mysql v8.0.x) installé et pouvoir les atteindre dans un shell (testerphp -v
etmysql -v
pour vérifier. Les variables d'environnement doivent être définies. 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). Installation possible avec Chocolatey notamment. - Avoir l'extension PDO activée sur le serveur Php (changer
;extension=pdo_mysql
parextension=pdo_mysql
dans le fichierphp.ini
ou vérifier que c'est déjà fait).
-
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
dans le dossierapp
! Un dossiernode_modules
et un fichierpackage-lock.json
apparaissent.cd app npm 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
Voilà. Si vous êtes bien connecté avec le compte de Josette Richard, 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).