Built with Flask, QF provides role-based access control for managing complex IT operations across teams with real-time execution tracking and document export capabilities.
Construit avec Flask, QF fournit un contrôle d'accès basé sur les rôles pour la gestion d'opérations IT complexes à travers les équipes avec un suivi d'exécution en temps réel et des capacités d'exportation de documents.
Features
Fonctionnalités
Core Functionality
Fonctionnalités Clés
User Authentication & Authorization
Authentification & Autorisation Utilisateur
Secure login system with role-based access control.
Système de connexion sécurisé avec contrôle d'accès basé sur les rôles.
Team Management
Gestion d'Équipe
Hierarchical team structure with permission-based access.
Structure d'équipe hiérarchique avec accès basé sur les permissions.
Procedure Management
Gestion de Procédures
Create, edit, and organize IT procedures with variables and conditional logic.
Créer, éditer et organiser des procédures IT avec des variables et une logique conditionnelle.
Operation Execution
Exécution d'Opérations
Real-time tracking of procedure execution and progress monitoring.
Suivi en temps réel de l'exécution des procédures et surveillance de la progression.
Document Export
Exportation de Documents
Generate documentation in multiple formats (PPTX, etc.).
Générer de la documentation dans plusieurs formats (PPTX, etc.).
Internationalization
Internationalisation
Multi-language support (English/French).
Support multilingue (Anglais/Français).
Category Organization
Organisation par Catégorie
Hierarchical categorization of procedures for easy management.
Catégorisation hiérarchique des procédures pour une gestion facile.
Advanced Features
Fonctionnalités Avancées
Variable Substitution
Substitution de Variables
Dynamic content generation with configurable parameters.
Génération de contenu dynamique avec des paramètres configurables.
Task Management
Gestion des Tâches
Break down procedures into individual, trackable steps.
Décomposer les procédures en étapes individuelles et traçables.
Conditional Logic
Logique Conditionnelle
Smart procedure execution based on conditions.
Exécution intelligente des procédures basée sur des conditions.
Real-time Progress Tracking
Suivi de la Progression en Temps Réel
Monitor operation status and completion.
Surveiller le statut et l'achèvement des opérations.
Flexible Configuration
Configuration Flexible
Adaptable to different environments and server configurations.
Adaptable à différents environnements et configurations de serveur.
Architecture
Architecture
The application follows Flask's blueprint pattern with modular components:
L'application suit le modèle de "blueprint" de Flask avec des composants modulaires :
qf/
├── __init__.py # Package initialization and app factory
├── main.py # Core web interface and route handlers
├── auth.py # Authentication and user management
├── db_models.py # SQLAlchemy database models
├── languages.py # Internationalization support
└── exporters.py # Document generation and export functionality
Permission Levels
Niveaux de Permissions
Role |
Permissions |
Rôle |
Permissions |
Admin
|
- Full system access
- Manage all teams and users
- System configuration
- Global permissions management
|
- Accès complet au système
- Gestion de toutes les équipes et utilisateurs
- Configuration système
- Gestion des permissions globales
|
Team Leader
|
- Run procedures
- Monitor team operations
- Assign tasks to team members
|
- Exécuter les procédures
- Surveiller les opérations de l'équipe
- Assigner des tâches aux membres
|
Editor
|
- Create and modify procedures
- Manage categories
- Define variables and tasks
- Export documentation
|
- Créer et modifier des procédures
- Gérer les catégories
- Définir les variables et tâches
- Exporter la documentation
|
User
|
- View procedures
- Participate in operations
- Update task status
- View team activities
|
- Visualiser les procédures
- Participer aux opérations
- Mettre à jour le statut des tâches
- Voir les activités de l'équipe
|
Database Models
Modèles de Base de Données
The application uses the following SQLAlchemy database models:
L'application utilise les modèles de base de données SQLAlchemy suivants :
- User: System users with role-based permissions
- Utilisateur: Utilisateurs du système avec permissions basées sur les rôles
- Team: Organizational units for grouping users
- Équipe: Unités organisationnelles pour le regroupement des utilisateurs
- Category: Hierarchical organization of procedures
- Catégorie: Organisation hiérarchique des procédures
- Procedure: IT procedures with variables and tasks
- Procédure: Procédures IT avec variables et tâches
- Operation: Running instances of procedures
- Opération: Instances en cours d'exécution des procédures
- Variable: Configurable parameters for procedures
- Variable: Paramètres configurables pour les procédures
- Task: Individual steps within procedures
- Tâche: Étapes individuelles au sein des procédures
Installation
Installation
Prerequisites
Prérequis
- Python 3.7+
- Python 3.7+
- pip package manager
- Gestionnaire de paquets pip
Dependencies
Dépendances
pip install flask flask-login sqlalchemy werkzeug
Quick Start
Démarrage Rapide
git clone git.code.sf.net/p/quam-facere/code
cd code
pip install -r requirements.txt
python run.py
Usage
Utilisation
Basic Application Setup
Configuration de Base de l'Application
from qf import create_app
app = create_app()
app.run(debug=True)
Configuration
Configuration
The application supports various configuration options for different environments. Configure your database connection, secret keys, and other settings according to your deployment needs.
L'application prend en charge diverses options de configuration pour différents environnements. Configurez votre connexion à la base de données, vos clés secrètes et d'autres paramètres en fonction de vos besoins de déploiement.
Run Docker images
Exécuter les images Docker
Docker images are available for running the application here.
For run theirselves, you need to create a directory, change propriatary to 5000:5000 and mount this volume on /etc/quam_facere on docker run..
This path contains the config.yaml (view samplehere)), the cert.pem and the key.pem files.
After this yun can run the docker by:
Les images Docker sont disponibles pour exécuter l'application ici.
Pour les exécuter, vous devez créer un répertoir, changer le propriétaire en 5000:5000 et le monter comme volume /etc/quam_facere au lancement de l'image docker.
Ce chemin contient les fichiers config.yaml (voir l'exemple ici), cert.pem et key.pem.
Après cela, vous pouvez exécuter le docker par :
docker run -p 443:5000 -v /etc/quam_facere:/etc/quam_facere dir:docker_images/qf-2025-0-1.tar.gz
Development
Développement
Project Structure
Structure du Projet
The application uses a modular architecture with clear separation of concerns:
L'application utilise une architecture modulaire avec une séparation claire des préoccupations :
- Authentication: Handled by `auth.py` with Flask-Login integration
- Authentification: Gérée par `auth.py` avec l'intégration Flask-Login
- Database: SQLAlchemy models in `db_models.py`
- Base de Données: Modèles SQLAlchemy dans `db_models.py`
- Web Interface: Route handlers and templates in `main.py`
- Interface Web: Gestionnaires de routes et modèles dans `main.py`
- Internationalization: Language support in `languages.py`
- Internationalisation: Support linguistique dans `languages.py`
- Export Functions: Document generation in `exporters.py`
- Fonctions d'Exportation: Génération de documents dans `exporters.py`
Contributing
Contribuer
- Fork the repository
- Forker le dépôt
- Create a feature branch
- Créer une branche de fonctionnalité
- Make your changes
- Apporter vos modifications
- Test thoroughly
- Tester minutieusement
- Submit a pull request
- Soumettre une pull request
Use Cases
Cas d'utilisation
IT Operations Teams
Équipes d'opérations IT
Standardize and track IT procedures across teams.
Standardiser et suivre les procédures IT à travers les équipes.
System Administration
Administration Système
Document and execute server maintenance procedures.
Documenter et exécuter les procédures de maintenance des serveurs.
DevOps Workflows
Flux de Travail DevOps
Manage deployment and configuration procedures.
Gérer les procédures de déploiement et de configuration.
Compliance
Conformité
Maintain audit trails of IT operations and procedures.
Maintenir des pistes d'audit des opérations et procédures IT.
Training
Formation
Provide structured procedures for team onboarding.
Fournir des procédures structurées pour l'intégration des équipes.
Demonstration
Démonstration
You can test Quam Facere here.
Vous pouvez tester Quam Facere ici.
Support
Support
For issues, feature requests, or contributions, please use the project's issue tracker on SourceForge.
Pour les problèmes, les demandes de fonctionnalités ou les contributions, veuillez utiliser le traqueur de problèmes du projet sur SourceForge.
Support Our Project
Soutenez Notre Projet
Quam Facere is a free and open-source project. If you find it useful and wish to support its continued development, any donation would be greatly appreciated. Your contribution helps us maintain and improve the application.
Quam Facere est un projet open-source et gratuit. Si vous le trouvez utile et souhaitez soutenir son développement continu, tout don serait grandement apprécié. Votre contribution nous aide à maintenir et améliorer l'application.
Donate Now
Faire un Don