Votre première expérience professionnelle, avant votre premier emploi.

Chaque lab vous plonge dans un vrai cas d'entreprise. Vous le résolvez vous-même, et vous gagnez ce que la théorie ne donne pas : la confiance.

Créer un compte

Votre premier atelier est offert.

Labs (52)

Choisissez votre prochain défi. Chaque lab est conçu par des experts, à partir de missions qu'ils mènent en entreprise.

  • GénéralParcours : AWS pour développeurs : API serverless, conteneurs et sécurité

    Conteneurs sur AWS : Docker, Amazon ECR et ECS Fargate

    Sawa Express ouvre sa ligne Douala - Yaoundé. Serge, un développeur freelance, a écrit le service qui calcule les tarifs : un petit serveur web en Python qui tourne parfaitement sur son ordinateur portable. Mais Serge est reparti à Bafoussam, et l'application de Patrick a besoin de ce service en ligne, tout le temps. Vous le mettez dans un conteneur, tel quel, sans le réécrire. Depuis AWS CloudShell, vous construisez l'image avec Docker, la publiez dans un dépôt privé Amazon ECR, et la faites tourner sur Amazon ECS avec AWS Fargate, sans aucun serveur à gérer. En chemin, vous tombez sur les deux pannes que rencontre tout développeur qui passe aux conteneurs : un service qui répond sur l'ordinateur mais pas dans le conteneur, et une tâche qui tourne mais que personne ne peut joindre. Puis le prix du carburant augmente : vous le changez par une nouvelle révision de la tâche, déployée sans coupure, sans toucher au code. Troisième atelier du parcours AWS pour développeurs, qui prépare la certification AWS Certified Developer - Associate (DVA-C02).

    • Aucun avis
    • Intermédiaire
    • 2 h
    • 2 000 crédits
  • GénéralParcours : AWS pour développeurs : API serverless, conteneurs et sécurité

    Sécuriser une API : Amazon Cognito, autorisation JWT, Secrets Manager et KMS

    Un concurrent de Sawa Express publie une capture d'écran : le nom, le téléphone et l'adresse d'un client, lus dans l'API des colis. N'importe qui peut lire n'importe quel colis, et même le marquer livré. Et la clé de l'opérateur SMS est écrite dans le code. Patrick veut que tout soit fermé avant lundi. Vous créez les comptes des clients et des livreurs dans Amazon Cognito, et vous protégez chaque route de l'API par une autorisation JWT d'API Gateway : sans jeton valable, plus rien ne passe. Dans la fonction, vous réservez le changement de statut aux livreurs, en lisant leur groupe dans le jeton. Puis vous rangez la clé SMS dans AWS Secrets Manager, chiffrée par une clé AWS KMS, et vous découvrez les deux droits qu'il faut pour la lire : l'un sur le secret, l'autre sur la clé. Enfin, vous ouvrez l'API au tableau de bord web du bureau, et à lui seul, par CORS. Quatrième atelier du parcours AWS pour développeurs, qui prépare la certification AWS Certified Developer - Associate (DVA-C02).

    • Aucun avis
    • Avancé
    • 2 h
    • 2 500 crédits
  • DébutantParcours : Docker : de la première image à la production

    Docker : conteneuriser une application et la mettre en ligne

    Jeudi soir, Radio Akwa à Douala. L'animateur lance son sondage de la semaine à l'antenne, et le standard tombe en vingt minutes : trois cents appels pour départager deux plats. À la fin de l'émission, il n'a aucun chiffre à annoncer. Il dit « c'est serré », et il passe à la musique. Il ne vous demande pas une application. Il demande une adresse à donner à l'antenne, que les auditeurs tapent sur leur téléphone. Vous n'avez jamais lancé un conteneur. Vous allez en lancer un, échouer à le joindre, comprendre pourquoi, ouvrir le port qu'il faut, découvrir dans les journaux qu'il lui manque une seconde machine, brancher les deux sur un réseau, puis remplacer la question par la vôtre : d'abord sans rien reconstruire, ensuite en construisant votre première image. À la fin de la séance, vous envoyez l'adresse à deux ou trois personnes que vous connaissez, et vous regardez le compteur de votes monter pendant qu'elles cliquent. C'est la seule façon honnête de vérifier qu'une application est en ligne.

    • Aucun avis
    • Débutant
    • 1 h 30 min
    • 500 crédits
    • 1er atelier offert
  • DébutantParcours : Docker : de la première image à la production

    Docker : volumes et persistance des données d'une application

    Lundi matin, Radio Akwa à Douala. Trente auditeurs ont voté au sondage d'Ernest, et Samuel, le technicien, doit passer Redis à sa nouvelle version. Il applique la bonne méthode : on ne modifie pas un conteneur, on le remplace. Les trente votes disparaissent. Vous allez comprendre où ils étaient, donner des volumes nommés à Redis puis à PostgreSQL, et découvrir qu'un volume ne garde que ce que l'application a vraiment écrit sur le disque. Vous monterez la chaîne complète du sondage, file d'attente, worker, base et page de résultats, en diagnostiquant un conteneur qui tourne sans travailler et une base qui s'arrête aussitôt lancée. À la fin, Ernest a une page de résultats qui bouge en direct pendant que vos proches votent, une base qui survit à la suppression de son conteneur, et une sauvegarde rangée.

    • Aucun avis
    • Débutant
    • 1 h 30 min
    • 500 crédits
    • 1er atelier offert
  • DébutantParcours : Docker : de la première image à la production

    Docker Compose : lancer une application multi-conteneurs

    Mercredi, Radio Akwa à Douala. Deux cents votes pour la demi-finale, et la page des résultats à l'antenne. Mais Samuel, le technicien, part en congé, et c'est lui qui relance le sondage : un script de cinq commandes à taper dans le bon ordre, avec le mot de passe de la base écrit en clair. Vous allez le remplacer par un fichier compose.yaml et une seule commande. En chemin, vous rencontrerez les deux pannes classiques d'une première mise sous Compose : le port déjà pris, puis une base vide, alors que les deux cents votes dorment intacts dans un volume que plus personne n'utilise. Vous sortirez le mot de passe dans un fichier .env et ordonnerez le démarrage sur la santé réelle de la base. À la fin, Ernest relance tout le sondage lui-même, en une commande, sans rien perdre.

    • Aucun avis
    • Débutant
    • 1 h 30 min
    • 500 crédits
    • 1er atelier offert
  • GénéralParcours : Docker : de la première image à la production

    Docker en production : restaurer, redémarrer, Nginx en frontal

    Vendredi matin, Radio Akwa à Douala. La finale a rapporté plus de mille votes, puis une coupure de courant a tout arrêté vers trois heures. Au matin, plus rien ne répond, et Junior, le neveu d'Ernest, a voulu réparer : il a supprimé la base et son volume, puis ajouté une limite de mémoire trouvée sur un forum. Vous allez restaurer la base à partir de la sauvegarde de mercredi, dans le bon ordre, et regarder en face ce qu'elle ne contient pas. Vous diagnostiquerez un worker tué sans un mot (code 137), trouverez le gigaoctet de journaux que docker system df ne montre pas, et rendrez la pile autonome face à la prochaine coupure. Pour finir, Nginx prend la place de tous les ports : le vote et les résultats sur une seule adresse, celle qu'on imprime sur une affiche. Une page qui s'affiche vide vous apprendra à lire le journal d'un reverse proxy.

    • Aucun avis
    • Intermédiaire
    • 1 h 40 min
    • 750 crédits
    • 1er atelier offert
  • DébutantParcours : Sécurité web : trouver et corriger les failles du Top 10 OWASP

    Sécurité web avec nginx : fermer les fuites d'informations

    Abidjan, jeudi soir. Akwaba Market, la boutique en ligne de pagnes wax et d'artisanat de Madame Koné, à Treichville, ouvre samedi. Hier soir, un client développeur a prévenu en privé : une adresse de produit cassée affiche une page pleine de code avec le mot de passe de la base de données, un dossier de sauvegardes ouvert à tous livre les noms et les téléphones des clients, et le site annonce son logiciel et sa version à qui veut l'entendre. Vous regardez d'abord la boutique comme un inconnu la voit, avec curl et les outils de développement du navigateur, et vous notez ce qu'elle laisse échapper. Puis vous fermez les fuites une à une, par la configuration : nginx cesse d'annoncer sa version et retire l'en-tête de l'application ; le mode DEBUG passe à false, et la trace des erreurs part au journal, retrouvable par une référence ; le mot de passe divulgué est changé dans la base et dans l'application, dans le bon ordre, et le fichier qui le garde n'est plus lisible par tous ; les sauvegardes des clients quittent la racine du site, et nginx refuse désormais tout fichier caché, dépôt git compris. Vous vérifiez chaque correction comme un visiteur, vous lisez dans le journal les robots qui ont déjà frappé à la porte, et vous rédigez l'état de la surface d'attaque, avant et après. Premier atelier de la série sécurité web, sur la catégorie A02:2025 du Top 10 de l'OWASP : la mauvaise configuration. Tout se passe sur votre propre sandbox, une boutique fictive qui vous appartient le temps du lab.

    • Aucun avis
    • Débutant
    • 1 h 15 min
    • 500 crédits
    • 1er atelier offert
  • DébutantParcours : Sécurité web : trouver et corriger les failles du Top 10 OWASP

    Sécurité web : comptes par défaut et stockage des mots de passe

    Abidjan, lundi matin. Akwaba Market a ouvert samedi, et cette nuit, plus de sept cents tentatives de connexion ont visé son espace gérante, venues d'une douzaine d'adresses. Didier, le client développeur, a prévenu : le manuel du logiciel de la boutique, en téléchargement libre, donne les identifiants installés par défaut. Vous allez lire l'attaque dans les journaux et vérifier, comme un inconnu, que le mot de passe du manuel ouvre bien la boutique. Vous découvrirez pourquoi des empreintes MD5 sans sel ne protègent rien, fermerez le compte générique, renouvellerez en PBKDF2 les mots de passe que Madame Koné et Fatou partageaient, et ferez ralentir par nginx les essais répétés. Une consigne de Madame Koné vous guide : personne d'autre qu'elle et Fatou ne doit entrer, et Fatou ne doit jamais être bloquée.

    • Aucun avis
    • Débutant
    • 1 h 20 min
    • 750 crédits
    • 1er atelier offert
  • GénéralParcours : Sécurité web : trouver et corriger les failles du Top 10 OWASP

    Sécurité web : contrôle d'accès et la facture du voisin

    Abidjan, mardi matin. Akwaba Market tourne depuis le week-end, et une cliente vient d'écrire à Madame Koné : hier soir, son fils regardait sa facture, a changé un chiffre dans l'adresse, et a vu celle d'un autre client, avec son nom, son téléphone et son adresse. Vous allez reproduire le problème sur des comptes de test, remonter à la ligne de code qui en est la cause (l'application sert une facture sans vérifier à qui elle appartient), corriger côté serveur, puis vérifier que chaque client ne voit plus que ses factures, que l'équipe les voit toujours toutes, et lire dans les journaux l'étendue de l'incident. C'est la faille la plus répandue des applications web, celle qu'un développeur débutant écrit sans y penser : confondre « être connecté » avec « avoir le droit de voir ceci ».

    • Aucun avis
    • Intermédiaire
    • 1 h 20 min
    • 1 000 crédits
    • 1er atelier offert
  • GénéralParcours : Sécurité web : trouver et corriger les failles du Top 10 OWASP

    Sécurité web : l'avis qui s'exécute et l'échappement

    Abidjan, mercredi matin. Les clients d'Akwaba Market laissent des avis sous les fiches produits. Depuis hier soir, la fiche du « Sac en pagne et cuir » affiche en titre « BOUTIQUE FERMÉE », et un avis renvoie vers un site concurrent. Personne n'a touché au code de la boutique. Vous allez lire ce que le serveur envoie vraiment au navigateur, remonter à la ligne qui insère le texte des avis sans précaution, ajouter l'échappement à l'affichage, poser une politique de sécurité du contenu (CSP) dans nginx en seconde barrière, puis masquer les deux avis en cause sans en supprimer aucun. C'est l'injection dans une page web (cross-site scripting), l'une des failles les plus répandues, et l'erreur classique d'un développeur qui affiche une saisie sans la traiter.

    • Aucun avis
    • Intermédiaire
    • 1 h 20 min
    • 1 000 crédits
    • 1er atelier offert
  • DébutantParcours : AWS Cloud Practitioner : IAM, S3, EC2, DynamoDB, Lambda en pratique

    AWS IAM : utilisateurs, groupes et politiques

    Baobab Market vend en ligne l'artisanat de quarante créateurs sénégalais. L'entreprise vient de passer sur AWS, et toute l'équipe s'y connecte avec le même compte, celui de la fondatrice, dont le mot de passe circule dans le groupe WhatsApp. Ce compte peut tout faire, y compris fermer l'entreprise sur AWS d'un clic. Elle vous confie la remise en ordre : une identité par personne, chacune avec le strict nécessaire. Ce lab ouvre le parcours de préparation à la certification AWS Certified Cloud Practitioner. Il couvre les concepts du cloud et surtout la sécurité, le domaine le plus lourd de l'examen. Vous commencez par la carte d'AWS : régions, zones de disponibilité, et pourquoi IAM est un service mondial. Puis vous découvrez qui vous êtes dans le compte, ce que protège AWS et ce qui reste à votre charge dans le modèle de responsabilité partagée. Vous apprenez à lire une politique IAM et à prédire la décision d'AWS : refus explicite, autorisation, refus implicite. Vous organisez l'équipe en groupes par métier, vous créez les utilisateurs plafonnés par une limite de permissions, et vous provoquez exprès les refus pour apprendre à lire un message AccessDenied. Vous écrivez ensuite votre propre politique, selon le principe du moindre privilège, et vous prouvez au simulateur de politiques que chacun a ce qu'il faut et rien de plus. Tout se passe dans la vraie console AWS, ouverte dans votre navigateur, sans carte bancaire ni compte à créer. Le guide est illustré de captures de la console, et le lab se termine par un examen blanc de dix questions dans le style de la certification.

    • Aucun avis
    • Débutant
    • 2 h 30 min
    • 1 000 crédits
    • 1er atelier offert
  • DébutantParcours : AWS Cloud Practitioner : IAM, S3, EC2, DynamoDB, Lambda en pratique

    Amazon S3 : versionnage, archivage et site web statique

    Chez Baobab Market, les factures des fournisseurs dorment dans une boîte mail et sur une clé USB. Le comptable en a supprimé une par erreur le mois dernier, et l'administration fiscale peut en demander n'importe laquelle pendant dix ans. Le site vitrine, lui, coûte 15 000 F CFA par mois chez un prestataire pour trois pages qui ne changent jamais. Les deux trouvent leur réponse dans Amazon S3, le stockage d'objets d'AWS. Ce deuxième lab du parcours de préparation à la certification AWS Certified Cloud Practitioner vous fait d'abord distinguer stockage d'objets, disque et partage de fichiers, puis créer un bucket privé, chiffré et versionné pour les factures. Vous provoquez une suppression, vous voyez S3 poser un marqueur au lieu d'effacer, et vous récupérez la facture. Vous choisissez ensuite les classes de stockage, de Standard à Glacier Deep Archive, et vous écrivez la règle de cycle de vie qui archive les factures toutes seules. Vous partagez une facture avec le commissaire aux comptes par une URL présignée, valable dix minutes, sans rien ouvrir. Puis vous publiez le site de Baobab Market directement depuis S3 : hébergement de site statique, page d'erreur, et les deux gestes qui rendent un bucket public, lever le blocage de l'accès public et écrire une politique de bucket. Vous comprenez au passage pourquoi un site renvoie 403 Forbidden, et pourquoi un bucket public mal surveillé est la première cause de fuite de données sur AWS. Tout se passe dans la vraie console AWS, ouverte dans votre navigateur. Le guide est illustré de captures de la console, nomme chaque bouton, explique ce que l'examen attend de chaque chapitre, et se termine par un examen blanc de dix questions.

    • Aucun avis
    • Débutant
    • 2 h 30 min
    • 1 000 crédits
    • 1er atelier offert