IoT

đŸ–„ïž Description de la rĂ©alisation

Ce projet a pour objectif de concevoir une infrastructure centralisĂ©e de collecte et de traitement de donnĂ©es IoT pour la surveillance de ressources industrielles (ex : silos Ă  grains), en lien avec les systĂšmes Actemium/Vinci. Il inclut le dĂ©veloppement d’une API backend, une interface de visualisation et une passerelle de communication en temps rĂ©el.

đŸ’» Environnement technologique

  • Langages : C#, TypeScript

  • Frameworks :

    • .NET (phase initiale)

    • Node.js avec Express (post-migration)

  • Base de donnĂ©es : PostgreSQL (via Prisma ORM)

  • Validation de schĂ©ma : Zod

  • Communication temps rĂ©el : WebSocket

  • Visualisation frontend : Web app (React ou Ă©quivalent)

  • Autres outils :

    • Logging structurĂ©

    • API auto-documentĂ©e

⚙ FonctionnalitĂ©s principales

  • 📡 Collecte des donnĂ©es IoT via passerelle unique

  • 🔁 Migration de l’API C# vers Node.js pour plus de souplesse

  • đŸ§± Validation stricte des schĂ©mas d’entrĂ©e avec Zod

  • đŸ§Ÿ Documentation dynamique de l’API (OpenAPI/Swagger-like)

  • 📊 Web app de visualisation des capteurs (donnĂ©es + statuts en temps rĂ©el)

  • đŸ“¶ Communication WebSocket pour les mises Ă  jour en direct

  • đŸ§© SystĂšme de logs structurĂ© avec niveau de sĂ©vĂ©ritĂ©, timestamp, module, mĂ©thode, etc.

  • đŸ—‚ïž Fichiers de logs mensuels

  • ⚙ Configuration des logs via app-settings.json

  • đŸ§Œ Suppression automatique des logs de plus de 6 mois

  • ⏱ Planification automatique des vĂ©rifications tous les 10 jours

🧠 CompĂ©tences mobilisĂ©es

[!info]+ Développement Backend

  • CrĂ©ation d’API RESTful avec .NET et Express

  • Migration backend C# vers Node.js + TypeScript

  • Structuration de projets Node.js (routes, middlewares, services)

[!check]+ Validation et Sécurité

  • Utilisation de Zod pour la validation des schĂ©mas

  • SĂ©curisation des entrĂ©es API

[!bug]+ Logging structuré

  • ImplĂ©mentation d’un systĂšme de logs conforme Ă  une norme interne :

    • Date/Heure, timestamp Unix, niveau de log, composant appelant, mĂ©thode, message

    • Configuration via app-settings.json

[!example]+ Communication temps réel

  • IntĂ©gration de WebSocket pour les mises Ă  jour live depuis les capteurs

  • Gestion d’évĂ©nements (connect/disconnect/update)

[!tip]+ Frontend Web

  • DĂ©veloppement d’une interface web de visualisation des donnĂ©es IoT

  • Suivi du statut des capteurs et reprĂ©sentation des valeurs collectĂ©es

[!star]+ Architecture & DevOps

  • Étude de solutions de passerelle unique IoT

  • Organisation modulaire de l’API pour faciliter les Ă©volutions futures

📩 ÉlĂ©ments produits

  • 🔧 API Backend (v1 en C#, v2 en Node.js avec Express, Prisma, Zod)

  • 🌐 Application web de visualisation des donnĂ©es capteurs

  • 📃 Documentation de l’API gĂ©nĂ©rĂ©e dynamiquement

  • đŸ—‚ïž Fichiers de logs mensuels auto-nettoyĂ©s

  • 📄 app-settings.json configurable

  • đŸ§Ș Rapports de tests : couverture API, validation WebSocket

  • 📾 Captures d'Ă©cran :

    • Interface capteurs en temps rĂ©el

    • Journalisation des Ă©vĂ©nements

📈 Bilan de la situation

[!important]+ Apports pour l’entreprise

  • IntĂ©gration transparente avec les systĂšmes Actemium/Vinci

  • Centralisation et automatisation de la collecte de donnĂ©es

  • RĂ©duction des erreurs humaines et meilleure traçabilitĂ©

  • Temps rĂ©el pour l’analyse et la rĂ©activitĂ©

[!star]+ Acquis personnels

  • MaĂźtrise du passage d’une API .NET vers Node.js/TypeScript

  • CompĂ©tences avancĂ©es en logging structurĂ© et validation de schĂ©mas

  • ExpĂ©rience concrĂšte en architecture IoT et communication WebSocket

  • Mise en Ɠuvre d’une approche temps rĂ©el + visualisation frontend

IoT Test Jest.jpg
IoT Test Jest 2.jpg
IoT Node-RED.png
IoT Error.png
IoT Graph.png
IoT Config.png
IoT Scalar.png