{"id":25580290,"url":"https://github.com/acehomard/ft_irc","last_synced_at":"2026-03-30T21:30:16.196Z","repository":{"id":278020562,"uuid":"934259934","full_name":"AceHomard/ft_irc","owner":"AceHomard","description":"Serveur IRC en C++98 ⚡ | Gestion des connexions non bloquantes avec epoll() 🖧 | Support des commandes IRC essentielles 💬 | Bonus : Transfert de fichiers 📁 \u0026 Bot 🤖","archived":false,"fork":false,"pushed_at":"2025-02-17T14:49:38.000Z","size":551,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T15:37:39.534Z","etag":null,"topics":["cpp","irc-server"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AceHomard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-17T14:36:51.000Z","updated_at":"2025-02-17T14:51:25.000Z","dependencies_parsed_at":"2025-02-17T15:37:44.066Z","dependency_job_id":"5f03e28c-abf7-436c-a64c-f29ef74facd7","html_url":"https://github.com/AceHomard/ft_irc","commit_stats":null,"previous_names":["acehomard/ft_irc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceHomard%2Fft_irc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceHomard%2Fft_irc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceHomard%2Fft_irc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceHomard%2Fft_irc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AceHomard","download_url":"https://codeload.github.com/AceHomard/ft_irc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239952637,"owners_count":19723924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","irc-server"],"created_at":"2025-02-21T04:15:24.081Z","updated_at":"2026-03-30T21:30:16.117Z","avatar_url":"https://github.com/AceHomard.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛰️ ft_irc - Internet Relay Chat\n\n## 📌 Description\n`ft_irc` est un serveur **IRC** écrit en **C++98** permettant aux clients de communiquer via le protocole IRC en **TCP/IP**.  \nIl respecte les standards et offre les fonctionnalités essentielles pour créer et gérer des salons de discussion en temps réel.\n\n## 🚀 Fonctionnalités principales\n- 📡 **Connexion multi-utilisateurs** en simultané (sans blocage)\n- 🔐 **Authentification** avec mot de passe\n- 🎭 **Gestion des utilisateurs** (nicknames, usernames)\n- 💬 **Salons de discussion** (join, message public \u0026 privé)\n- 🔧 **Commandes opérateurs** (`KICK`, `INVITE`, `TOPIC`, `MODE`)\n- 🌍 **Support IPv4 / IPv6**\n- 🛠️ **Poll() unique** pour gérer les entrées/sorties\n\n## 🛠️ Installation \u0026 Lancement\n1. **Cloner le repo**  \n   ```sh\n   git clone https://github.com/FastaLaPasta/ft_irc.git\n   cd ft_irc\n    ```\n2. **Compiler avec Makefile**  \n   ```sh\n    make\n    ```\n3. **Lancer le serveur**  \n   ```sh\n   ./ircserv \u003cport\u003e \u003cpassword\u003e\n    ```\n4. **Se connecter avec un client IRC**  \n   ```sh\n   /connect localhost \u003cport\u003e \u003cpassword\u003e\n    ```\n\n## 📜 Commandes IRC supportées\n| 📝 Commande  | 🔍 Description |\n|-------------|--------------|\n| `/nick`     | Changer son pseudo |\n| `/user`     | Définir son username |\n| `/join`     | Rejoindre un channel |\n| `/msg`      | Envoyer un message privé |\n| `/kick`     | Expulser un utilisateur |\n| `/invite`   | Inviter un utilisateur |\n| `/topic`    | Changer ou afficher le sujet d'un channel |\n| `/mode`     | Gérer les permissions des channels |\n\n---\n\n## 🎯 Objectifs du projet\n✅ Implémenter un **serveur IRC minimaliste** **sans client**  \n✅ **Respecter la norme C++98**  \n✅ Utiliser **epoll()** pour gérer les connexions de manière **non bloquante**  \n\n---\n\n## 🏆 Bonus effectués\n- 📁 **Transfert de fichiers entre utilisateurs**  \n- 🤖 **Ajout d'un bot IRC interactif**  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facehomard%2Fft_irc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facehomard%2Fft_irc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facehomard%2Fft_irc/lists"}