ソース情報
- リポジトリ
- JohnNuwan/EVA_CORE
- ソースの最終更新活動
- 2026年7月18日 08:30
- 検出された SKILL.md の言語
- フランス語
- スター
- 0
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/JohnNuwan/EVA_CORE --skill elixir-programmingコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
Concevoir et maintenir un watchdog auto-correcteur pour services HTTP — checks de santé, auto-restart, état persistant, rapports et pièges bash.
Serveur de messagerie sécurisé auto-hébergé (Signal-like) avec Flask + WebSocket + AES-256-GCM + pont EVA
ADAM-SENTINEL — Veilleur technologique 24h/24h. Scanne 10 domaines, cree des rapports, met a jour les skills, alerte sur les CVE et breaking changes.
SOC 職業分類に基づく
SKILL.md を表示中
| name | elixir-programming |
| description | Programmer en Elixir, utiliser OTP et les outils Mix. |
| version | 1.0.0 |
| author | EVA |
| license | Privée EVA St-Étienne |
| platforms | ["linux","macos","windows"] |
| metadata | {"tags":["elixir","otp","mix","nerves","functional-programming","iot","industrial-protocols"],"related_skills":["siemens-scl-generation","rockwell-l5x-generation"]} |
Cette compétence régit l'écriture de code Elixir, la conception d'architectures concurrentes et tolérantes aux pannes avec OTP, et l'intégration d'applications industrielles embarquées via le framework Nerves.
Activez cette compétence lorsque l'utilisateur demande :
Elixir est un langage fonctionnel dynamique conçu pour créer des applications scalables et maintenables.
=) : L'opérateur = n'est pas une simple affectation, mais une assertion d'égalité de motifs.
{status, result} = {:ok, "Donnée capteur"}
|>) : Enchaîne les appels de fonctions en passant le résultat de la fonction précédente comme premier argument de la suivante.
capteur_id
|> lire_mesure()
|> filtrer_bruit()
|> normaliser_echelle()
Mix est l'outil d'automatisation de build d'Elixir. Il gère la création de projets, la compilation, les tests et la gestion des dépendances.
mix new mon_app --sup
Le drapeau --sup configure automatiquement un arbre de supervision de base.iex -S mix
Permet d'exécuter l'application interactivement et de recharger les modules à la volée avec recompile().mix test
mix.exs sous la fonction deps/0, et récupérées avec :
mix deps.get
L'atout majeur d'Elixir réside dans son modèle d'acteurs de processus légers (indépendants des threads de l'OS) managés par la machine virtuelle BEAM.
Composant standard pour encapsuler l'état d'un processus et gérer des requêtes synchrones (call) ou asynchrones (cast).
defmodule EVA.TelemetryWorker do
use GenServer
# API Client
def start_link(opts) do
GenServer.start_link(__MODULE__, opts, name: __MODULE__)
end
def get_last_measure() do
GenServer.call(__MODULE__, :get_last)
end
# Rappels (Callbacks) Server
@impl true
def init(_opts) do
# Initialise l'état du capteur
{:ok, %{last_value: 0.0}}
end
@impl true
def handle_call(:get_last, _from, state) do
{:reply, state.last_value, state}
end
end
Les superviseurs surveillent d'autres processus (leurs enfants) et les redémarrent automatiquement en cas de crash suivant des stratégies précises (one_for_one, one_for_all, rest_for_one).
defmodule EVA.Supervisor do
use Supervisor
def start_link(opts) do
Supervisor.start_link(__MODULE__, opts, name: __MODULE__)
end
@impl true
def init(_opts) do
children = [
{EVA.TelemetryWorker, []}
]
Supervisor.init(children, strategy: :one_for_one)
end
end
Nerves permet de compiler du code Elixir directement en une image système minimale (firmware) démarrant instantanément sur du matériel embarqué (Raspberry Pi, BeagleBone, PC industriels).
export MIX_TARGET=rpi4
mix deps.get
mix firmware
mix firmware.burn
Elixir excelle dans le décodage binaire grâce au pattern matching sur les binaires.
# Exemple de parsing d'une trame Modbus/TCP en Elixir
def parse_modbus_response(<<transaction_id::16, protocol_id::16, length::16, unit_id::8, function_code::8, data::binary>>) do
%{
transaction_id: transaction_id,
unit_id: unit_id,
function: function_code,
payload: data
}
end
with plutôt que de multiples blocs if ou case imbriqués.Poolboy).@spec et utilisez Dialyxir pour valider la correction statique des types lors des analyses CI.