MouhamadouAbib DRAME
Je construis ce qui ne se voit pas et qui ne doit jamais céder.
Dakar, Sénégal
Lead Backend chez BATOUCLOUD SARL et élève-ingénieur à l'École Supérieure Polytechnique. Je conçois les API et tout ce qui tient derrière : authentification, modèle de données, traitements par lots.
Projets sélectionnés
SélectionSenAlgo
Écrire un algorithme sur une feuille ne dit pas s'il est juste. SenAlgo permet de le taper, de l'exécuter et de le dérouler pas à pas en regardant les variables changer, puis de le traduire en Python pour faire le pont avec un vrai langage. La vérification de types se fait à deux niveaux : ce qui est certainement faux empêche le programme de démarrer, ce qui est douteux mais défendable se contente d'un avertissement.
- Dart
- Flutter
- GitHub Actions
alphaRedis
Un SGBD NoSQL de type clé-valeur, sans aucune dépendance et sans recourir à une seule structure de la bibliothèque standard : tableau dynamique, table de hachage et listes chaînées sont réimplémentés. Le hachage djb2 et le chaînage séparé assurent un accès en O(1) amorti, le tableau doublant de taille au-delà d'un facteur de charge de 0,75. Les listes doublement chaînées gardent un pointeur de tête et de queue, ce qui rend les quatre opérations d'extrémité O(1) strict et non amorti.
- C
- Makefile
- Structures de données
MCP Docker Assistant
Serveur Model Context Protocol local qui donne à un assistant IA dans VS Code la main sur Docker : cycle de vie des conteneurs, images, stacks Compose, logs, statistiques temps réel et cartographie réseau. Les opérations destructrices, suppression de volume et nettoyage système, passent par une confirmation dédiée.
- Python
- MCP
- Docker
TranspoBot
Une plateforme complète servie par cinq conteneurs : une API FastAPI asynchrone, un bot WhatsApp, une interface web, MySQL pour les données et Redis pour les sessions et le cache. La couche d'intelligence n'est liée à aucun fournisseur : Gemini, Groq, Cerebras, GitHub Models et une instance Ollama auto-hébergée sont interchangeables, ce qui évite qu'une panne ou un changement de tarif chez l'un mette le service à l'arrêt.
- Python
- FastAPI
- MySQL
- Redis
- Docker
- Node.js
- Pydantic
Geste Main
Application Python qui remplace la souris par la webcam : détection des points de la main via MediaPipe, puis traduction des gestes en actions système. L'intérêt est moins la démonstration que la chaîne complète, de la capture vidéo au pilotage du curseur.
- Python
- MediaPipe
Expérience
Parcours professionnelLead Backend
BATOUCLOUD SARL · Dakar, Sénégal- Spring Boot
- API REST
- MySQL
- GitLab
Stage de fin de cycle · Développement backend
InTouch · Dakar, Sénégal- Conçu et développé une API REST de planification de paiements pour une fintech présente dans 27 pays africains : les ordres simples ou récurrents, quotidiens, hebdomadaires ou mensuels, s'exécutent à la date prévue sans intervention humaine.
- Implémenté la reprise sur échec : chaque exécution est historisée avec son statut, réessayée jusqu'à un nombre maximal de tentatives, puis signalée par courriel une fois ce plafond atteint.
- Traité le cas limite qui fait perdre de l'argent : une planification supprimée entre sa création et son échéance est marquée annulée au lieu d'être exécutée. La suppression est logique, donc réversible.
- Sécurisé les accès par Keycloak et OAuth2 avec jetons JWT, et documenté l'API sous OpenAPI pour la rendre intégrable par les autres applications métier.
- Spring Boot
- Spring Batch
- Spring Security
- Quartz
- Keycloak
- OAuth2 & JWT
- MySQL
- Hibernate
- Swagger
- GitLab
Formation
DiplômesDiplôme d'Ingénieur de Conception (DIC) · Informatique
École Supérieure Polytechnique de DakarCycle ingénieur en trois ans, en cours. Le tronc commun mêle génie logiciel et fondamentaux systèmes : la conception d'applications y côtoie l'électronique embarquée et le traitement du signal.
- Algorithmique & complexité
- Structures de données
- POO & Java
- Génie logiciel
- Patrons de conception
- Systèmes & réseaux
- Télécommunications
- Systèmes embarqués
Diplôme Universitaire de Technologie (DUT) · Informatique
École Supérieure Polytechnique de DakarFormation en deux ans couvrant la chaîne complète, du modèle de données à l'application web déployée.
- PHP & MySQL
- Java
- JavaScript, HTML, CSS
- Conception de bases de données
- UML & Merise
- Développement Android
- Apache & hébergement
Baccalauréat série S1 · Mention Assez bien
Lycée Maba Diakhou BASérie à dominante mathématiques et sciences physiques.
Compétences
StackLangages
- Java
- Python
- JavaScript
- Dart
- PHP
- C
- SQL
Backend & API
- Spring Boot
- Spring Security
- Spring Batch
- Quartz
- FastAPI
- API REST
- OAuth2 & JWT
- Intégration de modèles IA
- Swagger
Web & mobile
- React
- Flutter
- HTML & CSS
- Android Studio
Données & modélisation
- MySQL
- Conception de bases de données
- UML
- Merise
- StarUML
Outils & méthodes
- Git & GitHub
- GitLab
- Keycloak
- Apache
- Scrum
- ClickUp
Pas de barres de pourcentage : un niveau ne se mesure pas, il se prouve dans les projets ci-dessus.
Références
RecommandationsMamoudou Mamadou SOW
Maître de stageInTouchMa façon de travailler
ApprocheJe pars de la contrainte, pas de la stack. Sur un produit, les décisions intéressantes sont des arbitrages déjà posés avant que quiconque n'ouvre un éditeur : ce qui peut être périmé, ce qui doit être exact, ce que l'utilisateur a le droit d'attendre.
Une page qui met quatre secondes à s'afficher n'a pas de design. On pose le budget d'abord, tout le reste rentre dedans.
J'écris du code que d'autres devront maintenir, donc j'optimise pour le second lecteur. Explicite plutôt que malin, ennuyeux là où ça peut l'être, précis là où la précision achète vraiment quelque chose.
