Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
dd05ec3
feat: add initial project source code for TIC2WebSocket
MathieuSabarthes Aug 20, 2025
b7e4ff1
fix: remove developers' pictures from pom.xml
MathieuSabarthes Aug 20, 2025
5733a19
fix: improve README with explicit instructions
MathieuSabarthes Aug 20, 2025
d060aa7
fix: improve README with explicit instructions
MathieuSabarthes Aug 20, 2025
02da255
fix: remove getting started link
MathieuSabarthes Aug 20, 2025
f955ac2
fix: remove getting started link
MathieuSabarthes Aug 20, 2025
e847ae9
Merge pull request #4 from Enedis-OSS/feat/add-project-sources
MathieuSabarthes Aug 20, 2025
e79892e
docs: add CHANGELOG and CONTRIBUTING
MathieuSabarthes Sep 15, 2025
aa4e382
Merge pull request #5 from Enedis-OSS/chore/add-changelog-and-contrib…
MathieuSabarthes Sep 16, 2025
ce71128
chore: add target directory to gitignore
MathieuSabarthes Sep 24, 2025
98d4c30
chore: add target directory to gitignore
MathieuSabarthes Sep 24, 2025
e436b00
chore: format enedis.lab.codec package
MathieuSabarthes Sep 24, 2025
efa3825
chore: add javadoc author to classes
MathieuSabarthes Sep 25, 2025
b499c71
chore: format enedis.lab.io.channels.serialport package
MathieuSabarthes Sep 25, 2025
6b6aa4d
chore: use mvn spotless
MathieuSabarthes Sep 25, 2025
40d9445
chore: format enedis.lab.io.channels package
MathieuSabarthes Sep 29, 2025
54a0226
chore: format with spotless
MathieuSabarthes Sep 29, 2025
0f87f88
fix: author
MathieuSabarthes Sep 29, 2025
c5f5d13
chore: format enedis.lab.io package
MathieuSabarthes Oct 1, 2025
07a1a24
chore: add spotless to pom.xml
MathieuSabarthes Oct 1, 2025
6d81028
chore: remove bloc comment sections
MathieuSabarthes Oct 3, 2025
2d95158
chore: remove bloc comment sections from tests
MathieuSabarthes Oct 3, 2025
6936121
chore: remove bloc comment sections (suite)
MathieuSabarthes Oct 3, 2025
83441cd
chore: format enedis.lab.protocol package
MathieuSabarthes Oct 3, 2025
550e222
chore: format with spotless
MathieuSabarthes Oct 3, 2025
134b5ee
chore: format enedis.lab.protocol package (suite)
MathieuSabarthes Oct 3, 2025
dd98ca9
chore: format with spotless
MathieuSabarthes Oct 3, 2025
4329ec5
chore: format with spotless
MathieuSabarthes Oct 3, 2025
4d375d2
chore: add javadoc
MathieuSabarthes Oct 8, 2025
9bb7843
chore: format enedis.lab.types package
MathieuSabarthes Oct 9, 2025
3bf729f
Merge branch 'chore/convert-to-google-java-code-style' of https://git…
MathieuSabarthes Oct 9, 2025
c1d46dd
chore: format with spotless
MathieuSabarthes Oct 9, 2025
24cf84c
chore: format enedis.tic.service.client package
MathieuSabarthes Oct 9, 2025
a380213
chore: format enedis.tic.service.config package
MathieuSabarthes Oct 9, 2025
4678824
chore: format enedis.tic.service.endpoint package
MathieuSabarthes Oct 9, 2025
d5bfd70
chore: format enedis.tic.service.message package
MathieuSabarthes Oct 9, 2025
e491221
chore: format tic.service package
MathieuSabarthes Oct 14, 2025
70e35ac
fix: type declaration for kTicMode
MathieuSabarthes Oct 21, 2025
63a05df
Merge pull request #8 from Enedis-OSS/chore/convert-to-google-java-co…
MathieuSabarthes Nov 13, 2025
e3103b4
Merge branch 'dev' of https://github.com/Enedis-OSS/TIC2WebSocket int…
MathieuSabarthes Nov 13, 2025
ffbc4c9
refactor(architecture): v2.0.0 – nouvelle architecture + outils de di…
MathieuSabarthes Feb 4, 2026
0c78ec1
Merge branch 'main' into dev
MathieuSabarthes Feb 4, 2026
b77f15f
fix: Remove DataDictionaryDescriptors folder
MathieuSabarthes Feb 4, 2026
9324692
fix: Remove enedis main package
MathieuSabarthes Feb 4, 2026
5b2db1e
fix: Remove enedis test package
MathieuSabarthes Feb 4, 2026
66f79b4
fix: Delete unused setup script
MathieuSabarthes Feb 4, 2026
0ebc4ed
chore: Format
MathieuSabarthes Feb 4, 2026
e5b4744
fix: Update launchers, diagnostic and debug scripts
MathieuSabarthes Feb 5, 2026
64689ad
feat: Add tester to output package
MathieuSabarthes Feb 5, 2026
3584093
fix: Update output directories and classpath in scripts
MathieuSabarthes Feb 9, 2026
db1c20a
fix: Update launcher script paths to use app directory
MathieuSabarthes Feb 9, 2026
db98e85
chore: Add documentation files and Docker setup for MkDocs and PlantUML
MathieuSabarthes Feb 12, 2026
b1fb741
docs: Add documentation
MathieuSabarthes Feb 20, 2026
4e4fa3d
chore: Update .gitignore to exclude docs/site directory
MathieuSabarthes Feb 20, 2026
2592ad3
docs: Update README files for improved structure and clarity
MathieuSabarthes Feb 20, 2026
ef6594b
docs: Update REUSE.toml to include documentation file annotations
MathieuSabarthes Feb 20, 2026
15b24a2
Merge branch 'origin/main' into chore/documentation
MathieuSabarthes Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
src/main/resources/TIC2WebSocket.properties
target/
var/
docs/site/
102 changes: 6 additions & 96 deletions README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,111 +16,21 @@

## Sommaire

* [Introduction](#introduction)
* [Installation](#installation)
* [Exemple d'utilisation](#usage_example)
* [Documentation](#documentation)
* [Contribuer](#contrib)
* [Support](#support)
* [Contributeurs](#contributors)
- [TIC2WebSocket](#tic2websocket)
- [Sommaire](#sommaire)
- [ Introduction](#-introduction)
- [ Documentation](#-documentation)
- [ Contributeurs](#-contributeurs)

## <a name="introduction"></a> Introduction

L'application **TIC2WebSocket** est utilisée comme interface générique pour accéder aux données TIC (Télé Information Client).

TIC2WebSocket fournit une API basée sur WebSocket pour gérer les données TIC, permettant une communication en temps réel et un échange de données pour les informations de télémétrie client.

## <a name="installation"></a> Installation

### Prérequis

Pour générer/installer l'application, vous avez besoin des prérequis suivants :

- [Java](https://www.java.com/download/)
- [Maven](https://maven.apache.org/download.cgi)

### Installation

Pour installer l'application **TIC2WebSocket**, suivez ces étapes :

#### Générer les fichiers cible
Lorsque vous êtes à la racine du projet, tapez simplement la commande suivante :

```bash
mvn clean package
```

En conséquence, le répertoire *target* est créé, contenant le fichier .zip de sortie.

#### Extraire le fichier .zip
Décompressez le fichier .zip dans le dossier de votre choix.

🐧 **Linux**

Extraire le zip
```bash
unzip target/TIC2WebSocket-VERSION-bin -d /chemin/vers/votre/dossier
```

💻 **Windows**

Extrayez `target/TIC2WebSocket-VERSION-bin` dans le dossier de votre choix.

### Démarrage de l'Application

Pour démarrer l'application **TIC2WebSocket**, exécutez le script de lancement :

🐧 **Linux**

Extraire le zip
```bash
cd /chemin/vers/votre/dossier
./TIC2WebSocket.sh
```

💻 **Windows**

Exécutez `TIC2WebSocket.bat`

### Aide

Ajoutez l'option `--help` pour obtenir des informations de base sur l'utilisation du lanceur.
```bash
./TIC2WebSocket.sh --help
```

## <a name="documentation"></a> Documentation

### Page HTML de test WebSocket

Une page HTML autonome est disponible pour tester rapidement l’API WebSocket :

- Fichier : [docs/ws-tester.html](docs/ws-tester.html)
- URL par défaut : `ws://localhost:19584/`

Fonctionnement :

- Ouvrez la page dans un navigateur (optionnel : servez le dossier `docs/` via un serveur HTTP statique).
- Renseignez l’URL WebSocket (ou host/port), puis cliquez sur `Connect`.
- Choisissez une requête prédéfinie (`GetModemsInfo`, `GetAvailableTICs`, `ReadTIC`, `SubscribeTIC`, `UnsubscribeTIC`) puis cliquez sur `Send`.
- Les filtres d’identifiant (SerialNumber / PortId / PortName) permettent de cibler un TIC.
- Les messages entrants s’affichent dans Logs ; les messages de type `EVENT` sont regroupés par `(nom d’événement + identifiant)`.

## <a name="contrib"></a> Contribuer ?

![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)

Vous n'avez pas besoin d'être développeur pour contribuer, ni de faire beaucoup, vous pouvez simplement :
* Améliorer la documentation,
* Corriger une faute d'orthographe,
* [Signaler un bug](https://github.com/Enedis-OSS/TIC2WebSocket/issues/new/choose)
* [Demander une fonctionnalité](https://github.com/Enedis-OSS/TIC2WebSocket/issues/new/choose)
* [Nous donner des conseils ou des idées](https://github.com/Enedis-OSS/TIC2WebSocket/issues/new/choose),
* etc.

Pour vous aider à démarrer, nous vous invitons à lire [Contributing](CONTRIBUTING.md), qui vous donne les règles et conventions de code à respecter

Pour contribuer à cette documentation (README, CONTRIBUTING, etc.), nous nous conformons à la [CommonMark Spec](https://spec.commonmark.org/)
Pour plus d'informations sur le fonctionnement de TIC2WebSocket, consultez la [documentation officielle](https://enedis-oss.github.io/tic2websocket/).

## <a name="contributors"></a> Contributeurs

Expand Down
106 changes: 9 additions & 97 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,124 +8,36 @@
-->

# TIC2WebSocket
*Tele Information Client (TIC) WebSocket Interface*
*WebSocket interface for TIC (Tele Information Client) data*

[![REUSE status](https://api.reuse.software/badge/git.fsfe.org/reuse/api)](https://api.reuse.software/info/git.fsfe.org/reuse/api)

[🇫🇷 Français](README.fr.md) | [🇺🇸 English](README.md)

## Summary

* [Introduction](#introduction)
* [Installation](#installation)
* [Usage Example](#usage_example)
* [Documentation](#documentation)
* [Contributing](#contrib)
* [Support](#support)
* [Contributors](#contributors)
- [TIC2WebSocket](#tic2websocket)
- [Summary](#summary)
- [ Introduction](#-introduction)
- [ Documentation](#-documentation)
- [ Contributors](#-contributors)

## <a name="introduction"></a> Introduction

The **TIC2WebSocket** application is used as a generic interface for accessing the Tele Information Client (TIC).

TIC2WebSocket provides a WebSocket-based API for managing and interfacing with TIC data, enabling real-time communication and data exchange for client telemetry information.

## <a name="installation"></a> Installation

### Prerequisites

To generate/install the application, you need the following prerequisites:

- [Java](https://www.java.com/download/)
- [Maven](https://maven.apache.org/download.cgi)

### Installation

To install the **TIC2WebSocket** application, follow these steps:

#### Generate target files
When you are at the project root, simply type the following command:

```bash
mvn clean package
```

As a result, the *target* directory is created, containing the output .zip file.

#### Extract .zip file
Unzip the .zip file into the folder of your choice.

🐧 **Linux**

Extract zip
```bash
unzip target/TIC2WebSocket-VERSION-bin -d /path/to/your/folder
```

💻 **Windows**

Extract `target/TIC2WebSocket-VERSION-bin` in the folder of your choice.

### Starting the Application

To start the **TIC2WebSocket** application, execute the launch script:

🐧 **Linux**

Extract zip
```bash
cd /path/to/your/folder
./TIC2WebSocket.sh
```

💻 **Windows**

Run `TIC2WebSocket.bat`

### Help

Add `--help` option to get basic information on how to use the launcher.
```bash
./TIC2WebSocket.sh --help
```

## <a name="documentation"></a> Documentation

### WebSocket tester (HTML)

A small, self-contained HTML page is available to quickly test the WebSocket API:

- File: [docs/ws-tester.html](docs/ws-tester.html)
- Default URL: `ws://localhost:19584/`

How it works:

- Open the page in a browser (optionally serve the `docs/` folder with any static server).
- Set the WebSocket URL (or host/port), click `Connect`.
- Pick a request preset (`GetModemsInfo`, `GetAvailableTICs`, `ReadTIC`, `SubscribeTIC`, `UnsubscribeTIC`) and click `Send`.
- Optional identifier filters (SerialNumber / PortId / PortName) help target a specific TIC.
- Incoming messages are displayed in the Logs panel; `EVENT` messages are grouped by `(event name + identifier)` for readability.

## <a name="contrib"></a> Contributing ?

![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)

You don't need to be a developer to contribute, nor do much, you can simply:
* Enhance documentation,
* Correct a spelling,
* [Report a bug](https://github.com/Enedis-OSS/TIC2WebSocket/issues/new/choose)
* [Ask a feature](https://github.com/Enedis-OSS/TIC2WebSocket/issues/new/choose)
* [Give us advices or ideas](https://github.com/Enedis-OSS/TIC2WebSocket/issues/new/choose),
* etc.

To help you start, we invite you to read [Contributing](CONTRIBUTING.md), which gives you rules and code conventions to respect
For more information about TIC2WebSocket, see the official documentation:

To contribute to this documentation (README, CONTRIBUTING, etc.), we conform to the [CommonMark Spec](https://spec.commonmark.org/)
- https://enedis-oss.github.io/tic2websocket/

## <a name="contributors"></a> Contributors

Core contributors :
* **Jehan BOUSCH** (<jehan-externe.bousch@enedis.fr>)
* **Mathieu SABARTHES** (<matthieu-externe.sabarthes@enedis.fr>)

We strive to provide a benevolent environment and support any [contribution](#contrib).
We strive to provide a benevolent environment and support any contribution.
8 changes: 8 additions & 0 deletions REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,12 @@ path = [
"**/*.svg"
]
SPDX-FileCopyrightText = "2025 Enedis Smarties team <dt-dsi-nexus-lab-smarties@enedis.fr>"
SPDX-License-Identifier = "Apache-2.0"

# Documentation files are covered via REUSE annotations (no per-file header)
[[annotations]]
path = [
"docs/**"
]
SPDX-FileCopyrightText = "2025 Enedis Smarties team <dt-dsi-nexus-lab-smarties@enedis.fr>"
SPDX-License-Identifier = "Apache-2.0"
4 changes: 4 additions & 0 deletions docs/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM squidfunk/mkdocs-material

COPY requirements.txt .
RUN pip install -r requirements.txt
10 changes: 10 additions & 0 deletions docs/README.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[🇫🇷 Français](README.md) | [🇺🇸 English](README.en.md)

# Developer setup

From the project `docs` folder:

- Start (PlantUML server + MkDocs server): `docker-compose up --build`
- Stop: `docker-compose down`

Then visit: http://localhost:8000/tic2websocket/ (the `/` root redirects to this path)
10 changes: 10 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[🇫🇷 Français](README.md) | [🇺🇸 English](README.en.md)

# Configuration pour les développeurs

Depuis le dossier `docs` à la racine du projet :

- Démarrer (serveur PlantUML + serveur MkDocs) : `docker-compose up --build` (ou `docker compose up --build`)
- Arrêter : `docker-compose down`

Puis visiter : http://localhost:8000/tic2websocket/ (la racine `/` redirige vers ce chemin)
16 changes: 16 additions & 0 deletions docs/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
services:
plantuml:
image: plantuml/plantuml-server:tomcat
ports:
- "8080:8080"

mkdocs:
build: .
working_dir: /docs
volumes:
- ./:/docs
ports:
- "8000:8000"
command: serve --config-file mkdocs.yml --dev-addr 0.0.0.0:8000
depends_on:
- plantuml
Loading