
Plandora
Système de gestion de projet Java open source
Planifiez, suivez et gérez les projets avec des diagrammes de Gantt, des tableaux agiles, des flux de travail et des intégrations via la plateforme Java open source.
Qu'est-ce que Plandora ?
Plandora est un système de gestion de projet open source mature, développé en Java, conçu pour la planification, le suivi et la collaboration de projets de niveau entreprise. Il offre des outils complets, notamment des diagrammes de Gantt, des tableaux agiles, l'automatisation des flux de travail, la planification de la capacité des ressources et des rapports personnalisés via JasperReports. Avec un support intégré pour des intégrations telles que JIRA, SVN et RT4, Plandora permet aux équipes de gérer des projets complexes tout en maintenant la traçabilité et la transparence entre les départements. Son système de méta-champs flexible et ses formulaires personnalisables permettent aux organisations d'adapter la plateforme à des flux de travail uniques sans modifications de code.
Le système met l'accent sur la convivialité et l'extensibilité, offrant une base de connaissances avec une recherche de type Google, des enquêtes de projet à plusieurs niveaux, la gestion des risques et des listes de tâches TO-Do basées sur les tâches. Plandora prend en charge à la fois les méthodologies traditionnelles en cascade et agiles grâce à son tableau de bord équilibré, ses gadgets de burndown d'itération et ses hiérarchies de macro-tâches. Depuis son redémarrage en 2023, le projet a corrigé plus de 30 bugs critiques, amélioré les performances, ajouté l'import/export CSV et renforcé les capacités de reporting — y compris la génération de rapports planifiée et la sortie JPG. Les développeurs peuvent contribuer via le dépôt [GitHub de Plandora](https://github.com/Cynjut/Plandora) et étendre les fonctionnalités en utilisant son architecture modulaire et les modèles JDBC/DAO.
Premiers pas avec Plandora
Plandera est une application web basée sur Java généralement déployée sur Tomcat ou d'autres serveurs JEE. Pour commencer, clonez le code source depuis le dépôt [Plandora GitHub](https://github.com/Cynjut/Plandora), assurez-vous que Java 8+ et Maven sont installés, et construisez le fichier WAR en utilisant `mvn clean package`. Déployez le WAR généré dans votre conteneur de servlets. Le système prend en charge à la fois le pool de connexions Tomcat et les connexions JDBC directes (configurées dans `web.xml`). Après la configuration initiale, configurez les identifiants de la base de données, les paramètres SMTP, et intégrez‑vous aux systèmes externes tels que JIRA ou SVN. Plandera inclut des assistants de configuration intégrés pour les composants essentiels comme les flux de travail, les méta‑champs et les rôles utilisateurs afin d’accélérer le déploiement.
Construire et déployer Plandora via Maven
# Clone the repository
git clone https://github.com/Cynjut/Plandora.git
cd Plandora
# Build the WAR file
mvn clean package
# Deploy to Tomcat
cp target/plandora.war $TOMCAT_HOME/webapps/
Diagrammes de Gantt avec événements de calendrier et jalons
Le diagramme de Gantt de Plandora visualise les calendriers de projet avec prise en charge des macro‑tâches, des jalons et des événements du calendrier. Il filtre dynamiquement les ressources et les tâches, garantissant un suivi précis de l’avancement même lorsque les ressources sont assignées ou supprimées. Le diagramme inclut désormais des repères de jalons et s’intègre aux calendriers de projet pour refléter les jours ouvrés et les jours fériés. Les utilisateurs peuvent exporter les vues Gantt aux formats CSV, XLS ou JPG pour le reporting et le partage. Les améliorations de performance assurent un rendu fluide pour les grands ensembles de données, et le système gère correctement la troncature des tâches lors des importations MSProject. Les champs personnalisés et les méta‑champs peuvent être affichés directement sur la grille Gantt, offrant un contexte enrichi sans quitter la vue chronologique. Cela rend Plandora idéal tant pour les chefs de projet traditionnels que pour les équipes hybrides utilisant des combinaisons agile‑waterfall.
Exporter le diagramme de Gantt en JPG via un rapport planifié
// Use Report2File agent to schedule Gantt export
Report2File report = new Report2File();
report.setReportName("ProjectGantt");
report.setOutputFormat("jpg");
report.setSchedule("0 0 2 * * ?"); // Daily at 2 AM
report.setFilePath("/reports/gantt/");
report.execute();
Intégration JIRA pour l'importation des tickets
Plandora comprend un agent dédié pour importer les tickets JIRA en tant que demandes Plandora, y compris les pièces jointes et les métadonnées. Cette intégration fait le lien entre la gestion des tickets et la planification de projet, permettant aux parties prenantes non techniques d'utiliser RT4 ou JIRA tandis que les développeurs gèrent le travail dans Plandora. Le processus d'importation préserve les relations entre les tickets, la priorité, les assignés et les horodatages. Il prend en charge le filtrage par projet, statut ou plage de dates et gère efficacement les gros lots. Après l'importation, les tickets deviennent de véritables demandes Plandora avec des champs modifiables, des transitions de workflow et des hiérarchies de tâches. Cette fonctionnalité est particulièrement précieuse pour les organisations qui migrent de JIRA ou qui maintiennent des systèmes doubles. Les développeurs peuvent étendre l'agent via la configuration ou des plugins personnalisés pour prendre en charge des champs JIRA supplémentaires ou des champs personnalisés.
Importer les tickets JIRA via l'agent en ligne de commande
// Example agent invocation (simplified)
JiraImporter importer = new JiraImporter();
importer.setJiraUrl("https://jira.example.com");
importer.setUsername("api_user");
importer.setPassword("token");
importer.setProjectKey("PROJ");
importer.setIssueFilter("status = 'Done'");
importer.setImportAttachments(true);
importer.execute();
Gestion de la capacité des ressources et comparaison
Le formulaire de capacité des ressources de Plandora permet une planification détaillée et le suivi de la disponibilité de l'équipe par rapport à l'utilisation réelle. Il calcule la capacité utilisée en fonction des tâches assignées, des itérations et des feuilles de temps, avec des filtres pour les valeurs nulles/vides et les plages de dates. Les utilisateurs peuvent comparer côte à côte la capacité estimée et la capacité utilisée afin d'identifier les sur- ou sous‑allocation. Le système gère les ressources désallouées de manière fluide, corrigeant les erreurs de requête DB lorsque des membres sont retirés de tous les projets. Les données de capacité s'intègrent aux diagrammes de Gantt et aux gadgets de burndown, permettant une planification réaliste des sprints et des jalons. Les gestionnaires peuvent ajuster les estimations dynamiquement, et les changements se propagent aux rapports et tableaux de bord en aval. Cette fonctionnalité est essentielle pour la gouvernance et la prévision des ressources au niveau du portefeuille dans des environnements multi‑projets.
Filtrer la capacité des ressources par valeurs nulles
// Pseudo-code for capacity filtering logic
ResourceCapacityFilter filter = new ResourceCapacityFilter();
filter.setProjectId(projectId);
filter.setShowZeroValues(true);
filter.setCompareEstimates(true);
List entries = capacityService.getFilteredCapacities(filter);
for (CapacityEntry entry : entries) {
if (entry.getUsed() == 0) {
System.out.println("Unused capacity: " + entry.getResourceName());
}
}
Automatisation des flux de travail et personnalisation des méta‑champs
Le moteur de flux de travail de Plandora prend en charge des chaînes d'approbation personnalisables, des transitions d'état et des commentaires de suivi liés aux demandes, aux tâches et aux occurrences. L'interface de flux de travail contextuelle affiche désormais les descriptions des demandes associées et l'historique complet des commentaires, améliorant la traçabilité. Les métachamps permettent aux administrateurs de définir des attributs personnalisés (par ex. : balises de conformité, identifiants client) pour les tâches, les demandes et les projets, y compris des champs obligatoires appliqués via la validation de l'interface utilisateur. Ces champs apparaissent dans les grilles, les rapports et les exportations, permettant une modélisation flexible des données sans modifications du code. Le système prend également en charge l'affichage des métachamps dans les grilles du formulaire principal et les importations CSV, assurant la cohérence entre les points de saisie des données. Cette extensibilité rend Plandora adaptée aux secteurs réglementés et aux structures organisationnelles complexes nécessitant des pistes d'audit et des processus standardisés.
Définir le méta-champ obligatoire via l'API
// Example: Mark meta-field as mandatory
MetaField field = metaFieldService.findById("client_id");
field.setIsMandatory(true);
field.setValidationRegex("^[A-Z]{3}[0-9]{4}$");
metaFieldService.update(field);
// Validation enforced in forms and imports
if (request.getClientId() == null || request.getClientId().isEmpty()) {
throw new ValidationException("Client ID is required");
}
