Avant-propos
Je tiens avant tout à m'excuser pour mon précédent journal dont la forme laissait grandement à désirer.
Présentation de Quam Facere («Comment faire» en latin)
Les procédures IT sont souvent complexes et, surtout dans le cas de la gestion de cluster, elles réclament une grande rigueur dans l'écriture (tant sur le fond que sur la forme) et l'exécution (opération).
Les rédacteurs s'appliquent souvent sur le fond (bien que l'on oubli souvent les vérifications à faire entre chaque étape) mais délaissent un peu la forme (les actions à exécutées sont parfois sous la forme de balise «code», d'autres fois sous formes de citation…), ce qui peut entraîner des oublis lors de l'exécution.
J'ai donc écrit Quam Facere pour essayer de limiter ces risques.
Quam Facere ne va pas exécuter automatiquement des procédures mais va proposer une mise en forme unifiée (dans le cas des exports) ou va proposer un déroulé séquentiel avec une validation de chaque étape dans le cadre de l'exécution d'une opération.
Étant ingénieur Linux et donc plus habitué de l'utilisation de Python, j'ai développé cette application Web en Python associé à Flask et SQLAlchemy.
Fonctionnalités Clés
- Gestion de Procédures Détaillée : Supporte l'utilisation de variables et de logiques conditionnelles pour des procédures dynamiques (les tests de condition vont ensuite être intégrés à la commande à exécuter).
- Gestion des opérations : Permet le suivi de l'exécution des opérations
- Exportation de documents : divers formats, comme Mardown,PDf, Docx…
- Contrôle d'Accès Basé sur les Rôles (RBAC) : Assure une authentification et une autorisation sécurisées avec une gestion des équipes.
- Génération de Contenu Dynamique : Capacité de substituer des variables dans le contenu pour une flexibilité accrue.
- Gestion des Tâches : Découpe les procédures en étapes traçables pour une meilleure organisation.
- Internationalisation : Pour l'instant supporte l'anglais et le français.
- Compatibilité Base de Données : S'adapte aux divers systèmes gestion de bases de données pris en charge par SQLAlchemy, tels que SQLite, MySQL et PostgreSQL.
Avantages et Cas d'Utilisation
Quam Facere vise à rationaliser les opérations IT complexes, à améliorer la collaboration d'équipe et à assurer la cohérence dans l'exécution des procédures. Ses cas d'utilisation incluent :
- La standardisation des procédures pour les équipes opérationnelles.
- La documentation et l'exécution de la maintenance des serveurs pour l'administration système.
- La gestion du déploiement et de la configuration dans les workflows DevOps.
- Le maintien de pistes d'audit pour la conformité.
- La fourniture de procédures structurées pour la formation et l'intégration des équipe
Installation et utilisation
Venv
git clone git.code.sf.net/p/quam-facere/code
cd code
python3 -m venv venv
source venv/bin/activate
# For development run
flask run
# For Gunicorn wsgi run
gunicorn -w 4 -b '0.0.0.0:5000' qf:app
Docker
sudo docker load -i -q https://sourceforge.net/projects/quam-facere/files/Docker_Images/qf.tar.gz
sudo docker run -p 443:5000 -v CONFIG_PATH:/etc/quam_facere -v INSTANCE_PATH:instance qf
License
Quam Facere est disponible sous license Apache 2.0
Retour
C'est une première version Alpha de cette application et de nombreux bogues doivent encore être présents.
Vous pouvez donc faire vos retours en ouvrant un ticket sur le dépôt Sourceforge
En savoir plus et tester :
- Le site : https://qf.spn109.fr
- Le dépôt sur Sourceforge : https://sourceforge.net/projects/quam-facere/
- La démo : https://qf-demo.spn109.fr/
- Image Docker : https://sourceforge.net/projects/quam-facere/files/Docker_Images/qf.tar.gz
# Quel est le compte de démo ?
Posté par orfenor . Évalué à 3 (+1/-0).
Bonjour
Pour tester il faut un compte de démo, il n'y en pas d'indiqué.
[^] # Re: Quel est le compte de démo ?
Posté par seraf1 (site web personnel) . Évalué à 3 (+2/-0). Dernière modification le 08 juillet 2025 à 16:51.
Les comptes de démo sont indiqués sur la page d'accueil de la démo en descendant un peu dans la page.

Sinon, les voici:
[^] # Re: Quel est le compte de démo ?
Posté par seraf1 (site web personnel) . Évalué à 1 (+0/-0).
Sinon, vous pouvez aussi créer votre propre compte, mais il faudra que je le valide avant qu'il ne puisse se connecter
# Bug sur la démo
Posté par seraf1 (site web personnel) . Évalué à 1 (+0/-0).
Je viens de m'apercevoir qu'il y a une erreur sur la démo lors de la création d'une procédure.
Je n'ai pas cette erreur en local, il faut donc que je regarde ça plus précisément.
Je mettrai un commentaire ici lorsque ça sera résolu.
[^] # Re: Bug sur la démo
Posté par seraf1 (site web personnel) . Évalué à 1 (+0/-0).
OK, c'est résolu, SQLAlchemy n'avais pas pas créé une colonne de table !
# Comparaison ?
Posté par cg . Évalué à 4 (+2/-0).
Hello, merci et bravo pour ce logiciel !
Comment est-ce que ça se situerai par-rapport à Foreman, Ansible Tower, ou Rundeck ?
[^] # Re: Comparaison ?
Posté par seraf1 (site web personnel) . Évalué à 4 (+3/-0).
Foreman, Ansible Rundeck, Puppet… Sont des systèmes qui automatisent les actions alors que Quam Facere ne fait rien automatiquement, il va indiquer les commandes à passer sur les serveurs et en mode "opérations", il permet de valider chaque étapes.
Il permet aussi d'exporter les procédures aux formats Markdown, PDF, DOCX…
[^] # Re: Comparaison ?
Posté par cg . Évalué à 2 (+0/-0).
Ah d'accord, je comprend mieux ! Merci.
# erreur sur le repos GIT
Posté par Marc Quinton . Évalué à 5 (+3/-0).
le code source est sur source-forge ; un git clone du dépot prend des plombes ; je trouvais cela assez étonnant.
Avec un peu d'analyse du repos, on peut voir un commit de 430Mo qui correspond à l'image Docker.
J'ai essayé de supprimer le blog b699baf* ; je n'ai pas réussi ; pourtant il existe des techniques qui permettraient de faire disparaitre définitivement ce vilain blob.
J'ai essayé ca :
```bash
sudo apt install git-filter-repo
git filter-repo --invert-paths --blob-callback '
def callback(blob):
if blob.id.hex == "dd94e5af9309bc288cb95d8cacc8aece49b39068":
return True # remove it
return False
' --force
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git filter-repo --path docker_mages/qf-2025-0-1.tar.gz --invert-paths --force
```
concernant l'image docker, si elle existait sur le docker-hub, ca serait bien pratique. Je n'ai pas réussi a lancer l'application avec les 2 commandes proposées ci-dessus.
Il serait bien plus pratique de collaborer sur un site de gestion de code source plus habituel ; source-forge, ca me défrise quelque peu.
[^] # Re: erreur sur le repos GIT
Posté par seraf1 (site web personnel) . Évalué à 1 (+0/-0).
Merci pour le retour,
Pour le dépôt GIT, je vais essayer de voir sir je peu effectivement le nettoyer.
Pour le problème de lancement de l'appli, peux-tu me donner les retour ou une description plus précise du problème ?
Pour la forge, qu'entends-tu par plus habituelle ? Je ne suis pas un grand fan de GitHub, mais je peux encore changer si ça dérange beaucoup de monde.
[^] # Re: erreur sur le repos GIT
Posté par Marc Quinton . Évalué à 2 (+0/-0).
il y a aussi Gitlab ou alors en auto-hébergement, Gitea.
[^] # Re: erreur sur le repos GIT
Posté par Jean-Philippe Garcia Ballester . Évalué à 3 (+1/-0).
Et codeberg
[^] # Re: erreur sur le repos GIT
Posté par seraf1 (site web personnel) . Évalué à 2 (+1/-0).
Bon, j'ai migrer sur Codeberg : https://codeberg.org/spn109/Quam_Facere
[^] # Re: erreur sur le repos GIT
Posté par Marc Quinton . Évalué à 2 (+0/-0).
je vais essayer de te rejoindre !
[^] # Re: erreur sur le repos GIT
Posté par seraf1 (site web personnel) . Évalué à 1 (+0/-0).
Tu peux m'envoyer un mail à philippe(dot)seraphin(at)spn109.fr pour me donner ton login codeberg et je t'ajouterai comme collaborateur
[^] # Re: erreur sur le repos GIT
Posté par seraf1 (site web personnel) . Évalué à 1 (+0/-0).
Pour ce qui est de mettre l'image sur le docker-hub, je préfère attendre que l'appli soit un peu plus stable.
[^] # Re: erreur sur le repos GIT
Posté par Marc Quinton . Évalué à 2 (+0/-0).
j'ai l'habitude de gérer mes containers docker avec docker-compose et un build intégré ; je te passerai le fruit de mon travail prochainement ; j'attends de voir supprimé le blob de 430Mo.
[^] # Re: erreur sur le repos GIT
Posté par seraf1 (site web personnel) . Évalué à 3 (+2/-0).
J'ai transférer le dépôt sur Codeberg et supprimer sur sourceforge, il ne devrait donc plus y avoir ce méchant Blob ;)
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.