Skip to main content

Processus & Conception

Le Modélisateur de Processus de Softyflow fournit un environnement robuste et intuitif pour concevoir, construire et tester visuellement vos flux de travail métier en utilisant la norme internationalement reconnue BPMN 2.0. Ce guide complet vous guidera à travers toutes les fonctionnalités et composants essentiels que vous devez maîtriser pour créer des flux de processus automatisés puissants et efficaces.

Avant de vous plonger dans la conception de processus, il est crucial que votre projet soit entièrement configuré. Veuillez vous assurer que vous avez terminé la configuration du projet et que vous avez déjà conçu les interfaces web avec lesquelles vos processus interagiront.

La conception de processus dans Softyflow est centrée sur la création de flux de travail en orchestrant une combinaison d'activités, de passerelles et d'événements. Ces éléments fonctionnent ensemble pour automatiser votre logique métier. Chaque processus est composé de composants de processus interconnectés qui définissent le chemin d'exécution précis, appliquent les règles métier et gèrent les transformations de données.

Composants clés d'un processus :

  • Activités : Elles représentent le travail à effectuer dans le processus. Cela inclut les tâches effectuées par les utilisateurs (Tâches utilisateur), les actions système automatisées (Tâches normales), l'envoi d'e-mails (Tâches d'envoi), ou même l'invocation d'autres processus (Sous-processus).
  • Passerelles : Ce sont des points de décision qui contrôlent le flux du processus. Elles vous permettent de créer des branches, des chemins parallèles et une logique conditionnelle.
  • Événements : Ils agissent comme des déclencheurs qui démarrent un processus, des points de terminaison qui le terminent, ou des événements intermédiaires qui réagissent à des minuteries ou des erreurs.
  • Flux de séquence : Ce sont les connecteurs qui relient tous les composants, définissant l'ordre d'exécution et le chemin que le processus prendra.

1. Activités & Composants

Les activités sont les blocs de construction fondamentaux de tout processus, représentant une unité de travail à effectuer. Softyflow propose plusieurs types d'activités pour modéliser un large éventail de scénarios métier.

1.1. Tâches utilisateur (Tâches manuelles)

Les tâches utilisateur, également appelées tâches manuelles, représentent un travail qui doit être effectué par un humain. Lorsqu'un processus atteint une tâche utilisateur, il crée une entrée dans le panier de tâches de l'utilisateur assigné, où il peut ouvrir l'interface web associée, effectuer l'action requise et terminer la tâche pour faire avancer le processus.

Options de configuration clés :

  • Assignation : Vous pouvez assigner des tâches à des utilisateurs spécifiques, à un groupe d'utilisateurs en assignant un rôle, ou les assigner dynamiquement en fonction des variables du processus.
  • Interface : Sélectionnez l'écran d'interface utilisateur avec lequel l'utilisateur interagira pour terminer la tâche.
  • Notifications : Configurez des notifications par e-mail à envoyer lorsqu'une tâche est assignée, avec des modèles d'e-mail entièrement personnalisables.
  • Dates d'échéance : Définissez des délais et des niveaux de priorité pour les tâches afin d'assurer une exécution en temps voulu.
  • Observateurs : Accordez un accès en lecture seule à la tâche à des utilisateurs ou des rôles spécifiques qui ont besoin de suivre la progression sans prendre d'action.
Tâches utilisateur

Panneau de configuration d'une tâche utilisateur, montrant les options d'assignation, d'interface et de notification.

1.2. Tâches d'envoi (Tâches d'e-mail)

Les tâches d'envoi sont utilisées pour envoyer des e-mails automatisés sans aucune intervention humaine. C'est parfait pour envoyer des notifications, des confirmations ou des alertes à des points spécifiques de votre processus.

Options de configuration clés :

  • Destinataires : Définissez qui reçoit l'e-mail. Il peut s'agir d'une liste statique d'utilisateurs, d'un rôle, ou être déterminé dynamiquement à partir d'une variable de processus.
  • Modèles : Utilisez un éditeur d'e-mail visuel riche pour créer de beaux modèles d'e-mail professionnels. Vous pouvez facilement inclure des variables de processus pour personnaliser le contenu.
  • Fournisseurs : Softyflow prend en charge plusieurs fournisseurs de services de messagerie, vous permettant de choisir celui qui correspond le mieux à vos besoins.
  • Pièces jointes : Joignez des fichiers à vos e-mails, provenant des ressources de votre projet.
Tâches d'envoi

Panneau de configuration d'une tâche d'envoi, où vous pouvez définir les destinataires, les modèles d'e-mail et les pièces jointes.

1.3. Tâches normales

Les tâches normales sont des tâches système automatisées qui exécutent une logique côté serveur sans nécessiter d'interaction de l'utilisateur ni d'envoi d'e-mail. Elles sont idéales pour effectuer des opérations en arrière-plan telles que le traitement de données, les calculs ou l'appel de services externes. La logique d'une tâche normale est définie à l'aide de paramètres d'entrée/sortie, où vous pouvez écrire des scripts ou utiliser des actions pour effectuer les opérations souhaitées.

Tâches normales

Une tâche normale dans le modélisateur de processus, utilisée pour le traitement automatisé en arrière-plan.

1.4. Sous-processus

Les sous-processus vous permettent d'encapsuler une partie de votre processus et de la réutiliser, ou d'appeler un autre processus existant depuis votre flux de travail actuel. C'est une fonctionnalité puissante pour créer des modèles de processus modulaires, lisibles et maintenables.

Fonctionnalités clés :

  • Sélection de processus : Choisissez facilement n'importe quel autre processus de votre projet pour être exécuté en tant que sous-processus.
  • Passage de variables : Les variables du processus parent sont automatiquement héritées par le sous-processus, garantissant un flux de données transparent.
  • Exécution parallèle : Vous pouvez exécuter plusieurs instances d'un sous-processus en parallèle, par exemple, en itérant sur un tableau de données.
  • Collecte des résultats : Lors de l'exécution en parallèle, les résultats de toutes les instances peuvent être collectés et agrégés pour un traitement ultérieur dans le processus parent.
Sous-processus

Configuration d'un sous-processus, montrant la sélection de processus et le mappage des variables.

2. Passerelles & Contrôle de flux

Les passerelles sont essentielles pour contrôler le chemin d'exécution dans votre processus. Elles vous permettent de mettre en œuvre des points de décision, de créer des flux parallèles et de gérer une logique métier complexe.

2.1. Passerelle exclusive (XOR)

La passerelle exclusive (souvent appelée passerelle XOR) crée un point de décision dans votre processus où un seul des chemins sortants possibles peut être emprunté. Le choix du chemin est déterminé par les conditions que vous définissez sur les flux de séquence connectés à la passerelle. La première condition qui est évaluée comme vraie déterminera le chemin emprunté.

Passerelle exclusive

Une passerelle exclusive (XOR) divisant le flux de processus en plusieurs chemins conditionnels.

2.2. Passerelle parallèle

La passerelle parallèle est utilisée pour diviser le flux de processus en plusieurs chemins qui s'exécuteront simultanément, ou pour rejoindre plusieurs chemins parallèles en un seul. C'est utile lorsque vous avez plusieurs tâches qui peuvent être effectuées en même temps.

Cas d'utilisation courants :

  • Exécution de tâches simultanées : Permettre à plusieurs utilisateurs ou systèmes de travailler sur différentes tâches en même temps.
  • Approbations parallèles : Demander des approbations à plusieurs départements simultanément et attendre que tous répondent.
  • Traitement en plusieurs étapes : Effectuer plusieurs étapes de traitement de données indépendantes en parallèle pour gagner du temps.
Passerelle parallèle

Une passerelle parallèle divisant le flux en deux chemins simultanés.

3. Paramètres d'entrée/sortie

Les paramètres d'entrée/sortie sont une fonctionnalité puissante qui vous permet de configurer des transformations de données avant et après l'exécution d'une tâche. C'est là que vous pouvez définir la logique de base de vos tâches automatisées. Cette fonctionnalité est disponible pour les tâches utilisateur, les tâches d'envoi, les tâches normales et les sous-processus. Pour un guide détaillé, consultez notre guide des paramètres d'entrée/sortie.

Paramètres [d'entrée/sortie](/docs/fr/ressources/project/process/input-output)

L'interface de mappage des paramètres d'entrée/sortie.

3.1. Types de paramètres

3.1.1. Scripts (JavaScript)

Les scripts vous permettent d'écrire une logique côté serveur complexe en utilisant JavaScript. Vous avez un accès complet au SDK de Softyflow, qui vous permet d'interagir avec les fonctionnalités de base de la plateforme, de manipuler des données et d'effectuer des calculs avancés.

Scripts

L'éditeur JavaScript pour écrire une logique de script personnalisée.

Fonctions SDK disponibles :

Le SDK fournit un riche ensemble de fonctions pour interagir avec votre environnement Softyflow.

Scripts

Un exemple de fonctions SDK disponibles dans l'éditeur de script.

Pour en savoir plus sur les capacités complètes du SDK, veuillez vous référer à notre référence du SDK Node.js.

3.1.2. Expressions

Les expressions sont utilisées pour des manipulations de données simples, telles que l'assignation de valeurs à des variables ou l'exécution d'opérations de base sur les chaînes de caractères. C'est un moyen rapide et facile de gérer le flux de données sans écrire de scripts complets.

Expressions

L'éditeur d'expressions pour les assignations de variables simples.

3.1.3. Actions

Les actions fournissent un constructeur de fonctions visuel et sans code pour effectuer des opérations courantes telles que les manipulations de l'interface utilisateur et les requêtes de base de données. Cela permet aux non-développeurs de créer une logique puissante sans écrire de code.

Actions disponibles :

  • Opérations de base de données : Trouvez, insérez, mettez à jour ou supprimez facilement des enregistrements de votre base de données.
  • Gestion des processus : Lancez de nouveaux processus, validez des tâches ou récupérez des informations sur les tâches.
  • Gestion des utilisateurs : Trouvez des utilisateurs, mettez à jour leurs métadonnées et gérez les rôles.
  • Utilitaires : Une large gamme d'utilitaires est disponible, tels que Générer un PDF, Envoyer un e-mail et effectuer des appels d'API.
Action

Le constructeur d'actions visuel pour créer une logique sans code.

Pour une configuration détaillée des entrées/sorties, consultez le guide des paramètres d'entrée/sortie.

4. Tâches planifiées & Minuteries

4.1. Tâches planifiées

La fonctionnalité Tâches planifiées vous permet d'automatiser l'exécution de vos processus à intervalles réguliers. Vous pouvez configurer des processus pour qu'ils s'exécutent périodiquement dans différents environnements : TEST, UAT (Acceptation) et PROD (Production). C'est parfait pour les tâches récurrentes comme la génération de rapports quotidiens ou l'exécution de synchronisations de données nocturnes.

Sur la page Tâches planifiées, vous trouverez un tableau qui répertorie toutes les exécutions planifiées que vous avez configurées.

4.1.1. Création d'une nouvelle tâche planifiée

Pour créer une nouvelle tâche planifiée, cliquez simplement sur le bouton rouge Créer des tâches de planification. Cela ouvrira la modale de configuration de la planification où vous pourrez définir tous les paramètres de l'exécution.

4.1.2. Champs du formulaire :

ChampDescription
ModeL'environnement où le processus s'exécutera : TEST, ACCEPTATION, ou PRODUCTION.
ProjetSélectionnez le projet qui contient le processus que vous souhaitez planifier.
ProcessusChoisissez le processus spécifique à exécuter.
Date et heure de débutDéfinissez la date et l'heure exactes du début de la première exécution.
Délai entre les répétitionsConfigurez l'intervalle de temps entre les exécutions. Vous pouvez le spécifier en jours, heures, minutes, ou utiliser une expression cron pour des planifications plus complexes.
Répéter tous lesDéfinissez la fréquence de répétition de la tâche.

4.1.3. Options de délai

Vous pouvez spécifier la fréquence de répétition du processus en sélectionnant l'un des types de délai suivants :

  • Jours
  • Heures
  • Minutes
  • Cron (pour des modèles de planification avancés, par exemple, "0 0 * * LUN" pour une exécution tous les lundis à minuit)
Tâches planifiées

La modale de configuration des tâches planifiées.

4.2. Événements de minuterie

Les événements de minuterie peuvent être attachés aux activités pour gérer les délais d'attente. Si une tâche n'est pas terminée dans un délai spécifié, l'événement de minuterie déclenchera un chemin alternatif dans le processus. C'est crucial pour gérer les escalades ou pour s'assurer que les processus ne se bloquent pas.

  • Démarrer dans : Le délai avant le déclenchement de la minuterie (en minutes).
  • Action : Lorsque la minuterie se déclenche, elle interrompt l'activité principale et suit le chemin alternatif défini dans le modèle de processus.
Événements de minuterie

Un événement de minuterie attaché à une tâche utilisateur pour la gestion des délais d'attente.

5. Notifications par e-mail

Les notifications par e-mail sont un élément clé pour tenir les utilisateurs et les parties prenantes informés. Elles peuvent être configurées via des tâches d'envoi pour des e-mails entièrement automatisés, ou dans le cadre des paramètres de notification d'une tâche utilisateur.

Fonctionnalités clés de l'e-mail :

  • Intégration de variables : Personnalisez vos e-mails en insérant dynamiquement des variables de processus dans le sujet et le corps.
  • Éditeur de modèles : Utilisez un éditeur visuel par glisser-déposer pour concevoir des modèles d'e-mail professionnels et réactifs.
  • Multi-fournisseur : Softyflow prend en charge divers fournisseurs de services de messagerie, vous offrant la flexibilité d'utiliser votre service préféré.
  • Prise en charge des pièces jointes : Joignez des fichiers des ressources de votre projet à vos e-mails.

5.1. Stratégies de notification

  • Assignation de tâche : Avertissez les utilisateurs dès qu'une nouvelle tâche leur est assignée.
  • Mises à jour de statut : Tenez les parties prenantes informées de l'avancement d'un processus.
  • Alertes d'erreur : Envoyez automatiquement des notifications à votre équipe technique lorsqu'une erreur se produit.
  • Escalade : Mettez en œuvre des règles d'escalade basées sur le temps pour envoyer des e-mails de rappel ou réaffecter des tâches si elles ne sont pas terminées à temps.
Notifications par e-mail

L'éditeur de modèles d'e-mail pour concevoir des notifications personnalisées.

6. Mesures & KPI

Les mesures de processus sont utilisées pour suivre les indicateurs de performance clés (KPI) en temps réel. Elles vous permettent d'effectuer des calculs pendant l'exécution du processus et de stocker les résultats, qui peuvent ensuite être utilisés pour créer des rapports pertinents.

6.1. Configuration des mesures

Chaque mesure que vous définissez nécessite les éléments suivants :

  • Libellé : Un nom descriptif pour la mesure qui sera affiché dans les rapports.
  • Type : Le type de données de la mesure (Chaîne, Nombre, Booléen, Date ou Tout).
  • Champ : Une expression JavaScript utilisée pour calculer la valeur de la mesure.

6.2. Exemples de calcul

[Mesures](/docs/fr/ressources/project/process/measures)

Le panneau de configuration des mesures pour le suivi des KPI.

6.3. Mesures système

Softyflow fournit automatiquement un ensemble de mesures système pour chaque instance de processus :

  • SF_last_activity_name : Le nom de l'activité en cours.
  • SF_involved_users : Une liste de tous les utilisateurs qui ont participé au processus.
  • SF_status : Le statut actuel du processus (par exemple, en cours, terminé, abandonné).
  • SF_createdAt : L'horodatage de démarrage de l'instance de processus.

Pour plus de détails, consultez la documentation sur les mesures.

7. Gestion des erreurs

Une gestion robuste des erreurs est cruciale pour construire des applications fiables. Softyflow fournit des mécanismes pour intercepter et gérer les erreurs qui peuvent survenir pendant l'exécution du processus.

7.1. Événements de frontière d'erreur

Les événements de frontière d'erreur peuvent être attachés aux activités pour intercepter les erreurs qui s'y produisent. Lorsqu'une erreur est interceptée, le flux normal est interrompu et le processus suit un chemin alternatif, vous permettant de mettre en œuvre une logique de récupération.

Configuration :

  • Attacher aux activités : Vous pouvez attacher des événements d'erreur aux tâches utilisateur, aux tâches normales et aux sous-processus.
  • Types d'erreurs : Vous pouvez les configurer pour intercepter des types d'erreurs spécifiques ou pour agir comme un fourre-tout pour toute erreur.
  • Actions de récupération : Définissez un chemin d'exécution alternatif pour gérer l'erreur, comme notifier un administrateur, réessayer la tâche ou terminer gracieusement le processus.

7.2. Stratégies de gestion des erreurs

Gestion des erreurs

Un événement de frontière d'erreur interceptant une erreur et redirigeant vers un sous-processus de gestion.

Meilleures pratiques pour la gestion des erreurs :

  • Fournissez toujours des chemins de secours pour les processus critiques afin de vous assurer qu'ils ne se bloquent pas.
  • Journalisez toutes les erreurs avec des informations détaillées pour faciliter le débogage et la surveillance.
  • Mettez en œuvre des mécanismes de relance pour les pannes transitoires, telles que les problèmes de réseau temporaires.
  • Utilisez des événements de délai d'attente conjointement avec la gestion des erreurs pour les opérations de longue durée.

8. Sécurité & Contrôle d'accès

La sécurité est une priorité absolue, et Softyflow offre un contrôle granulaire sur qui peut faire quoi dans vos processus.

8.1. Sécurité au niveau des tâches

  • Assignation d'utilisateur : Assignez des tâches directement à un utilisateur ou à un rôle.
  • Observateurs : Accordez un accès en lecture seule aux utilisateurs qui ont besoin de suivre la progression d'une tâche.
  • reCAPTCHA : Protégez les tâches publiques du spam et des abus.
  • Assignation dynamique : Utilisez des variables de processus pour mettre en œuvre des règles de sécurité complexes basées sur les données.

8.2. Sécurité au niveau des processus

  • Restrictions de rôle : Utilisez la gestion des rôles pour contrôler qui peut démarrer, afficher ou gérer les processus.
  • Autorisations de vue : Séparez les autorisations pour afficher les instances de processus des droits d'exécution des tâches.
  • Sécurité des variables : Protégez les données sensibles stockées dans les variables de processus en contrôlant qui peut les voir ou les modifier.

8.3. Meilleures pratiques de sécurité

  • Principe du moindre privilège : N'accordez aux utilisateurs que les autorisations dont ils ont absolument besoin pour effectuer leurs tâches.
  • Hiérarchies de rôles : Mettez en œuvre une hiérarchie de rôles claire et logique qui reflète votre structure organisationnelle.
  • Audit : Auditez régulièrement l'accès aux processus et les modifications pour détecter toute activité non autorisée.
  • Gestion sécurisée des informations d'identification : Gérez en toute sécurité toutes les variables sensibles et les informations d'identification d'API.
  • Validation des entrées : Validez toujours toutes les entrées des utilisateurs dans vos scripts et expressions pour prévenir les attaques par injection.

9. Meilleures pratiques

9.1. Conception de processus

  1. Modularité : Décomposez les processus volumineux et complexes en sous-processus plus petits et réutilisables. Cela rend vos modèles plus faciles à lire, à maintenir et à tester.
  2. Gestion des erreurs : Concevez toujours en prévision des pannes. Fournissez des chemins d'erreur clairs et des délais d'attente pour toute tâche susceptible d'échouer.
  3. Performance : Soyez conscient des performances. Évitez d'exécuter des calculs ou des requêtes complexes dans le chemin critique de votre processus s'ils peuvent être effectués de manière asynchrone.
  4. Documentation : Utilisez des noms descriptifs pour vos activités et variables, et ajoutez des commentaires à votre modèle pour expliquer la logique complexe.

9.2. Gestion des variables

  1. Conventions de nommage : Adoptez une convention de nommage cohérente et descriptive pour vos variables (par exemple, camelCase).
  2. Sécurité des types : Assurez-vous que vos expressions et scripts gèrent correctement les différents types de données pour éviter les erreurs d'exécution.
  3. Vérification des nuls : Vérifiez toujours si une variable existe avant d'essayer de l'utiliser, surtout si elle provient d'un système externe.
  4. Sécurité : Veillez à ne pas exposer de données sensibles dans les journaux ou aux utilisateurs qui ne devraient pas y avoir accès.

9.3. Tests & Validation

  1. Tests unitaires : Testez chaque composant de votre processus, comme les scripts individuels ou les sous-processus, de manière isolée.
  2. Tests de bout en bout : Validez l'ensemble du flux de processus du début à la fin pour vous assurer que toutes les intégrations fonctionnent comme prévu.
  3. Tests de performance : Surveillez les temps d'exécution et l'utilisation des ressources de vos processus sous charge pour identifier les goulots d'étranglement.
  4. Tests d'acceptation par l'utilisateur (UAT) : Impliquez vos utilisateurs métier dans le processus de test pour vous assurer que l'application finale répond à leurs besoins et attentes.

Prochaines étapes

Maintenant que vous avez une solide compréhension de la conception de processus, vous pouvez continuer à construire le reste de votre application :

Pour une expérience plus pratique, nous vous recommandons vivement d'essayer nos tutoriels pas à pas ou de regarder nos tutoriels vidéo sur les processus et les rapports.

Pour des sujets plus avancés, vous pouvez explorer notre documentation détaillée sur les composants de processus, les paramètres d'entrée/sortie, les mesures et les sous-processus.