gUI a écrit 6578 commentaires

  • [^] # Re: 6GB de RAM

    Posté par  (Mastodon) . En réponse au lien Ubuntu 26.04 LTS "Resolute Raccoon" est disponible en version finale, avec cinq ans de mises à jour. Évalué à 4 (+1/-0).

    Vous en pensez quoi ?

    Que ce serait bien d'avoir un autre chiffre en face pour savoir de quoi on parle :)

    Tu bootes, tu fais rien d'autres, tu ouvres un terminal, tu fais un free -m. Ça donne quoi ?

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # 6GB de RAM

    Posté par  (Mastodon) . En réponse au lien Ubuntu 26.04 LTS "Resolute Raccoon" est disponible en version finale, avec cinq ans de mises à jour. Évalué à 10 (+7/-0).

    Vous avez sûrement vu passer l'info comme quoi il fallait 6GB mini… comme prévu non, c'est pas ça, c'est juste que c'est "conseillé pour une expérience utilisateur qu'elle est bien".

    J'ai fait l'essai, VM de 4GB, ça installe sans soucis, et une fois booté on a 1.5GB d'utilisé. On peut donc lancer sans soucis les applications courantes, y compris assez consommatrices comme Firefox.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: RGPD

    Posté par  (Mastodon) . En réponse au journal Piveo 2.4.0: logiciel d'apprentissage de prénoms et noms. Évalué à 7 (+4/-0). Dernière modification le 24 avril 2026 à 07:53.

    Oui c'est une bonne idée. T'as pas besoin de faire plus maintenant : information dans la doc, pop-up au démarrage… et puis nul n'est censé ignorer la loi comme on dit ;)

    Ton outil est conforme RGPD dans le sens où il permet la rectification, la suppression etc.

    Pour le reste c'est l'utilisateur qui s'en débrouillera.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: SecNumLol ?

    Posté par  (Mastodon) . En réponse au lien Scaleway remporte l’hébergement des données de santé à la place de Microsoft. Évalué à 5 (+2/-0).

    J'avais vu passer une super interview d'un acteur cloud français qui galère à émerger (je me souviens même pas du nom de la boîte !) qui expliquait qu'en France on a un défaut, c'est qu'on croit que le cloud c'est avant tout une infra, alors que c'est avant tout un logiciel (de gestion du bordel).

    En gros pour lui un cloud souverain ce serait une startup locale spécialisée (au hasard, la sienne), qui tournerait chez un fournisseur d'infra local (OVH, Scaleway…). C'est pas mon domaine mais ça m'avait parlé, je trouvais ça assez censé comme raisonnement.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: RGPD

    Posté par  (Mastodon) . En réponse au journal Piveo 2.4.0: logiciel d'apprentissage de prénoms et noms. Évalué à 7 (+4/-0).

    Je pense que ce n'est pas à lui de fournir tout ça mais à la personne qui le déploie [ref needed].

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Puisque tu aimes bien l'IA...

    Posté par  (Mastodon) . En réponse au journal À la recherche d'une alternative libre à Notion ou Obsidian : j'ai créé MindZJ (OSS) via Vibe coding. Évalué à 10 (+7/-0). Dernière modification le 23 avril 2026 à 10:25.

    Ce que t'as pas voulu comprendre c'est que oui l'IA est un sujet clivant, ici comme ailleurs mais le soucis avec ton journal n'est pas là. Dans les utilisateurs LinuxFR.org il y en a qui s'en servent (moi par exemple j'en ai parlé à maintes reprises ici) et il y en a qui se s'en servent pas (tiens c'est une bonne idée de sondage ça !). Mais je pense (et je ne suis pas le seul) que ton journal n'apporte strictement rien aux uns comme aux autres.

    Ici on parle beaucoup de l'IA, mais jamais en pondant du code auto-généré et en disant "c'est bien hein ? mettez une étoile sur github !".

    Sur ce même travail tu aurais pu détailler quel outil, quel coût éventuel. Le même boulot fait par une IA locale qui tourne sur ollama aurait intéressé bcp plus de monde par exemple. Quel modèle ? Quel hardware ? Quels réglages ?

    Et même si tu utilises Claude, concrètement ça a coûté combien ? Tout se boulot pour $10 de tokens par exemple c'est un résultat dont on peut parler, c'est intéressant. Ou avec un abo pro $200/an (ce que j'ai) ça représente quoi ? 1h de tokens ? 6j de tokens ?

    Ça permettrait de concrétiser un peu, d'intéresser… L'envie d'expérimenter pour celles et ceux qui n'ont pas osé franchir le pas…

    Mais là, filer un résultat sans aucune autre indication, ça n'a strictement aucun intérêt dans un journal. Ça n'apporte rien à personne quel que soit son camp. Des journaux sur l'IA et pro-IA bien notés il y en a déjà plein, mais ils sont intéressants.

    On dirait que tu voulais être glorifié d'avoir fait ça, mais on ne comprend même pas tes difficultés par exemple. On voit un historique git (je t'apprendrai à faire des prompts sympa pour avoir un historique git propre si tu veux) mais les itérations, était-ce dû à tes essais ? Pourquoi dès le début t'as pas pu tout générer comme tu voulais ? Tu n'y avais pas pensé ou tu ne savais pas exactement ce que tu voulais ?

    Des journaux intéressants il y en avait 1000 à faire.

    à ouvrir des sites en cachette pour scroller des futilités

    Je ne le fais pas en cachette, je vais sur linuxfr.org : ça fait sérieux, et niveau futilités j'ai ma dose quotidienne !

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Puisque tu aimes bien l'IA...

    Posté par  (Mastodon) . En réponse au journal À la recherche d'une alternative libre à Notion ou Obsidian : j'ai créé MindZJ (OSS) via Vibe coding. Évalué à 8 (+5/-0). Dernière modification le 23 avril 2026 à 08:36.

    Bien sûr j'ai fait comme toi, j'y connais rien en Java et j'ai laissé l'IA me pondre ce truc, je n'ai rien vérifié et je laisse donc le reste de l'humanité se démerder avec, moi j'ai fait mon boulot.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Puisque tu aimes bien l'IA...

    Posté par  (Mastodon) . En réponse au journal À la recherche d'une alternative libre à Notion ou Obsidian : j'ai créé MindZJ (OSS) via Vibe coding. Évalué à 6 (+4/-1). Dernière modification le 23 avril 2026 à 08:29.

    Sommaire

    Rapport d'audit de sécurité — MindZJ

    Date : 2026-04-23

    Analyste : Audit automatisé (Claude Code)

    Périmètre : Codebase complet git clone git@github.com:zjok/mindzj.git

    Application : MindZJ — application Tauri de prise de notes


    Résumé exécutif

    L'audit a identifié 5 vulnérabilités critiques et 3 vulnérabilités hautes dans le codebase. Les problèmes les plus graves concernent l'absence de Content Security Policy, un accès non restreint au système de fichiers, et l'exécution de code plugin sans sandbox. Combinées, ces failles permettent à un attaquant d'exécuter du code arbitraire et de lire l'intégralité du système de fichiers de l'utilisateur.


    Vulnérabilités critiques

    C1 — Content Security Policy désactivée

    Fichier : src-tauri/tauri.conf.json:37

    Sévérité : Critique

    "csp": null

    La CSP est complètement absente. Aucune protection contre l'injection de scripts, de styles ou de ressources externes. Toute attaque XSS réussit sans friction — le navigateur embarqué n'a aucune barrière à opposer.

    Remédiation : Définir une CSP stricte.

    "csp": "default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: asset:; font-src 'self'; connect-src 'self';"

    C2 — Asset protocol scope "**" : accès à tout le système de fichiers

    Fichier : src-tauri/tauri.conf.json:32-34

    Sévérité : Critique

    "scope": {
      "allow": ["**", "**/.mindzj/**"],
      "requireLiteralLeadingDot": false
    }

    Le wildcard ** autorise l'accès à tous les fichiers du système via le protocole asset://. En combinaison avec une XSS (C3 ou C4), un attaquant peut lire /etc/passwd, les clés SSH (~/.ssh/), les tokens d'environnement, ou tout autre fichier accessible à l'utilisateur courant.

    Remédiation : Restreindre le scope au répertoire du vault uniquement.

    "scope": {
      "allow": ["$APPDATA/**", "$HOME/.mindzj/**"],
      "requireLiteralLeadingDot": true
    }

    C3 — Exécution de code plugin sans sandbox (new Function)

    Fichier : src/stores/plugins.ts:1188

    Sévérité : Critique

    const factory = new Function("module", "exports", "require", code);

    Le code source des plugins est exécuté directement dans le contexte de la fenêtre principale, sans aucun isolement. Un plugin malveillant ou compromis (supply chain) dispose d'un accès complet au DOM, aux données du vault, aux APIs Tauri et au réseau.

    Remédiation : Exécuter les plugins dans un <iframe> sandboxé ou un Worker, avec une API de communication contrôlée (postMessage). Implémenter la vérification de signature cryptographique des plugins avant chargement.


    C4 — KaTeX configuré avec trust: true

    Fichier : src/components/editor/ReadingView.tsx:296,477

    Sévérité : Critique

    katex.renderToString(formula, { trust: true, ... })

    L'option trust: true autorise KaTeX à exécuter des macros arbitraires, notamment \href, \url et d'autres commandes pouvant générer du HTML non échappé. Vecteur XSS direct via le contenu mathématique des notes.

    Remédiation : Passer trust: false (valeur par défaut). Si certaines macros sont nécessaires, utiliser la forme fonction pour n'autoriser qu'une liste blanche explicite.

    katex.renderToString(formula, {
      trust: (context) => context.command === '\\url',
      ...
    })

    C5 — innerHTML utilisé sans validation suffisante

    Fichiers : src/components/editor/ReadingView.tsx:758,1379src/stores/plugins.ts (13+ occurrences)

    Sévérité : Critique

    // ReadingView.tsx:1379
    containerRef.innerHTML = html;
    
    // ReadingView.tsx:758
    block.innerHTML = svg; // SVG Mermaid non validé

    Le HTML généré par le parseur Markdown et les rendus SVG Mermaid sont injectés directement dans le DOM. Le SVG Mermaid en particulier n'est pas assaini avant injection, ce qui permet d'y embarquer des gestionnaires d'événements ou des éléments <script>.

    Remédiation : Passer tout HTML externe par DOMPurify avant insertion. Pour Mermaid, utiliser le mode securityLevel: 'strict'.

    import DOMPurify from 'dompurify';
    containerRef.innerHTML = DOMPurify.sanitize(html);

    Vulnérabilités hautes

    H1 — URLs javascript: non filtrées dans les liens

    Fichier : src/components/editor/ReadingView.tsx:523

    Sévérité : Haute

    <a href="${escapeAttr(url)}" class="mz-rv-link" ...>

    escapeAttr() échappe les caractères HTML mais ne filtre pas les protocoles d'URL. Un lien Markdown de la forme [clic](javascript:alert(1)) génère une balise <a href="javascript:alert(1)"> fonctionnelle.

    Remédiation : Valider le protocole de toute URL avant insertion.

    function isSafeUrl(url: string): boolean {
      try {
        const parsed = new URL(url);
        return ['http:', 'https:', 'obsidian:'].includes(parsed.protocol);
      } catch {
        return url.startsWith('/') || url.startsWith('./');
      }
    }

    H2 — DOMPurify en version vulnérable (≤ 3.3.3)

    Fichier : package.json

    Sévérité : Haute

    La version installée de DOMPurify est affectée par 4 CVEs actifs :

    CVE Impact
    GHSA-39q2-94rc-95cp Bypass via ADD_TAGS
    GHSA-h7mw-gpvr-xq4m Bypass via FORBID_TAGS
    GHSA-crv5-9vww-q3g8 Bypass SAFE_FOR_TEMPLATES
    GHSA-v9jr-rg53-9pgp Prototype pollution → XSS

    Remédiation : Mettre à jour vers dompurify >= 3.4.0.

    npm update dompurify

    H3 — Clé API stockée en clair (hash) sur le disque

    Fichier : cli/src/commands.rs

    Sévérité : Haute

    Le hash de la clé API est écrit dans .mindzj/api_key_hash, un fichier texte lisible par tout processus s'exécutant sous le même utilisateur. Le crate keyring est déjà listé en dépendance dans Cargo.toml mais n'est pas utilisé pour ce secret.

    Remédiation : Stocker la clé API dans le keyring système via le crate déjà disponible.

    use keyring::Entry;
    let entry = Entry::new("mindzj", "api_key")?;
    entry.set_password(&api_key)?;

    Problèmes additionnels (sévérité moyenne)

    # Localisation Description
    M1 src/stores/plugins.ts:20-265 Monkey-patching de HTMLElement.prototype — surface d'attaque pour les plugins
    M2 src-tauri/src/api/screenshot_api.rs:69-74 Race condition TOCTOU sur le nom de fichier temporaire (timestamp non unique)
    M3 src-tauri/src/api/vault_api.rs:534-539 Décodage base64 sans limite de taille — vecteur DoS par expansion mémoire

    Plan de remédiation

    Priorité Action Fichier cible
    Immédiat Activer la CSP tauri.conf.json
    Immédiat Restreindre l'asset scope au vault tauri.conf.json
    Immédiat Passer trust: false sur KaTeX ReadingView.tsx
    Immédiat Sandboxer l'exécution des plugins plugins.ts
    Urgent Filtrer les URLs javascript: ReadingView.tsx
    Urgent Assainir les SVG Mermaid avec DOMPurify ReadingView.tsx
    Urgent Upgrade dompurify ≥ 3.4.0 package.json
    Court terme Migrer la clé API vers le keyring système cli/src/commands.rs
    Court terme Ajouter une limite de taille sur le décodage base64 vault_api.rs
    Court terme Utiliser tempfile crate pour les screenshots screenshot_api.rs

    Fichiers les plus critiques à auditer en priorité

    src-tauri/tauri.conf.json          ← configuration Tauri (C1, C2)
    src/components/editor/ReadingView.tsx ← rendu Markdown/KaTeX/Mermaid (C4, C5, H1)
    src/stores/plugins.ts              ← exécution et API plugins (C3, C5)
    cli/src/commands.rs                ← gestion clé API (H3)
    

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Et pour aider

    Posté par  (Mastodon) . En réponse au message Linux – SSD ancien + passage HDD → gain réel ou pas ?. Évalué à 5 (+2/-0).

    Ça utilise donc de la ram pour du swap

    Un sacré concept !

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # oui

    Posté par  (Mastodon) . En réponse au message Linux – SSD ancien + passage HDD → gain réel ou pas ?. Évalué à 10 (+8/-0).

    oui clairement.

    ta machine a 8Go de RAM c'est LA bonne nouvelle : elle va encore durer.

    avec un SSD tu gagnes à peu près sur tous les tableaux : boot, lancement des applis et même swap si besoin.

    par contre ne te prends pas le choux sur les spécifications du SSD. je suppose qu'il te faudra un SATA, ils ont tous peu ou pro les même perfos, prends celui qui rentre dans tes prix (bon courage en ce momnet…)

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: à la lecture

    Posté par  (Mastodon) . En réponse au journal Création d'un script pour Nextcloud : ouvrir le dossier. Évalué à 4 (+2/-1).

    moins pour corriger des bugs ou faire de la maintenance

    Attention à la façon de l'utiliser. Si tu vas sur l'interface web que tu copies/colle le message d'erreur, t'as 50% de chances d'avoir un truc potable, le reste c'est au mieux à côté, au pire une hallucination.

    Mais si tu prends claude code (l'outil) que tu le fous au milieu de ton repo git (il a donc accès à tout le code, peut compiler, tester…), que tu lui dis "j'ai vu passer tel bug, corrige-le", j'ai été surpris à quel point ça marche bien.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Ce journal est inutile

    Posté par  (Mastodon) . En réponse au journal Création d'un script pour Nextcloud : ouvrir le dossier. Évalué à 9 (+7/-1).

    C'est fini ça, plus besoin de relire. Tu le fais analyser par une IA et elle t'expliquera bcp mieux ce que fait ou pas le code.

    Je ne rigole qu'à moitié, une extension Firefox qui relit tout ce que t'essaies d'installer pour te dire "oulah malheureux, ça pue ce truc !" ce sera toujours bcp plus efficace que de ne pas relire du tout les extensions (me faites pas croire que vous lisez les extensions avant de les installer).

    Et si par hasard vous me dites "ah mais si ! moi je relis" alors allez aider FreeBSD et autres qui se font déterrer des CVE régulièrement (ça devient presque un benchmark d'IA) alors que tout plein de gens avaient relu avant.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: ma recommendation.

    Posté par  (Mastodon) . En réponse au message haut parleur. Évalué à 5 (+2/-0).

    J'ai acheté des enceintes moniteurs DBOX MiniMax quand j'étais au lycée pour mon synthé, donc tout début des années 90 (j'ai eu le bac en 1993).

    Aujourd'hui c'est toujours ce que j'ai :)

    C'est le modèle avant ça mais qui ressemble comme 2 gouttes d'eau : https://www.leboncoin.fr/ad/photo_audio_video/3078099853

    C'est pas très pratique en soi (petits boutons à l'arrière pour le volume), mais je les mets à fond et devant ça j'ai une carte son USB Focusrite Scarlett qui possède un bon gros bouton de volume. Connectique RCA, ça bouge pas, ça grésille pas même après 35 ans (!!!) d'utilisation quotidienne.

    Ça me sert pour écouter de la musique, pour en faire, mais aussi pour les jeux bien évidemment.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: petits poissons

    Posté par  (Mastodon) . En réponse au lien Bonjour la fuite sur l'agence nationale des titres "sécurisés". Évalué à 5 (+2/-0).

    Du coup j'ai regardé et en ce qui me concerne il y a très peu d'informations dessus : ni adresse postale ni numéro de téléphone…

    Selon l'usage qu'on a eu du service l'impact sera plus ou moins grand je suppose.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: ghettoblaster

    Posté par  (Mastodon) . En réponse au lien Remise en service d'une chaîne hifi de 1990. Évalué à 3 (+0/-0).

    Énorme ! (dans tous les sens du terme d'ailleurs).

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Et pourquoi pas ?

    Posté par  (Mastodon) . En réponse au lien Internet Protocol Version 8 (IPv8). Évalué à 3 (+0/-0).

    oui c'est juste que je pense pas à citer 'task' dans la liste des mots que les Anglois ont conservé du vieux François qu'ils parloeint au Moyen-Âge.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # /etc/apt/source.list

    Posté par  (Mastodon) . En réponse au message Downgrade Debian : Unstable to Stable. Évalué à 4 (+2/-1). Dernière modification le 17 avril 2026 à 07:43.

    EDIT : Très mauvaise idée ce que j'ai dit (cf les commentaires ci-dessous) ! Ça m'apprendra à dire des trucs que j'ai jamais testé par moi-même…

    Pas de magie dans Debian, la version de ton système est simplement celle qui est tirée par les paquets.

    Modifie le fichier /etc/apt/sources.list pour mettre trixie à chaque fois que tu vois sid (fais une sauvegarde juste avant sait-on jamais).

    Regarde aussi dans /etc/apt/sources.d/* si tu as des fichiers, et modifie-les de la même manière.

    Ensuite : apt update, apt full-upgrade et un petit reboot pour fêter ça :)

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Et pourquoi pas ?

    Posté par  (Mastodon) . En réponse au lien Internet Protocol Version 8 (IPv8). Évalué à 3 (+0/-0).

    tiens pour l'auto-punition je ne me corrige pas.

    notons que les anglo-saxons ont gardé le 's' avec leur task (tout comme forest, hospital…)

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Et pourquoi pas ?

    Posté par  (Mastodon) . En réponse au lien Internet Protocol Version 8 (IPv8). Évalué à 3 (+0/-0).

    IPv4 is a proper subset of IPv8.

    J'ai lu que ça tellement que je pense que c'est une bonne idée tellement que je me dis que si ça se trouve ça suffira à le faire adopter.

    Bon, je vais tacher de lire la suite maintenant :)

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Héhé

    Posté par  (Mastodon) . En réponse au lien Les Mac perdent leur connexion réseau après 49 jours, 17 heures, 2 minutes et 47 secondes. Évalué à 5 (+2/-0).

    Sur un Win Me

    Très sûrement la pire version de Windows. L'instabilité était légendaire.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: Quel débit pour récupérer ses archives ?

    Posté par  (Mastodon) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 6 (+3/-0).

    J'allais faire la même, mais comme moi non plus…

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: On peut vraiment remercier l'agent Orange

    Posté par  (Mastodon) . En réponse au lien La France dit vraiment adieu à Windows et aux outils américains dans ses administrations. Évalué à 5 (+2/-0).

    Faut lire un peu plus loin que le titre : tous les ministères doivent préparer leur feuille de route.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Tarif ?

    Posté par  (Mastodon) . En réponse au journal Borgmatic et Hetzner Storage Box, les sauvegardes pas chères. Évalué à 7 (+4/-0). Dernière modification le 10 avril 2026 à 08:21.

    Merci pour ces détails !

    Je cogite toujours à me faire un archivage hors de portée, je pensais à Amazon Glacier… mais pourquoi pas Hetzner ?

    Par contre tu parles de 4€/mois pour 16To, ce n'est pas ce que je lis sur la fiche tarifaire. Tu peux détailler stp ?

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • [^] # Re: RGPD ?

    Posté par  (Mastodon) . En réponse au message Piveo-V2: nouvelle interface et architecture MVC. Évalué à 5 (+2/-0).

    Le logiciel est libre et ne traite aucune donnée à distance.

    Ça n'entre même pas en jeu. Une fichier de données perso c'est un fichier de données perso, point.

    j’ai ajouté un paragraphe dédié dans le README.md

    Oui c'est très bien. Le logiciel en lui-même ne fiche personne évidemment, mais clairement il va être utilisé pour ça. Certes chaque utilisateur est censé connaître la loi (et donc le RGPD), mais je pense qu'il est bon de mettre une couche sur ces sujets dès qu'on le peut.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # L'occasion de rappeler que...

    Posté par  (Mastodon) . En réponse au lien Ça va mal pour notre camarade. Évalué à 10 (+9/-0).

    … tout ce qui se dandine et qui glisse sur de la glace avec de la musique de Jean-Michel Jarre en fond c'est un manchot (et ça n'existe que dans l’hémisphère Sud, mais c'est presque un détail).

    Un pingouin, c'est une grosse mouette, ça vole, t'en trouves en (Grande) Bretagne, et même plus au sud (jusqu'au Maroc !).

    La source des emmerdes c'est que manchot en Anglais se dit "penguin".

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.