• Accueil
  • Espace auteur
    • Biographie
    • Mes livres
      • Au-Delà du Triangle
  • Vintage Computers
    • Commodore 64
      • Les accessoires
      • Les bases
      • Les jeux
      • Téléchargements
  • Karotz
    • Guides pratiques et documentations
    • Dans les entrailles du lapin
    • Outils et utilitaires
  • Crocs
    • Ma collection
  • Contact
  • Qui suis-je
  • Actus
Buy Me COFFEE or CROCS

Karotz vous souhaîte une bonne année

Détails
Publié le : 1 Janvier 2026
  • karotz

2026 : Le Karotz est toujours là !

Quatorze ans après l'arrêt des serveurs officiels, notre lapin connecté préféré refuse de rendre les oreilles.

Pendant que d'autres objets connectés finissent à la déchetterie dès que leur fabricant ferme boutique, le Karotz continue de vivre sa meilleure vie grâce à une communauté de passionnés qui n'a jamais baissé les bras.

Pour fêter cette nouvelle année, mon Karotz Sylar a tenu à vous adresser ses vœux... à sa manière.

Réveil difficile, souvenirs flous du réveillon et bonnes résolutions qu'il ne tiendra probablement pas : tout y est, même le taichi !

Preuve que même en 2026, avec un peu de bidouille et beaucoup d'amour, ces petits lapins ont encore des choses à dire !

Bonne année à tous les Karotz et à leurs propriétaires ! 🐰

Je vous invite à visionner la vidéo sur Youtube :

.

 

 

 

Les services réseau

Détails
Publié le : 31 Décembre 2025
  • karotz
  • busybox
  • réseau
  • ftp
  • telnet

Après avoir exploré le cœur du système et les outils disponibles, il est temps de s'intéresser à ce qui fait du Karotz un objet véritablement connecté : Ses services réseau.

Comment accéder au lapin à distance ?

Quels ports sont ouverts ?

Quels serveurs tournent en arrière-plan ?

Et surtout, qu'est-ce que tout cela implique en termes de sécurité sur votre réseau local ?

 

Découverte des ports ouverts

Une fois connecté en telnet, la commande netstat révèle les ports en écoute :

netstat -tlnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      1309/mpd
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1242/inetd
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1242/inetd
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      1242/inetd
netstat: /proc/net/tcp6: No such file or directory

Quatre ports ouverts :

Port Service Géré par Description
21 FTP inetd Transfert de fichiers
23 Telnet inetd Shell à distance
80 HTTP inetd Interface web
6600 MPD mpd Lecteur musical (clef USB)
 
Note : Le message netstat: /proc/net/tcp6: No such file or directory indique simplement que le noyau n'inclut pas le support IPv6 — rien d'anormal pour un système embarqué de cette époque.
 

Les outils réseau disponibles

La commande busybox --list révèle les outils réseau intégrés :

busybox --list | grep -E "^(ping|wget|nc|telnet|ftp|nslookup|traceroute|ifconfig|netstat|arp|route)$"

arp
ifconfig
nc
netstat
nslookup
ping
route
telnet
traceroute
wget

En plus de BusyBox, le Karotz dispose également de binaires compilés séparément dans /usr/bin/ :

Outil Description Version
curl client HTTP/HTTPS avec support SSL curl --version
curl 7.21.2 (arm-unknown-linux-gnu) libcurl/7.21.2 OpenSSL/1.0.0b zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: Largefile NTLM SSL libz
openssl outils cryptographiques openssl version
OpenSSL 1.0.0b 16 Nov 2010
netcat GNU netcat (en plus du nc BusyBox) /usr/bin/netcat --help 2>&1 | head -5
GNU netcat 0.7.1, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere:  /usr/bin/netcat [options] hostname port [port] ...
listen for inbound:    /usr/bin/netcat -l -p port [options] [hostname] [port] ...
tunnel to somewhere:   /usr/bin/netcat -L hostname:port -p port [options]


Testons quelques outils : 

ping -c 2 google.com

PING google.com (64.233.167.102): 56 data bytes
64 bytes from 64.233.167.102: seq=0 ttl=108 time=21.848 ms
64 bytes from 64.233.167.102: seq=1 ttl=108 time=21.400 ms

--- google.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 21.400/21.624/21.848 ms

curl -k https://www.miniil.be 2>&1 | head -10

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (35) error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

OpenSSL 1.0.0b (2010) ne supporte que TLS 1.0. Les serveurs modernes qui exigent TLS 1.2+ sont inaccessibles même si on contourne la verification du certificat avec l'option -k.  HTTPS fonctionne uniquement avec les serveurs qui acceptent encore TLS 1.0, et sans vérification de certificat.

Toutes les communications réseau du Karotz passent donc essentiellement en clair.  Sur un réseau local domestique, ce n'est pas réellement un problème mais si votre Karotz est exposé à Internet le risque est bien réel.

 

inetd : le chef d'orchestre

Sur le Karotz, les services réseau ne tournent pas en permanence. C'est inetd (internet daemon) qui écoute sur les ports et lance le service approprié uniquement quand une connexion arrive.

Cette approche économise la mémoire précieuse sur un système embarqué avec seulement 60 Mo de RAM.

inetd est lancé au démarrage via /etc/inittab :

cat /etc/inittab | grep inetd

::respawn:/sbin/inetd -f /usr/etc/inetd.conf

Le flag respawn garantit qu'inetd redémarre automatiquement s'il plante.
 

Le fichier /usr/etc/inetd.conf définit les services :

cat /usr/etc/inetd.conf

# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
21 stream tcp nowait root /bin/busybox ftpd -w /
23 stream tcp nowait root /bin/busybox telnetd -i
80 stream tcp nowait root /bin/busybox httpd -i -c /karotz/etc/httpd.conf -h /usr/www

Analysons une ligne :

Champ Valeur Signification
Port 21 Port d'écoute
Type stream Connexion TCP (vs dgram pour UDP)
Proto tcp Protocole
Flags nowait Peut gérer plusieurs connexions simultanées
User root Utilisateur qui exécute le service
Commande /bin/busybox ftpd -w / Programme à lancer

 

Les trois services sont fournis par BusyBox :

  • ftpd (-w /) — serveur FTP avec accès en écriture sur /
  • telnetd (-i) — serveur Telnet lancé par inetd
  • httpd (-i -c ... -h ...) — serveur HTTP, racine dans /usr/www

 

Dropbear : le SSH dormant

Le Karotz embarque Dropbear, un serveur SSH léger pour systèmes embarqués.

which dropbear

/bin/dropbear

Cependant, il n'est pas activé par défaut. Le répertoire de configuration est vide :

ls -la /etc/dropbear/

total 4
drwxr-xr-x    1 root     root          2048 Jan  1  1970 .
drwxr-xr-x    1 root     root          2048 May  9  2011 ..

Techniquement, il serait possible de l'activer : générer les clefs avec dropbearkey, les stocker sur une partition persistante (/usr/), et lancer Dropbear au démarrage avec l'option -r pour spécifier leur emplacement.

Mais est-ce vraiment nécessaire ? Telnet fait le travail sur un réseau local, et ajouter un service SSH consommerait des ressources sur un système déjà limité avec 60 Mo de RAM.

 

MPD : le lecteur musical

Le port 6600 est occupé par MPD (Music Player Daemon). C'est un serveur de lecture audio qui permet de jouer des fichiers MP3 depuis une clef USB branchée sur le Karotz.

MPD n'est pas actif par défaut. Une fois configuré, il peut être contrôlé :

  • Localement via netcat
  • À distance via des clients MPD (M.A.L.P. sur Android, ncmpcpp sur PC, ...)
  • Via l'interface web de miniil's OpenKarotz 

 

Conclusion

Le Karotz dispose donc de plusieurs services réseau : Telnet, FTP et HTTP via inetd et MPD pour la musique.

Dropbear (SSH) est présent mais non configuré.

Toutes ces communications passent en clair, il n'y a pas de HTTPS côté serveur, pas de SSH actif, et le client HTTPS est limité à TLS 1.0.

Sur un réseau local domestique, ce n'est pas un problème. Mais quand le lapin est exposé sur Internet, le risque est présent.

Et si on améliorait la sécurité en ajoutant HTTPS au serveur web du Karotz ? 

Je tenterai cela prochainement et ceci fera l'objet d'un prochain article.

Exploration de l'environnement Python du Karotz

Détails
Publié le : 29 Décembre 2025
  • karotz
  • python

Quel est l'environnement Python disponible ?

python -c "import sys; print sys.version"
2.4.5 (#1, Mar 29 2012, 10:34:03)
[GCC 4.3.5]

Karotz dispose donc sur d'un environnement Python 2.4.5 compilé le 29 mars 2012 avec GCC 4.3.5 (GNU Compiler Collection ou le compilateur utilisé à l'époque pour transformer le code source Python en binaire exécutable pour le processeur ARM920T du Karotz).  D'après mes recherches l'environnement Python était disponible d'origine sur Karotz, il ne s'agit pas d'un ajout de OpenKarotz.  Mais certaines bibliothèques ont peut être été ajoutées.

 

Quels sont les modules disponibles ?

ls /usr/lib/python2.4/

Cet environnement Python dispose d'une belle bibliothèque standard :

Réseau & Web :

  • urllib.py, urllib2.py, urlparse.py - Requêtes HTTP
  • httplib.py - Client HTTP bas niveau
  • ftplib.py - Client FTP
  • socket.py - Sockets réseau
  • BaseHTTPServer.py, SimpleHTTPServer.py, CGIHTTPServer.py - Serveurs HTTP
  • xmlrpclib.py, SimpleXMLRPCServer.py - XML-RPC
  • cookielib.py - Gestion cookies

Données :

  • simplejson - JSON
  • csv.py - Fichiers CSV
  • xml - Parsing XML
  • ConfigParser.py - Fichiers de config
  • pickle.py - Sérialisation objets

Système :

  • os.py - Interaction système
  • subprocess.py - Exécution commandes externes
  • shutil.py - Opérations fichiers
  • threading.py - Multi-threading
  • tempfile.py - Fichiers temporaires
  • gzip.py, tarfile.py, zipfile.py - Compression

Utilitaires :

  • re.py - Expressions régulières
  • random.py - Nombres aléatoires
  • base64.py - Encodage base64
  • email - Gestion emails

Un détail intéressant est que simplejson (2.0.7) a probablement été intégré par Mindscape dans le firmware car il ne fait pas partie des modules natifs de Python 2.4 (arrivé seulement avec Python 2.6).  Mindscape l'a probablement intégré car le lapin devait communiquer en JSON avec leurs serveurs.

Il existe également des modules compilés.

ls /usr/lib/python2.4/lib-dynload/

Voici quelques modules intérressants à citer :

Module Intérêt pour le Karotz
_socket.so Essentiel pour les communications réseau.
zlib.so Compression.
pyexpat.so Parsing XML rapide.
select.so Pour gérer plusieurs connexions simultanées.
md5.so, sha.so Vérification de l'intégrité.
datetime.so Gestion du temps.
cPickle.so Sauvegarde rapide d'états/configurations.


On peut déjà remarquer l'absence de modules qui auraient pu être utiles : Aucun module pour des connexions sécurisées (ssl), pour des bases de données, pour des appels directs aux librairies C.

 

Espace disque

Combien de place prend cet environnement Python sur le lapin ?

du -sh /usr/lib/python2.4/

8.5M /usr/lib/python2.4/
# Espace disque disponible
-bash-4.1# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 7.7M      7.7M         0 100% /
none                     29.4M         0     29.4M   0% /dev
/dev/mtdblock6          234.0M     84.3M    149.7M  36% /usr
tmpfs                    29.4M         0     29.4M   0% /dev/shm

On dispose de plusieurs dizaines de Mo sur /usr.  C'est déjà à cet endroit que Python est installé.  Un upgrade serait donc techniquement possible.


Un upgrade serait-il intéressant ?

J'utilise depuis peu Python pour beaucoup de développements dans mes projets personnels.  C'est un language que j'aime bien utiliser et qui permet beaucoup de choses.

Dans l'environnement actuel du Karotz, il y a quand même certaines choses qui manquent :

  • Pas de with statement
  • Un syntaxe ancienne pour la gestion des exceptions notamment
  • Pas de compréhension des dictionnaires
  • Pas de format() moderne (Exemple : f"Hello {name}"). 

Passer à Python 2.7 (la dernière version stable de Python 2) apporterait déjà le with, le json natif, la compréhension des dictionnaires, le format().  La compatibilité des scripts existants serait probablement assurée mais à vérifier.

Passer à Python 3 pourrait évidemment être intéressant mais c'est beaucoup plus risqué au niveau de la compatibilité des scripts existants, la cross-compilation serait certainement complexe et au niveau de l'espace disque il est probable que ce soit aussi plus lourd.

Mon choix se porterait donc logiquement sur Python 2.7 qui donnerait un petit coup de jeune à mon Karotz.

Il faudrait donc :

  • Cross-compiler Python 2.7 pour l'architecture ARM920T. 
  • Vérifier les bibliothèques dont Python a besoin et les cross-compiler aussi.
  • Optionnel : Compiler OpenSSL pour avoir HTTPS
  • Vérifier la taille nécessaire.
  • Transférer les binaires sur /usr et configurer les liens symboliques
  • Tester si tout fonctionne

Est-ce que vous avez déjà étudié la question ? 

Que pensez-vous d'un upgrade de Python pour le Karotz, est-ce que cela vous semble utile ?

 

 

Le message de la fin des aventures de Karotz

Détails
Publié le : 21 Décembre 2025
  • karotz

Fin 2014, Aldebaran annonçait officiellement la fin des aventures de Karotz.

Après près de 10 ans d'existence depuis le lancement du premier Nabaztag en 2005, le petit lapin connecté pionnier allait s'endormir définitivement.

Voici le message publié par Bruno Maisonnier, PDG d'Aldebaran :

Lancé sur le marché en 2005 sous le nom de Nabaztag, Karotz a été un pionnier dans la catégorie des objets connectés et communicants.
La communauté, très active, a d'ailleurs largement contribué à rendre le lapin si "populaire".

Aujourd'hui, prés de 10 ans après son lancement, Karotz est confronté à une concurrence technologique forte : les objets connectés sont maintenant en 4G, mobiles, évolutifs et intelligents. Karotz et ses utilisateurs ont marqué l'histoire des objets connectés, ils en ont ouvert la voie. Nous sommes arrivés à la fin de cette belle histoire pour Karotz qui cède sa place à des produits plus adaptés à notre époque.

Pour continuer de vous proposer des compagnons innovants et attachants, Aldebaran se recentre sur son cœur de métier : les robots humanoïdes.

C'est pourquoi les serveurs de Karotz ainsi que la maintenance SAV seront arrêtés au 18 février 2015.

Bruno Maisonnier
PDG d'Aldebaran

Pour répondre à toutes vos questions, une FAQ est ci-dessous et notre équipe se tient à votre disposition.

Pourquoi arrêter les serveurs ?

Nous ne produisons plus de Karotz et l'ensemble des stocks sont épuisés depuis presque 2 ans. L'activité des lapins diminuant fortement, moins de 10% sont en activités, nous avons décidé de ne plus maintenir les serveurs.

Que se passera t il avec mon Karotz apres le 18 février ?

Votre lapin sera toujours auprès de vous, mais sans activité.

L'open source est il envisagé ?

Nous y réfléchissons et étudions surtout les actions à mettre en oeuvre pour que cela fonctionne. Sans investissement de notre part l'Open Source ne serait pas viable.

Que va devenir le personnel de l'entreprise VIOLET ?

L'ensemble du personnel a intégré Aldebaran.

La fermeture de la société est-elle liée au coût du SAV ?

Non, la fermeture de l'entreprise n'est pas liée au cout du SAV. Karotz a marqué l'ère des premiers objets connectés et communiquants. Aujourd'hui Aldebaran se recentre sur son coeur de métier : la robotique humanoïde. Nous faisons le choix de nous concentrer sur un produit plus en phase avec son temps. Pour relancer Karotz dans la course, les investissements R&D; et Software seraient trop conséquents.

Si j'ai besoin de faire réparer mon Karotz, à qui puis-je m'adresser?

Le SAV continue d'acceuillir vos lapins jusqu'à la fermeture, le 18 fevrier 2015.

Le stock est-il épuisé?

La production a été stoppée et le stock est épuisé sur l'ensemble des références.

N'y a-t-il plus aucun revendeur dans le monde ?

La production étant stoppée, nos revendeurs ne sont plus approvisionnés.

Pourquoi j'ai créé miniil Karotz OS et miniil's OpenKarotz

Détails
Publié le : 17 Décembre 2025

Introduction

Quand j'ai voulu ressusciter mon Karotz, j'ai d'abord suivi les tutoriels existants : OpenKarotz, FreeRabbits OS...

Et j'ai galéré. Beaucoup. Entre les erreurs d'installation, les vérifications de version qui bloquaient tout et les dépendances à des services externes, j'ai fini par me poser une question simple : et si je reprenais les choses en main ?

C'est ainsi que sont nés miniil Karotz OS et miniil's OpenKarotz.

Les problèmes rencontrés

Une installation capricieuse

Les solutions existantes vérifiaient la version de l'OS déjà installé. Si la version correspondait, pas de réinstallation. En théorie, c'est logique. En pratique, quand quelque chose plantait en cours de route, impossible de repartir proprement. L'installation se bloquait, le lapin restait dans un état instable ou sans connexion WiFi.

J'ai perdu des heures à chercher des contournements avant de me dire : pourquoi ne pas simplement tout réinstaller à chaque fois ? Une installation complète, propre, sans condition.

Des dépendances externes

FreeRabbits OS propose des fonctionnalités intéressantes comme le TimeButton. Mais celles-ci, comme je l'ai évoqué dans un article précédent peuvent poser certains problèmes de sécurité.  Ayant un peu discuté avec le créateur de FreeRabbits, ils sont bien conscients qu'ils pourraient envoyer n'importe quelle commande sur votre lapin avec ce service TimeButton mais ils n'ont en aucun cas l'intention de nuire.  Leurs services sont basés sur la confiance. 

Leur travail a permis à beaucoup de Karotz de revivre et de continuer à vivre, le mien y compris car je me suis basée sur leur travail. 

Sachez donc que FreeRabbits propose énormément de services grâce à TimeButton et certains sont même très intéressants.  Si vous voulez disposer de ces services, il faut utiliser FreeRabbits et TimeButton.

Une interface limitée

OpenKarotz offrait une interface web fonctionnelle mais il manquait des choses essentielles pour vraiment maîtriser son lapin : pas d'éditeur de crontab intégré, pas de gestion simple des web radios, pas de possibilité de donner un nom à mon lapin.

Ma solution : reprendre le contrôle

miniil Karotz OS

J'ai créé ma propre version d'installation du firmware basée sur les travaux de la communauté, avec une philosophie simple :

  • Installation complète à chaque fois : On repart de zéro, pas de vérification de version qui bloque
  • Fiabilité : Les erreurs d'installation sont vérifiées et inscrites dans un fichier de log
  • Personnalisation : une petite touche personnelle comme le message d'accueil en telnet (MOTD)

miniil's OpenKarotz

Pour l'interface web, j'ai déjà ajouté les fonctionnalités qui me manquaient :

  • Éditeur de crontab : programmer des actions directement depuis l'interface
  • Gestion des web radios : ajouter, modifier, supprimer ses radios facilement
  • Le taichi d'oreilles : Ca ne sert à rien mais c'est mignon
  • La possibilité d'utiliser un serveur tts personnel : Nous en reparlerons

Plus qu'un projet technique : un apprentissage

Ce projet n'était pas seulement une question de faire fonctionner un lapin. C'était l'occasion de plonger dans :

  • Le fonctionnement d'un système Linux embarqué
  • Les scripts bash et leur enchaînement au démarrage
  • La compréhension du firmware (cramfs, yaffs, NAND flash)
  • La création d'interfaces web pour systèmes contraints

Chaque problème rencontré était une opportunité d'apprendre.

Pour la communauté

Je partage cette documentation pour que d'autres n'aient pas à galérer comme moi. Si vous avez un Karotz qui dort dans un placard, j'espère que ces ressources vous aideront à lui redonner vie.

Et surtout, que vous puissiez le faire de manière autonome, sans dépendre de services qui pourraient disparaître demain.

Conclusion

miniil Karotz OS et miniil's OpenKarotz sont nés de la frustration, de la curiosité et de l'envie de partager. Ce n'est pas parfait, mais c'est fonctionnel, documenté (en partie pour l'instant) et surtout : indépendant.

Si vous voulez tenter d'installer cet OS et OpenKarotz, suivez le guide.  Si vous rencontrez des problèmes avec l'installation, n'hésitez pas à me contacter ou à laisser un commentaire sous cet article.

Votre lapin mérite de vivre longtemps. 🐰

  • Ressuciter votre lapin Karotz avec miniil Karotz OS et miniil's OpenKarotz
  • Nabaztag le premier lapin connecté
  • Free Rabbits OS : Entre gratitude et vigilance
  • Ressuciter Karotz

Page 1 sur 4

  • 1
  • 2
  • 3
  • 4

Connexion

  • Mot de passe perdu ?
  • Identifiant perdu ?
  • S'enregistrer