Muhammad Abdullah Awais

Développement full stack d'applications web rapides et accessibles avec React, Next.js, Node.js et TypeScript.

Dernière mise à jour :

Profil

Muhammad Abdullah Awais exerce comme full stack developer et conçoit, développe et maintient chaque outil de EasyToolbox : outils de calcul, outils de lettres et jeux. Le travail couvre toute la pile technique : l'interface, la logique qui produit chaque chiffre et les contrôles automatiques exécutés avant toute publication.

L'objectif : des applications web rapides, accessibles et dignes de confiance, avec des interfaces claires, des données fiables et un code testé plutôt que supposé correct.

Comment les chiffres sont établis

Avant la mise en ligne d'un outil, Muhammad Abdullah Awais lit les règles qu'il applique à leur source : le texte de loi sur le site officiel, la doctrine de l'administration fiscale ou de l'autorité de contrôle et, lorsqu'il en existe un, un exemple chiffré officiel. Le calculateur doit ensuite reproduire cet exemple au centime près.

  • Des exemples officiels repris comme cas de test, comme la table de contrôle de l'impôt sur les salaires du ministère fédéral allemand des Finances, l'exemple de l'administration fiscale britannique (HMRC) sur la top slicing relief et l'exemple du BOFiP sur les rachats d'assurance vie
  • Tous les chiffres d'un outil dans un seul fichier de données daté ; pour les valeurs qui changent à une date connue, un test bloque la publication après cette date jusqu'à une nouvelle vérification
  • Les sources primaires sur chaque page d'outil, avec la date de la dernière vérification

Il s'agit d'un travail de recherche et de développement, pas d'un conseil professionnel : aucun cabinet de conseil fiscal, juridique ou financier n'a relu les pages. Elles expliquent le fonctionnement des règles pour que chacun puisse vérifier un chiffre ; la méthodologie décrit la démarche complète.

Compétences et technologies

Développement frontend avec React et Next.js, développement backend avec Node.js et Express.js, et stockage des données avec MongoDB, l'ensemble formant la stack MERN.

DomaineTechnologies
LangagesJavaScript, TypeScript, PHP, SQL, HTML5, SCSS/SASS
Frameworks et bibliothèques frontendReact, Next.js, Vue, Angular, jQuery
Gestion d'étatRedux Toolkit, React Redux, VueX, Zustand
Frameworks d'interfaceTailwind CSS, Material UI, Bootstrap, shadcn/ui
Backend et APINode.js, Nest.js, Express.js, REST APIs, Intégration d'API
Récupération des donnéesTanStack Query
Bases de donnéesMongoDB, MySQL, PostgreSQL
Outils et DevOpsGit, GitHub, Swagger, Postman
Full stackMERN stack: MongoDB, Express.js, React, Node.js
  • Interfaces responsives construites à partir de composants réutilisables et typés
  • API REST et GraphQL conçues selon les besoins du client
  • Performance grâce au découpage du code, au chargement différé et au rendu statique
  • Accessibilité WCAG 2.1 AA et référencement naturel (SEO) intégrés dès le départ

Développement frontend

Côté frontend, Muhammad Abdullah Awais construit des interfaces avec React et Next.js, en privilégiant des pages rendues côté serveur ou générées à l'avance : le contenu arrive lisible dans le HTML, avant même le chargement du JavaScript. L'interface se découpe en composants réutilisables et typés avec TypeScript, que l'on assemble d'une page à l'autre sans réécrire leur logique.

La mise en forme passe par Tailwind CSS et un petit jeu de composants partagés. Chaque mise en page part d'un petit écran de téléphone et s'élargit jusqu'à celui d'un ordinateur. Chaque commande doit aussi rester utilisable au seul clavier, avec un ordre de navigation logique et un focus visible.

Développement backend et API

Côté backend, Muhammad Abdullah Awais développe des services avec Node.js et Express.js, ou avec Nest.js lorsqu'un projet demande une structure plus encadrée. Ces services exposent des API REST ou GraphQL selon l'usage : REST pour des ressources simples et prévisibles, GraphQL quand une interface doit choisir précisément les données qu'elle reçoit.

Les données sont modélisées dans MongoDB, ou dans MySQL et PostgreSQL quand un schéma relationnel convient mieux. Le travail comprend aussi l'intégration d'API externes, documentées et essayées avec Swagger et Postman. Ce site-ci n'a pas besoin de serveur d'application : ses pages sont générées à l'avance et ses outils calculent tout dans le navigateur.

Tests, accessibilité et performance

La qualité se vérifie par des tests automatiques plutôt qu'à la relecture. Avec Vitest, chaque formule est comparée à des résultats de référence, et les tests tournent avant chaque mise en ligne : une erreur détectée bloque la publication.

L'accessibilité prend les WCAG pour référence : contrastes mesurés, libellés compréhensibles par les lecteurs d'écran et commandes atteignables au clavier. La performance et le référencement naturel (SEO) sont prévus dès la conception, avec un rendu statique, peu de JavaScript envoyé au navigateur et des données structurées. Le code est versionné avec Git, dans un dépôt sur GitHub.

Comment ce site est construit

Le site est une application Next.js statique et multilingue où chaque outil forme un dossier de données, de logique, de tests et de sept pages rédigées pour chaque langue.

  • Next.js avec l'App Router, chaque page générée statiquement à l'avance
  • TypeScript partout, avec un contenu validé contre un schéma à la compilation
  • Sept langues, chacune avec ses propres URL, liens hreflang et données structurées
  • Tests automatiques avec Vitest pour chaque formule avant chaque version
  • Outils qui fonctionnent dans le navigateur : rien de ce qui est saisi n'est envoyé à un serveur

Contact

Pour un projet de développement web ou un retour sur un outil du site, écrivez à [email protected]. Le portfolio sur www.abdullahawais.com présente d'autres projets, et les profils de cette page mènent au code sur GitHub et à l'actualité professionnelle sur LinkedIn.