Grégoire Layet

Développeur web full-stack et Python, autodidacte, grâce à Google.

expand_more

J'adore comprendre et apprendre. Tout ce qui touche à l'informatique m'intéresse, software, hardware, cloud, automatisation, algorithme, je trouve tout ça fascinant. Je programme depuis mes 11 ans et je ne compte pas m'arrêter.

Mes compétences

Applications

  • Automatisation et résolution de problème
  • Cloud computing, microservices, APIs, application web full stack

Techs

  • Python, flask, Fastapi
  • Vues.js, Nuxt.js
  • MongoDB, SQLite, MySQL
  • Docker, Nginx

Hardware

  • Raspberry pi comme routeur wifi et système domotique
  • Arduino et IoT

Tech stack de gregoirelayet.com

Ce site est basé sur une architecture de micro-services. J'ai décidé que plutôt que d'avoir un service par collections dans la BDD (projets, textes, équipements et liens) j'ai créé une API pour avoir les données et une pour les modifier. Mon choix s'est basé sur le fait que si beaucoup de personnes visitent le site je peux 'scale up' le frontend et l'API permettant la restitution des données mais j'ai pas besoin de 'scale up' l'API qui modifie les données car je suis seul à utiliser l'admin. Chaque micro service est un conteneur Docker. Pour l'instant, tout fonctionne via docker-compose et je compte faire la migration sur un cluster Kubernetes quand je maîtriserai cette technologie. J'ai créé un panel administrateur (/admin) où je peux modifier tous les textes affichés sur le site, mes projets locaux ainsi que les liens et mes équipements. Les projets sont séparés en deux catégories: locaux et GitHub. Les projets locaux sont ajoutés à la main (par mes soins) et les projets GitHub sont mes repos publics. Les projets GitHub sont actualisés toutes les heures par mon Scheduler. Les liens sont des redirections que je peux créer à la volée (comme un raccourcisseur d'URL mais je choisis le mot qui renvoie à une adresse). Pour les équipements, je peux créer une catégorie, pour chaque catégorie je peux rajouter des "objets" et chaque objet contient un nom, une description et un lien. J'ai donc aussi un 'scheduler', je peux ajouter une fonction et ses paramètres (args et kwargs) ainsi que son intervalle d'exécution (tous les X minutes, heures, jours, mois). Chaque fonction est exécutée au moment indiqué par son intervalle et est exécutée sur un pool de worker Celery. Je peux lancer une fonction/tâche instantanément, la mettre en pause et la supprimer. Voici le tech stack du site : (vous pouvez appuyer sur chaque techno, il y a un p'tit paragraphe)


un de mes projets :

ActArts

link
  • python
  • django
  • sql

Site réalisé pour la compagnie artistique ActArts

Ce que je souhaite apprendre en 2024

  • TypeScript
  • Cloud techs + Kubernetes et Terraform
  • Sécurité software et serveur
  • React + Next.js (voir différence avec vue)
  • Blockchain
  • Vim
  • Cuire des pâtes en moins d'une seconde
Contact