Cours personnalisés
Un cours personnalisé est une séquence nommée et ordonnée de sujets de pratique et de scénarios d'apprentissage que vous construisez à partir du catalogue de contenu SecureCodingHub. Une fois construit, le cours peut être attribué via la page Affectations de la même manière que vous attribuez une catégorie intégrée, et les apprenants le consomment en ligne à /learn/custom/<courseId> comme s'il s'agissait d'un des cours standard.
Quand construire un cours personnalisé
Les familles OWASP intégrées sont délibérément larges. Elles ont du sens comme point de départ pour les déploiements à l'échelle de l'organisation et pour les dossiers de preuves de conformité. Mais une fois que votre équipe a fait un passage complet, l'affectation suivante est presque toujours plus ciblée — onboarding pour les nouveaux embauchés backend, un rappel focalisé sur une classe de vulnérabilités que vos découvertes CodeQL continuent de signaler, une montée rapide en compétence sur les habitudes de codage sécurisé pour la stack de langages vers laquelle une équipe est sur le point de migrer. C'est là que les cours personnalisés prennent leur valeur : ils vous permettent d'extraire exactement les sujets et scénarios que vous voulez, dans l'ordre que vous voulez, dans un seul bundle nommé.
Où cela se trouve
Cliquez sur Cours personnalisés dans la barre latérale sous la section Apprentissage pour atterrir sur la page liste à /organization/custom-courses. La liste affiche chaque cours que votre organisation a construit, le nombre d'éléments dans chacun, le nombre d'affectations qu'il est actuellement référencé, qui l'a créé et quand il a été mis à jour pour la dernière fois. Cliquez sur une ligne de cours pour ouvrir le constructeur pour ce cours ; cliquez sur + Nouveau cours personnalisé en haut à droite pour en créer un.
Construction d'un cours
Le constructeur est une mise en page à deux panneaux. Le panneau de gauche affiche votre liste d'éléments actuelle avec réorganisation par poignée de glisser et un contrôle de suppression par ligne. Le panneau de droite est le sélecteur — un arbre de catégories, modules, sujets et scénarios tirés du catalogue de contenu en direct. Les boutons Ajouter vous permettent d'apporter des éléments à n'importe quelle granularité :
| Ajouter au niveau | Effet |
|---|---|
| Sujet | Ajoute un seul sujet de pratique. Les apprenants voient tous les challenges qu'il contient, dans leur propre langue préférée selon Préférences technologiques. |
| Scénario | Ajoute un seul scénario d'apprentissage. Les apprenants parcourent le pas-à-pas comme dans Mode apprentissage. |
| Module | Développe le module en ses sujets constitutifs et ajoute chacun comme un élément séparé (vous pouvez donc les réorganiser ou en retirer des spécifiques par la suite). |
| Catégorie | Identique à Module mais au niveau de la famille OWASP. Utile comme point de départ que vous ajustez ensuite. |
Enregistrez le cours à tout moment ; les enregistrements partiels sont autorisés. Le Name est le seul champ obligatoire. Les champs optionnels Description, Icon et Color vous permettent de personnaliser le cours dans l'interface apprenant.
Attribution d'un cours personnalisé
Depuis Affectations → Nouvelle affectation, choisissez Personnalisé comme Zone de contenu et sélectionnez votre cours dans la liste déroulante. Le reste du formulaire d'affectation se comporte de la même manière que pour le contenu intégré — choisissez un destinataire (utilisateur, équipe ou organisation entière), choisissez une échéance, choisissez obligatoire ou facultative et créez. La progression du destinataire est suivie élément par élément contre le contenu du cours, et la page Détail de l'affectation les agrège dans le même pourcentage de complétion que les affectations suivies OWASP utilisent.
Modification et suppression
Ouvrez un cours pour modifier son nom, sa description, son icône, sa couleur ou sa liste d'éléments. Les changements d'éléments s'appliquent immédiatement aux affectations actives — l'ajout d'un élément augmente le dénominateur pour les apprenants en vol, en retirer un le diminue. La réorganisation n'affecte pas le calcul de complétion ; elle change seulement l'ordre dans lequel les éléments sont rendus dans l'interface apprenant.
L'action Supprimer rend le cours inactif. Il cesse d'apparaître dans la liste, dans le sélecteur de création d'affectation et dans la surface de consommation apprenant. Les affectations historiques qui référencent le cours continuent de reporter leur progression existante ; elles n'acceptent simplement plus de nouveaux destinataires une fois le cours parti.
Accès programmatique
Tout dans l'interface admin est aussi accessible depuis l'API publique — voir API → Cours personnalisés pour les formes de requête et de réponse JSON. Les automatisations courantes incluent la synchronisation d'une liste de cours curatés depuis un dépôt de contrôle de source versionné et la construction de cours d'onboarding par équipe par programme à partir des métadonnées d'équipe.