Hedi Bannour

Hedi Bannour · AIプロダクトエンジニア、起業家

AI プロダクトをつくっています。 このサイトもそのひとつです。

右側のロボットは Player 2 です。あなたがこのページを開いた瞬間から卓球を学びはじめ、私についての質問にも答えます。対戦するか、質問してみてください。下のロボットは Player 2 です。あなたがこのページを開いた瞬間から卓球を学びはじめ、私についての質問にも答えます。対戦するか、質問してみてください。

  • 現在Epitech(フランス)でソフトウェア工学を専攻、2028年卒業予定。SN Perfect でインターン中。
  • 次Cal State San Marcos(カリフォルニア):2027年1月18日〜8月13日
  • 目標AI でものづくりをする創業者やエンジニアリングチームと出会うこと
Player 2 に聞く

私の AI、Player 2 と対戦

オートパイロット 0 : 0 Player 2

台の上でマウスを動かしてプレイ

Player 2 の年齢:00:00 スキル: 生まれたて

Player 2 はあなたがこのページを開いたときに生まれました。誰もゲームを教えていません。ひとりで練習して学んでいて、これまでに打った球は 0 球。最初はひどく下手です。20秒待ってあげてください。先に3点取ったほうの勝ちです。

Player 2 は重み57個のニューラルネットワークです。入力5、tanh ユニット8、パドル速度を出す出力1。ブラウザ上でクロスエントロピー法により学習します。1世代あたり16候補、上位4つが次の世代を決めます。データセットもサーバーも使いません。

世代
0
連続リターン
0.0 / 20
練習した球数
0

「動きを減らす」設定がオンなので、ゲームは自動では始まりません。画面をクリックまたはタップすると始まります。

3立ち上げた会社起業ログ55そのうち1社のために現地調査した診療所Tabeebi5インターン(うち2つは AI 分野)職歴33プロジェクト(うち 14 件はこのページでプレイ可能)プロジェクト

Player 2 に私のことを聞く

このサイトのファクトカードだけをもとに答え、どのカードを使ったかを示します。出典がなければ、答えません。

現在のモード:カード検索(言語モデルなし)。

こんにちは。Hedi が何を創業したか、どこで働いたか、何をつくったか、いつカリフォルニアにいるかは知っています。それ以外は推測しません。

起業ログ

これまでに立ち上げた会社と、その現状です。2社は停止し、1社は私が離れました。

  1. 2026年8月〜10月離脱

    Nearchon

    共同創業者・CTO

    AP Physics C: Mechanics 向けの AI 学習システム。最終的な答えだけを確認するのではなく、生徒の考え方を一歩ずつ追いかけます。

    • プロダクトとアーキテクチャ
    • 言語モデルを取り巻くシステム:コンテキスト、ツール、評価
    • 顧客開拓、チューター探し、生徒との初期テスト

    離れた理由 チームを共同で立ち上げ、AI チューターの最初のバージョンの開発とテストを手伝ったあとで離れました。チームは今も活動していますが、プロダクトが現在どうなっているかは知りません。

  2. 2026年4月〜8月停止

    Tabeebi

    創業者

    チュニジアの開業医向けのクリニック管理ソフトウェア。

    • 55の診療所を現地調査
    • プロダクトをほぼ完成まで開発:Next.js、Supabase、バックグラウンドジョブ、Claude API

    停止した理由 作業のほとんどを私ひとりが担っていました。多くの時間とお金をかけても役割分担は変わらず、販売に踏み出す前にやめると決めました。

  3. 2025年11月〜2026年4月停止

    Émile

    創業者

    短期賃貸の代理店向けの価格設定エンジン、CRM、運用ダッシュボード。

    • 最初から最後まで開発してデプロイ:FastAPI、Supabase
    • アイデアを検証するため、多数の短期賃貸代理店に電話

    停止した理由 電話した代理店はどこも先に進もうとせず、インターンが始まると続ける時間もなくなりました。その次が Tabeebi です。

  4. 2024〜2025

    それ以前の試み

    自分で構築・運営した Shopify のネットショップ:商品ページ、決済、集客キャンペーン。そして、電話の相手を見極めて反論にも対応する音声エージェント。Rasa、音声認識、音声合成でつくりました。

コンティニュー?93回ゲームオーバー。そのたびにコンティニューを押しました。

職歴

5つのインターンとフリーランスの仕事。公開している LinkedIn プロフィールと同じ内容です。

  1. 2026年9月〜現在

    SN Perfect

    ソフトウェアエンジニアリング インターン

    複数拠点をもつ清掃会社である勤務先の社内 ERP を開発しています。スタッフと契約、顧客の現場、現場監督向けのモバイル画面、月次締め。Frappe、ERPNext、Frappe HR をベースにしています。次は AI 機能です。

    FrappeERPNextPython

  2. 2026年4月〜8月

    Meosis

    ソフトウェアエンジニアリング インターン · フランス、Horbourg-Wihr

    見込み客との打ち合わせで使う、AI でウェブサイトのモックアップを生成するツールをつくり、顧客のブリーフから WordPress サイトまでを AI で支援する流れを整えました。ほかに、PHP 製の自社 CRM・ERP の修正、WordPress マルチサイト、サーバー移行も担当しました。

    LLM promptingFigma MakeWordPressPHP

  3. 2025年9月〜2026年1月

    DataScale AI

    AI エンジニアリング インターン · スタートアップ、3人チーム

    ネットショップでの買い物客の行動(ページ、クリック、カート)のリアルタイム追跡、購買意欲を熱い〜冷たいで示すスコア、顧客のカタログを構造化するスクレイパー、そして訪問者に合わせて応答を変えるチャットボット。

    PythonLangFlowDocker

  4. 2024年9月〜12月

    Infolog

    .NET 開発 インターン

    医療用ドレッシング材メーカー向けの、.NET Core と C# による産業用 CRM。受け入れから品質管理までの生産ラインのデータモデルとビジネスロジック。

    .NET CoreC#Entity Framework

  5. 2024年7月〜9月

    SN Perfect

    社内ツール インターン · パリ

    画像からデータを取り出して Excel に書き出すツールと、フォームの自動入力。手入力をなくすためのものです。

  6. 2023〜現在

    フリーランス

    フリーランス開発者

    個人や小規模事業者向けの WordPress サイトとウェブツール:機能開発、連携、自動化。

プロジェクト

学校の外でつくったプロダクトがひとつ。そして Epitech:つくりながら学ぶ、5年制のフランスのエンジニアスクールです。33のプロジェクトを選びました。うち 14 件はここでプレイできます。

プロダクト · 学外で開発

ZooPass

ミュルーズ動物園のスマホ向けガイド。見学プランを立てて地図にルートを描き、チャットボットが質問に答えます。どの回答にも出典が表示されます。

React と TypeScript による PWA で、Cloudflare Pages 上で動きます。チャットボットは RAG パイプラインです。Astra DB でのベクトル検索とキーワード検索、類似度のしきい値 0.70、すべての回答に出典を付けて返します。

TypeScript2人チーム2025–26

このサイトの Player 2 の回答も、同じ考え方にもとづいています。

私がつくったもの

  • プロジェクトを立ち上げて公開
  • チャットボットの頭脳:どう探し、どう答えるか
  • チャットボットのページを作り直し
  • プロジェクトを作成し、Cloudflare Pages にデプロイ
  • チャット関数と RAG の大部分:Astra DB、類似度のしきい値、システムプロンプト
  • API でのコンテキストアクションとクイック提案、AI ページの作り直し

ミニガイドを試す架空のマップです。実際の動物園の地図ではありません。

距離–徒歩–通行止めの道0

道のグラフ上で Dijkstra · 単語の一致度が 0.50 に達したときだけ回答

ガイドに聞く手持ちのカードだけをもとに答え、どのカードかを示します。

    ガイドのカード
    • 言語ZooPass はフランス語、英語、ドイツ語、スペイン語の4言語に対応しています。
    • 見学プランZooPass は、あなたのプロフィールと滞在できる時間から見学プランを提案します。
    • 地図上のルート地図は園内の道に沿ってルートを描き、いちばん短いものを選びます。
    • イベントその日のイベントを一覧にしたページがあります。
    • 出典チャットボットの回答には、もとになった資料がかならず添えられます。
    • このデモ用マップこのページのマップは架空のものです。入口とゾーン A から F まで。実際の動物園の地図ではありません。

    遊び方

    1. マップかリストで出発地と目的地を選ぶと、最短ルートが描かれます。
    2. 道をタップすると通行止めになり、ルートはそこを迂回します。
    3. ガイドに質問してください。一致度がしきい値に届かないときは「わかりません」と答えます。

    架空のマップでブラウザ上に再現したものです。ZooPass では、地図とルートプランナーはチームメイトがつくり、私の担当はチャットボットでした。公式資料を検索し、類似度 0.70 以上の箇所だけを残します。このボックスは、6枚のカードと単語を比べるだけです。

    学校の課題 · プレイ可能

    R-Type

    5人チームでつくった、複数人で遊べる宇宙シューティング。私はレベルエディターをつくりました。敵がどこに出現するかを決めるツールです。

    アーケードのシューティングゲームを C++20 でネットワーク対応にリメイク。5人チーム。独自の ECS エンジン、ゲーム状態の決定権をもつサーバー、バイナリの UDP プロトコル。

    C++5人チームEpitech, 2025–26

    あなた0Player 20ウェーブ01

    レベルエディターここに敵を描いてください。上の画面に右から左へ飛んできます。

    wave.json敵 0 体、簡略化した形式

    遊び方

    1. 画面の上でカーソルを動かして、白い機体を操縦します。
    2. オレンジの Player 2 が援護します。
    3. グリッドに敵を描くと、その形で敵がやってきます。

    私がつくったもの

    • レベルエディターと、そのレベルをゲームで読み込む仕組み
    • チームがコードを変更するたびに走る自動チェック
    • プレイヤーとサーバーのやりとりを説明する文書
    • Python によるマップエディター(JSON 書き出し対応)
    • ゲーム側とサーバー側での JSON レベルの読み込み
    • GitHub Actions の CI パイプライン
    • プロトコルとエディターのドキュメント、サーバー側のスピードブースト

    このグリッドは、私が書いたエディターのブラウザ版です。本物はデスクトップツールです。

    学校の課題 · プレイ可能

    Arcade

    ソフトウェアでつくったゲーム機。同じゲームの見た目を、プレイ中に切り替えられます。私はスネークゲームとその3つの見た目を書きました。

    C++17 によるレトロゲームプラットフォーム。ゲームとグラフィックのバックエンドは共有ライブラリで、プログラムの実行中に dlopen で読み込まれます。

    C++2人チームEpitech, 2024–25

    描画 SFML
    リンゴ0ベスト0

    遊び方

    1. 見た目をクリック:なめらか、ピクセル、テキスト。ゲームは止まりません。
    2. Player 2 がプレイ中。矢印キーを押すと交代できます。
    3. スマホでは画面をスワイプします。

    私がつくったもの

    • スネークゲーム
    • 3つの見た目の最初のバージョン
    • 画像素材と、ほかの開発者向けのガイド
    • スネーク:キーボード操作、端がつながるフィールド、スコア
    • 3つのレンダラーすべての最初のバージョン:SFML、SDL2、ncurses
    • SFML と SDL2 用のスプライト、インターフェースのドキュメント

    点線は、Player 2 がリンゴまでに計画したルートです。ブラウザ用に描き直しました。ゲーム状態はひとつ、レンダラーは3つ。Player 2 は幅優先探索でルートを計画します。

    学校の課題 · プレイ可能

    Jetpack

    ネットワーク越しの2人用レース。私は審判を書きました。各プレイヤーの位置、誰がどのコインを取り、誰が何にぶつかったかを把握するサーバーです。

    マルチプレイヤーのランゲーム。C の TCP サーバーが poll() でゲームを進め、C++ のグラフィカルクライアントが表示します。

    C3人チームEpitech, 2024–25

    コイン0クリアしたレベル0

    審判がいま把握していること

    位置
    0, 0
    コイン
    0
    状態
    飛行中

    マップファイルe = 障害物、c = コイン

    サーバーログ100 ms ごとに1ティック

    遊び方

    1. 画面上でマウスボタンを押し続けるか、スペースキーを押し続けると上昇します。
    2. 離すと下降します。
    3. コインを取って、レーザーを避けましょう。

    私がつくったもの

    • サーバーと、プレイヤーとの接続
    • レベルファイルの読み込み
    • コイン、障害物、当たり判定
    • 勝ち負けの判定
    • サーバー:poll() による接続とプレイヤーの管理
    • ASCII マップの読み込みと 1920 × 1080 へのスケーリング
    • コイン、障害物、当たり判定、スクロール
    • 勝利と敗北の条件

    ゲームの下の枠に、審判の数値がリアルタイムで表示されます。ゲームの下のパネルはサーバー側の視点です。メッセージ名は本物で、値はここで計算しています。

    学校の課題 · プレイ可能

    Zappy

    ネットワークゲームです。AI プレイヤーたちが小さな丸い世界を歩き回り、食べ物を拾い、互いに話します。動きはすべて、ひとつのサーバーに送られるテキストコマンドです。

    poll() ループで動く C の TCP サーバー、C++ の AI クライアント、raylib による 3D クライアント。各クライアントは最大10個のコマンドをキューに持ち、それぞれ周波数(-f)で決まる遅延のあとに実行されます。

    C5人チームEpitech, 2024–25

    サーバー側クライアントごとにキューがひとつ、10枠。バーが満タンになると先頭のコマンドが実行されます。

    サーバー速度
    あなたの食べ物0Player 2 の食べ物0時間単位0

    サーバーログ← クライアントから · → クライアントへ · GUI = 3D 表示向けの行

    遊び方

    1. 矢印キーかボタンを押すと、コマンドが青いキューに入ります。
    2. 時間が来るとサーバーが実行します。金色の食べ物まで歩いて、取ってください。
    3. 一度に10個より多く送ると、サーバーは ko と返します。

    私がつくったもの

    • すべての AI プレイヤーと 3D 表示が接続するサーバー
    • プレイヤーごとのコマンド待ち行列と、そのタイミング
    • 前進と、ほかの全プレイヤーへのメッセージ送信
    • サーバーの構造体、ソケットと poll() ループ、クライアント接続とチーム確認、引数の解析
    • グラフィックプロトコルのコマンド:msz、tna、bct、mct、ppo、pnw
    • 各クライアントの遅延実行コマンドキュー:10枠、実行時間は周波数から計算
    • Forward、Broadcast、Connect_nbr、メモリリークの修正、3D クライアントのネットワーククラス

    ブラウザ向けに再現したものです。サーバーのルールを簡略化したコピーがこのページで動いています。本物のサーバーは、TCP でクライアントとやりとりする C のプログラムです。

    学校の課題 · プレイ可能

    Corewar

    チャンピオンと呼ばれる小さなプログラムふたつが、ひとつのメモリを共有して生き残りを競います。"live" と言わなくなったプログラムは脱落です。

    C で書いた仮想マシン。コンパイル済みのチャンピオン(.cor)を読み込み、共有の環状アリーナに配置し、命令をサイクルごとに実行します。命令ごとに遅延があり、定期的に live のチェックが入ります。

    C2人チームEpitech, 2023–24

    あなたのチャンピオン

    最初のプロセスが指している命令

    アドレス
    -
    バイト
    -

    -

    サイクル0生存チェック周期0プロセス0最後の live-

    あなたのプロセス周辺のメモリ

    遊び方

    1. チャンピオンを選んでください。もう一方は Player 2 が選びます。
    2. 両者が共有メモリに書き込むのを見てください。live と言わなくなったプログラムは取り除かれます。
    3. 一時停止してから「1ステップ」を押すと、次に実行される命令を読めます。

    私がつくったもの

    • 各チャンピオンをファイルから読み込み、共有メモリに配置する部分
    • バイトから命令を読み取り、遅延のあとに実行する部分
    • 誰が live と言ったかを記録して、まだ残っているプレイヤーを判定する部分
    • .cor チャンピオンの読み込みと、10進数・16進数の変換
    • アリーナの作成と、チャンピオンの配置
    • 命令のデコード、各 live の記録、and・or・xor・aff 命令
    • 命令ごとの遅延とエラー処理

    ブラウザ向けに再現したもので、命令セットを絞り、このページ用に書いたチャンピオンを3つ用意しました。本物のマシンは C で書かれ、コンパイル済みの .cor ファイルを実行します。

    学校の課題 · プレイ可能

    Whanos

    アプリを自動でビルドする仕組みです。コードをプッシュすると、言語を判別して Docker イメージをビルドし、すぐ動かせる状態で保存します。

    CI/CD 環境:新しいコミットのたびに Jenkins がリポジトリの言語を判別し、base または standalone の Dockerfile からイメージをビルドして、プライベートレジストリにプッシュします。Jenkins とレジストリのインストールは Ansible が行います。

    DockerJenkins2人チームEpitech, 2025–26

    イメージ0停止0

    あなたのリポジトリ言語を選ぶか、ファイルを自分でチェックしてください。

    リポジトリ内のファイル

    Jenkins ログ

    遊び方

    1. 言語のカードを選ぶか、リポジトリのファイルをチェックしてください。
    2. コミットをプッシュして、各ステップを Jenkins ログと一緒に見てください。
    3. 言語をふたつ同時に、言語ファイルなしで、または同じコミットを2回、試してみてください。

    私がつくったもの

    • 10個の Docker イメージ:5つの言語それぞれに base と standalone をひとつずつ
    • インタープリターをソースから自前でビルドする Befunge イメージ
    • イメージのビルド方法と使い方を説明するガイド
    • C、Java、JavaScript、Python、Befunge 向けの10個の Dockerfile(Dockerfile.base と Dockerfile.standalone)
    • マルチステージビルド:あるイメージでコンパイルし、より小さなイメージで実行。Befunge 向けに cmake で cfunge をビルド
    • docs/docker_image.md:ビルドコマンド、イメージごとのルール、リポジトリの構成

    ブラウザ上での再現で、実際には何もビルドされません。判別ルール、ビルド方法の選択、Dockerfile の手順はプロジェクトのものです。Kubernetes へのデプロイ手順は完成しなかったため、表示していません。

    学校の課題 · プレイ可能

    Raytracer

    光線をたどって 3D の絵を描くプログラムです。テキストファイルにシーンを書くと、それを読み込んで1ピクセルずつ画像を描きます。

    C++20 のレイトレーサー。libconfig++ のシーンファイル(カメラ、プリミティブ、ライト)を Scene に読み込み、各ピクセルが光線を飛ばして最も近い物体を見つけ、環境光と平行光源で照らします。出力は PPM 画像です。

    C++20libconfig++4人チームEpitech, 2024–25

    描画1/4光線0

    scene.cfg編集すると、絵も変わります。

    遊び方

    1. シーンファイルの数字を変えてください。絵が描き直されます。最初は粗く、だんだん鮮明に。
    2. わざとファイルを壊してみてください。エラーが行と問題点を示します。
    3. あなたが入力を始めるまで、Player 2 がライト、球、カメラを動かします。

    私がつくったもの

    • シーンファイルを読む部分:カメラ、球、平面、ライト
    • カメラ、図形、ライトをまとめて持つ Scene クラス
    • libconfig++ によるシーンの解析:カメラ(解像度、位置、回転、視野角)、球、平面、環境光と平行光源
    • Scene クラス:カメラ、プリミティブ、ライトをまとめるひとつのコンテナ
    • チームの PrimitiveBuilder を通じた図形の生成

    ブラウザ上で再現したものです。シーンの書式はプロジェクトのパーサーに従っています。追加のチェックと絵を描く小さなレンダラーはこのページ用に書いたもので、元にはなかった影もあります。

    学校の課題 · プレイ可能

    Minishell

    ターミナルで使うようなコマンドラインのシェルです。コマンドを入力すると、シェルがプログラムを見つけて実行し、結果を表示します。

    C で書いた tcsh 風のシェル。getline によるプロンプトループ、PATH から探して fork・execve・waitpid で実行するプログラム、ビルトイン、リダイレクト、dup2 によるパイプ。

    C個人Epitech, 2023–24

    Tab で補完 · ↑ ↓ で履歴 · Ctrl+L でクリア

    ビルトインcd · env · setenv · unsetenv · exit

    /bin のプログラムls · cat · echo · pwd · grep · wc · head · sort · clear

    遊び方

    1. ターミナルをクリックし、コマンドを入力して Enter を押します。
    2. > や >> で出力をファイルへ、| で別のコマンドへ送れます。
    3. cat << END と入力し、何行か書いてから END と打つと、シェルがそれを入力として読みます。

    私がつくったもの

    • プロンプトのループ:1行読み、実行し、またプロンプトを表示
    • PATH のフォルダからプログラムを探して実行する部分
    • ビルトインコマンド:cd、env、setenv、unsetenv、exit
    • 出力のファイルへの書き出し、<< のあとに入力したテキストの読み込み、あるコマンドの出力を次のコマンドへ渡す仕組み
    • getline で読むプロンプト "$> "、fork・execve・waitpid、プログラムがクラッシュしたときのメッセージ(Segmentation fault、Floating exception)
    • パス指定・引数なし(HOME)・cd - に対応した cd と PWD・OLDPWD の更新、名前チェックつきの setenv、unsetenv、env、exit
    • dup2 と pipe によるリダイレクト > と >>、<< ヒアドキュメント、; 区切り
    • ふたつのコマンドをつなぐパイプと、自作の printf ライブラリ

    ブラウザ向けに再現したものです。シェルのルールを小さくしたコピーが、仮のファイルシステムといくつかのプログラムとともにこのページで動いています。本物のシェルは、本物のプログラムを実行する C のプログラムです。

    学校の課題 · プレイ可能

    Wolfram

    セルが一列に並び、各セルは両隣のセルによって生きるか死ぬかが決まります。ルールと呼ばれる数字ひとつがすべてを決め、単純なルールが意外な模様を描きます。

    Haskell で書いた1次元セルオートマトン。コマンドラインオプション(--rule、--start、--lines、--window、--move)、ルールごとの次世代の計算、"*" による中央寄せ表示。

    Haskell個人Epitech, 2024–25

    ルール30

    ルールをセルごとに3つのセルの組み合わせごとに、下のセルが生きるかどうかが決まります。クリックすると反転します。

    試す

    ターミナルの出力(最初の数行)

    遊び方

    1. スライダーを動かすか、ルールを選んでください。30 はランダムに見え、90 は三角形を描き、110 は構造を育てます。
    2. 小さな四角をクリックすると、ルールの一部が反転します。
    3. 本物のプログラムと同じオプションで、コマンドを自分で入力することもできます。

    私がつくったもの

    • プログラム名のあとに入力したオプションを読み取り、誤ったものは拒否する部分
    • 上の行から、新しいセルの行を1行ずつ計算する部分
    • 星を使って、行をウィンドウの中央に表示する部分
    • 引数の解析:--rule(必須)、--start、--lines、--window(デフォルト80)、--move。不正な引数では終了コード 84
    • ルール 30、90、110 の次世代の計算
    • 表示ループと Stack プロジェクトの構成

    ブラウザ向けに再現したものです。元の Haskell プログラムが受け付けるのはルール 30、90、110 ですが、このページでは 0 から 255 までどのルールでも動きます。

    学校の課題 · プレイ可能

    myPaint

    2人でつくった小さなお絵かきソフトです。暗いボードに鉛筆で描き、色と太さを選び、消して、ヘルプを開き、絵を画像として保存できます。

    C と CSFML。ツールバーつきの 1920×1080 のウィンドウ。ボタンを押しているあいだ鉛筆は円を重ねて描き、消しゴムはボードの色で塗ります。ボードは画像ファイルに保存されます。

    CCSFML2人チームEpitech, 2023–24

    ストローク0

    遊び方

    1. ボードに描くと、Player 2 は場所をゆずります。
    2. ツールバーで色や太さを変えたり、消しゴムを使ったりできます。
    3. 「PNG で保存」で絵を残せます。

    私がつくったもの

    • ウィンドウとツールバーのボタン
    • 色と鉛筆の太さの選択、消しゴム
    • ヘルプ画面と、絵を画像として保存する機能
    • CSFML のウィンドウとツールバー:ボタンごとにスプライト1枚、クリック時の当たり判定
    • 8色、鉛筆の半径3種(5、18、35 px)、rgb(22, 22, 22) で塗る消しゴム
    • ヘルプのオーバーレイの表示・非表示、ウィンドウのボードを画像ファイルへコピー

    C 版をもとに TypeScript でブラウザ向けに再現したもので、色、太さ、消しゴムは同じです。ここでは鉛筆が円と円のすき間を埋め、ファイルは test.jpg ではなく日付つきの PNG になります。

    学校の課題 · プレイ可能

    Cryptography

    3つのアルゴリズムでテキストを暗号化・復号する C のコマンドラインツールで、3人でつくりました。私の担当:XOR、16進数の変換、アルゴリズムを選ぶエントリーポイント。

    C の my_pgp は標準入力を読みます。私が書いたのは、リトルエンディアンのバイト順によるブロックモードとストリームモードの XOR、16進数とバイトの相互変換、入力の読み取り、そして XOR・AES・RSA に振り分ける main です。

    C3人チームEpitech, 2025–26

    1バイトずつ:メッセージのバイト(ブロック内で逆順)XOR 鍵のバイト

      暗号文(16進数)

      —

      遊び方

      1. メッセージと鍵を入力してください。
      2. ブロックモードとストリームモードを切り替えて、各バイトの変化を見てください。
      3. 復号してみましょう。同じ鍵で XOR すると、元のメッセージに戻ります。

      私がつくったもの

      • ブロックモードとストリームモードの XOR 暗号化
      • テキストと16進数の相互変換
      • 各コマンドを適切なアルゴリズムへ送るエントリーポイント
      • xor_block と xor_stream:ブロックごとにバイトを逆順(リトルエンディアン)にしてから鍵と XOR
      • ストリームモードは最後のブロックをゼロで埋め、復号時に取り除く
      • hex_to_bytes と print_hex、動的な stdin の読み取り、xor・aes・rsa に振り分ける main

      C 版をもとにブラウザ向けに再現したもので、XOR だけです。短い鍵を繰り返す XOR は授業用の暗号で、本物の秘密は守れません。

      ハッカソン · プレイ可能

      Nuit de l'Info

      8人チームで挑んだハッカソンの一夜。海と人体をテーマにしたウェブゲームです。私はログイン画面のモールス信号入力をつくりました。わざと少し面倒にしてあります。

      Angular 19、スタンドアロンコンポーネント。ログインコンポーネントのモールス入力を書きました。キーを押した時刻と離した時刻から、短点・長点・文字区切りを判定し、モールス表でその場でデコードします。ルートの設定も担当しました。

      AngularTypeScript8人チーム2024–25

      おもちゃのログイン(何も送信・保存されません)

      名前(モールス信号で)

      キーを押して入力

      モールス表

      • A·–
      • B–···
      • C–·–·
      • D–··
      • E·
      • F··–·
      • G––·
      • H····
      • I··
      • J·–––
      • K–·–
      • L·–··
      • M––
      • N–·
      • O–––
      • P·––·
      • Q––·–
      • R·–·
      • S···
      • T–
      • U··–
      • V···–
      • W·––
      • X–··–
      • Y–·––
      • Z––··

      遊び方

      1. キーを押してください。短く押すと短点、長めに押すと長点です。
      2. 1秒以上押すと、その文字が確定します。
      3. 入力欄で名前を確認して、ログインしてください(おもちゃです)。

      私がつくったもの

      • ログイン画面のモールス信号入力
      • 短く押すと短点、長く押すと長点、とても長く押すと次の文字
      • 文字へのリアルタイム変換と、間違いを直す Backspace
      • スペースキーの keydown と keyup で押した長さを測定:200 ms 未満で短点、800 ms 未満で長点、1 s 以上で文字区切り
      • モールス表を逆引き用に反転し、押すたびに1文字ずつデコード
      • コンポーネントのテンプレートとスタイル、ルート(のちに provideRouter へ移行)

      Angular 版をもとに、同じタイミングでブラウザ向けに再現しました。「短点」「長点」「次の文字」ボタンはこのページだけの追加です。アカウントもパスワードもありません。

      全33プロジェクト

      それぞれの概要と、私が書いた部分。

        Hedi Bannour

        プロフィール

        道のりすべてが好きです。課題を見つけ、ものをつくり、人の手に届けるまで。

        ストラスブール大学で数学と情報科学を学んだあと、つくりながら学ぶために2023年に Epitech に入りました。それ以来、33のプロジェクト、5つのインターン、フリーランスの仕事、そして3社の立ち上げ。フランス語、アラビア語、英語を話します。

        コードを書く前 チュニスの Lycée Pierre Mendès France に通っていた高校時代、小さなネットショップを運営していました。Facebook で注文を受け、手渡しで届け、商品は注文に応じて人づてに仕入れました。2020年に理系のバカロレアを取得したあと、ストラスブール大学で数学と情報科学を学びはじめました。

        1. 2016–20チュニス、Lycée Pierre Mendès France と最初のネットショップ
        2. 2020–23ストラスブール大学、数学と情報科学
        3. 2023–Epitech、ソフトウェア工学、2028年卒業予定
        4. 2023–フリーランス開発者
        5. 2024–265つのインターン:SN Perfect、Infolog、DataScale AI、Meosis、再び SN Perfect
        6. 2025–26創業者:Émile、次に Tabeebi。Nearchon の共同創業者
        7. 2027Cal State San Marcos(カリフォルニア)に交換留学
        技術スタックTypeScript、Python、C、C++、C#、Haskell、SQL。Next.js と React、FastAPI、Supabase と PostgreSQL、Cloudflare、Docker、GitHub Actions。
        AIモデルを取り巻くシステム:出典つきの検索(RAG)、エージェントとツール、コンテキスト管理、評価。
        セキュリティEpitech でセキュリティ科目を6つ履修。うち2つは個人で取り組んだセキュリティプロジェクト(CTF と TryHackMe のルーム)。HackTheBox Season 9:Silver ティア、3台のマシンを完全攻略。

        話しましょう。

        2027年1月18日から8月13日まで、サンディエゴの北にある Cal State San Marcos にいます。あなたが何をつくっているか、教えてください。

        60秒でわかる版

        Hedi Bannour

        AI プロダクトエンジニア、起業家。AI プロダクトをアイデアから動くシステムまで仕上げます。インターフェース、バックエンド、そして言語モデルを取り巻くすべて。

        起業

        職歴

        プロジェクト

        技術スタック

        TypeScript、Python、C、C++、C#、Haskell、SQL。Next.js と React、FastAPI、Supabase と PostgreSQL、Cloudflare、Docker、GitHub Actions。RAG、エージェントとツール、評価。フランス語、アラビア語、英語。

        LinkedIn でメッセージを送る
        Player 2