premier commit

This commit is contained in:
2026-03-06 18:55:43 +01:00
commit 735f81894d
16 changed files with 191 additions and 0 deletions

0
README.md Normal file
View File

View File

@@ -0,0 +1,24 @@
+++
title = "IMEMA"
+++
Interface Modbus pour l'Enregistrement des Mesures d'Automates
J'ai travaille sur ce projet dans le cadre de mon travail en tant que technicien en automatisme pour le service de la Maitrise de l'Energie de la ville de Besancon.
Ce projet consiste a journaliser des valeurs recueillies dans des automates utilises pour les chaufferies et centrales de traitement de l'air present sur le reseau informatique de la ville.
Pour realiser cet objectif j'ai fais appel a mes connaissances en langage de programmation Rust, pour la partie PC, et Structure, pour la partie automate.
Pour la partie PC en Rust, j'ai utilise les crates tokio_modbus, tokio, chrono et csv.
Le programme s'articule ainsi :
- Le processus ouvre un fichier de configuration qui contient les adresses IP v4 de tout le reseau automate ainsi que le nom des sites physique et la quantite de registre modbus a lire.
- Le processus etabli une connexion avec un automate via son IP
- Les valeurs de registre sont lues dans le DataBlock expose par l'automate
- Ces valeurs sont parsees puis ecrite dans une nouvelle entree du fichier .csv propre au site
Le programme itere sur les adresses IP en suivant cette boucle jusqu'a ce que toutes les adresses soient traitees.
Apres une pause de 15 minutes, le processus relance un nouveau cycle de lecture des registres sur tout le reseau automate.
Pour la partie Automate, j'ai mis en place un serveur modbus grace au bloc fourni par le constructeur et ai expose les registres voulu avec un DataBlock dedie.

View File

@@ -0,0 +1,6 @@
+++
title = "Liste des Accomplissements"
sort_by = "title"
template = "accomplissements.html"
page_template = "page.html"
+++

40
content/cv/CV.md Normal file
View File

@@ -0,0 +1,40 @@
+++
+++
# Thomas LETELLIER
Tel : 07 80 33 57 13
Mail : thomas.letellier2812@gmail.com
---
## Experiences Professionnelles
>### Technicien en Automatisme
>#### Direction Maitre de l'Energie Ville de Besancon
>- Developpement et mise a jour de logiciel de journalisation Modbus
>- Conception et cablage d'armoires electriques
>- Programmation d'automates Siemens et Soffrel
>### Alternant Technicien en Automatisme
>#### Eiffage Energie Systemes Clemessy
>- Conception de vues de supervision pour une Unite de Valorisation Energetique
>- Installation et interfacage d'une Interface Homme Machine pour un reseau de froid urbain
>- Conception et presentation d'une supervision aupres d'un client
## Formation
>### DUT Genie Electrique et informatique industrielle
>#### Institut Universitaire de Technologie de Rouen
>### Baccalaureat General
>#### Lycee Polyvalent Raymond Queneau
## Competences
>- Programmation informatique : Rust, C, Python
>- Programmation Automate : Structure, LADDER, Grafcet
>- Conception et assemblage de cartes electroniques
>- Conception de modeles 3D sur Solidworks 3DExperience
>- Pack Office
>- Systemes Linux

View File

@@ -0,0 +1,6 @@
+++
title = "Liste des Objectifs"
sort_by = "title"
template = "objectifs.html"
page_template = "page.html"
+++

View File

@@ -0,0 +1,5 @@
+++
title = "Porsche 944"
+++
{{ image(src="/porsche-944-2-7.jpeg" ,alt="Porsche 944 2.7L 1989", width="1200px") }}

BIN
static/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

BIN
static/porsche-944-2-7.avif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

BIN
static/porsche-944-2-7.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

11
static/style.css Normal file
View File

@@ -0,0 +1,11 @@
.titre{
font-family: "Courier New", monospace;
}
blockquote{
background-color: lightgrey;
}
footer{
background-color: lightgrey;
}

View File

@@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block content %}
<h1>
{{section.title}}
</h1>
<ul>
{% for page in section.pages %}
<li><a href="{{page.permalink | safe }}">{{ page.title }}</a></li>
{% endfor %}
</ul>
{% endblock content %}

28
templates/base.html Normal file
View File

@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Hatmos</title>
<meta name="viewport" content="device-width, initial-scale=1">
<meta name="description" content="Site portefolio de mes objectifs de vie et mes accomplissements">
<link rel="stylesheet" href="{{get_url(path='style.css')}}">
<link rel="icon" type="image/png" href="{{get_url(path='favicon.png')}}">
</head>
<header>
<h1 class="titre"><a href="https://www.hatmos.xyz/">Le site de Hatmos</a></h1>
<ul>
<li class="titre"><a href="{{ get_url(path='@/accomplissements/_index.md')}}">Accomplissements</a></li>
<li class="titre"><a href="{{ get_url(path='@/objectifs/_index.md')}}">Objectifs</li>
<li class="titre"><a href="{{ get_url(path='@/cv/CV.md')}}">CV</a></li>
</ul>
</header>
<body>
<section>
{% block content %} {% endblock content %}
<section>
</body>
<footer>
<small id="footer-text">© <script>document.write(new Date().getFullYear())</script> Hatmos. All Rights Reserved.</small>
</footer>
</html>

29
templates/index.html Normal file
View File

@@ -0,0 +1,29 @@
{% extends "base.html" %}
{% block content %}
<div>
<h2 class="titre">Bienvenue.</h2>
<p id="presentation">
Voici un site pour faire le tour de mes objectifs de vie et projets personnels et professionels ainsi que mes accomplissements.
</p>
</div>
<div>
<h2 class="titre">Accomplissements</h2>
<p>
<ul>
<li class="second-section-list-element"><a href="{{ get_url(path='@/accomplissements/IMEMA.md')}}">IMEMA</a></li>
<li class="second-section-list-element"><a href="pongzilla.html">Pongzilla</a></li>
</ul>
</p>
</div>
<div>
<h2 class="titre">Objectifs</h2>
<ul>
<li class="third-section-list-element"><a href="concordvc.html">ConcordVC</a></li>
<li class="third-section-list-element"><a href="autoslicer.html">Auto-Slicer</a></li>
<li class="third-section-list-element"><a href="autowater.html">Auto-water</a></li>
<li class="third-section-list-element"><a href="{{ get_url(path='@/objectifs/porsche-944.md')}}">Porsche 944 turbo</a></li>
<li class="third-section-list-element"><a href="mobilite.html">Mobilite</a></li>
</ul>
</div>
{% endblock content %}

13
templates/objectifs.html Normal file
View File

@@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block content %}
<h1>
{{section.title}}
</h1>
<ul>
{% for page in section.pages %}
<li><a href="{{page.permalink | safe}}">{{page.title}}</a></li>
{% endfor %}
</ul>
{% endblock content %}

11
templates/page.html Normal file
View File

@@ -0,0 +1,11 @@
{% extends "base.html" %}
{% block content %}
<h1>
{{ page.title }}
</h1>
{{ page.content | safe }}
{% endblock content %}

View File

@@ -0,0 +1,5 @@
<img
src="{{ get_url(path=src) }}"
alt="{{ alt | default(value='') }}"
style="width: {{ width | default(value='auto') }}; height: {{ height | default(value='auto') }};"
>