ploum a écrit 5931 commentaires

  • [^] # Re: Méthode anti spam: gnupg...

    Posté par  (site web personnel, Mastodon) . En réponse au journal Méthode anti spam: gnupg.... Évalué à 1.

    juste.. j'ai confondu signé et crypté!

    PErso, je signe toujours ou presque mes mails.

    Mais je ne le fais pas lorsque je ne suis pas chez moi et/ou que j'utilise un webmail.

    Comme envoyer un mail signé depuis un cybercafé ?

    certains problèmes se posent néanmoins...

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: Méthode anti spam: gnupg...

    Posté par  (site web personnel, Mastodon) . En réponse au journal Méthode anti spam: gnupg.... Évalué à 1.

    Question : que deviennent les mailing-list et les mails multiples avec cette technique ?

    Les Cc, les Bcc ?

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: gcompris un logiciel éducatif libre.

    Posté par  (site web personnel, Mastodon) . En réponse au journal gcompris un logiciel éducatif libre.. Évalué à 4.

    Et bien je ne suis pas d'accord sur certains points.

    Effectivement le logiciel de dessin de Gcompris est "mieux" et bien plus "formateur" que celui par exemple de AdiMalin.

    Cependant, l'industrie s'en fout !!!

    Le logiciel Gcompris est plus difficile à utiliser (car plus formateur) et plus rebute plus les enfants (et aussi les parents qui regardent), je parle ici d'expérience.

    Dans gcompris, l'enfant doit faire un effort !!!! Et les parents aussi, certaines choses dans l'interface n'étant pas très intuitive à mes yeux.

    Et qui dit effort dit "C'est moins bien". L'enfant passera quelques minutes sur gcompris pour quelques heures sur AdiMalin, qui n'est en gros qu'un dessin animé vaguement interactif.

    Et pour la majorité des parents, un logiciel "éducatif" a surtout comme fonctionnalité : "Il va nous foutre la paix pendant quelques temps"

    C'est un peu dur dans la manière de le dire mais il faut l'admettre : c'est en majorité comme ça.

    Gcompris est pour moi basé sur une excellente idée et il fait de l'excellent travail. Mon amoureuse s'est même beaucoup amusé avec (21 ans). Par contre, les enfants de 3 à 5 ans n'accrochent pas du tout, je le constate. Certes, ils jouent un peu quelques minutes, mais il faut aller soi-même dans le jeu et généralement leur expliquer un peu. Ils ne sont pas autonomes comme dans un Lapin Malin (que je connais aussi).

    Alors, sous Linux avec internet, la solution que j'ai trouvé s'appelle poissonrouge.com !

    Je crois fondamentalement que gcompris est très bien en substance mais manque de sex appeal et de tape à l'oeil, ce qui est à mes yeux nécessaire.

    Il manque d'une mascotte qui servirait de guide. A la limite, il y'a TROP d'activités dans gcompris, et elles sont d'un niveau trop inégal. Certains détails aussi nécessitent du fignolage : vitesse souvent trop lente des animations (les poissons, le parachute), couleurs peu agréables et pas assez contrastées, voire ne correspondant pas à la couleur énoncée (le jeu des nounours pas exemple), principe parfois trop compliqué (les pays par exemple, il m'a fallu plusieurs essais avant de comprendre qu'il fallait mettre le pays sur le point rouge précisemment, ce qui n'est pas très facile)

    On rétorquera que c'est facile de critiquer mais j'espère que mes critiques sont constructives et permettront à gcompris de devenir encore meilleur !

    Quoiqu'il en soit, le travail est impressionnant et j'ai trouvé déjà une grande amélioration entre cette version et la précédente !

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Et si ce qu'on apprenait ne marchait pas ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 1.

    euh.. vu comment j'ai déjà rallongé la sauce de mes études, je ne pense pas être trop doué ;)

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Et si ce qu'on apprenait ne marchait pas ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 2.

    Je suis entièrement d'accord ! Je n'ai jamais dit que ma méthode est la meilleure. Idéalement, la méthode que je trouve la plus efficace :

    1) Un shéma des différents composants à implémenter et la manière dont ils s'interfacent.

    2) Dévelovepement indépendant de chaque composant selon la méthode du "Hello World"

    3 éventuel) On note les défauts de la structure et ce qui ne va pas. On réécrit le programme en tenant compte des erreurs apprises.


    Mais je crois que tout cela dépend aussi de la personnalité du programmeur.
    Personnellement, sans un exemple concret dans un langage, je ne sais pas écrire le moindre prorgramme : j'oublie tout de suite la syntaxe, les détails comme les entêtes, etc... Alors j'écris le Hello World et là, j'ai le langage dans les doigts et tout le reste du programme vient tout seul ensuite...

    Certains, au contraire ont une réelle mémoire de la syntaxe et sont plus à l'aise avec la grammaire syntaxique du langage.

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Et si ce qu'on apprenait ne marchait pas ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 2.

    ah ben, c'est marrant ça.. j'avasi jamais compris ce qu'était l'XP programming...

    Merci pour le lien.

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Et si ce qu'on apprenait ne marchait pas ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 3.

    1) je suis belge aussi ;)

    2) Je ne traite pas les profs ni assistants d'abrutis, loin de là. Certains sont exceptionnellement doués, d'autres moins et ils sont en majorité très sympa (surtout les assistants). Oui, certains sont des abrutis, heureusement pas tous..

    Mais force est de constater que leur connaissance ne s'applique en fait que rarement à ce que nous sommes censés apprendre...

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Editeur de texte surpruissant ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Editeur de texte surpruissant ?. Évalué à 1.

    sorry, je voulait dire "screem" : http://www.screem.org/(...)

    apt-get install screem

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: Editeur de texte surpruissant ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Editeur de texte surpruissant ?. Évalué à 1.

    screen je crois est idéal pour toi !

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: logiciel libre = mort du developpeur ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal logiciel libre = mort du developpeur ?. Évalué à 1.

    Même la majorité des contributeurs du noyau...

    On oublie toute les petites boites qui utilisent le noyau linux en temps réel et/ou pour de l'embarqué et qui le modifie en patchant et en envoyant leurs patchs upstream.

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: La vidéo sous Linux

    Posté par  (site web personnel, Mastodon) . En réponse au journal La vidéo sous Linux. Évalué à 1.

    http://frimouvy.udev.org/wiki/wakka.php?wiki=VideoSousLinux(...)

    mes 0.02€

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: fvwm, mon ami

    Posté par  (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.

    ça marche nickel ! merci :)))

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: fvwm, mon ami

    Posté par  (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.

    euh.. là je vais faire montre de mon ignorance, mais comment on fait ça ?

    Parce que je n'ai jamais compris le apt-get source moi , j'ai toujours fait à la main et ça cochonne tout plus qu'autre chose dans une debian :(

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: conseil programmation grahique

    Posté par  (site web personnel, Mastodon) . En réponse au journal conseil programmation grahique. Évalué à 2.

    pour les trucs vraiment simples : zenity + script bash...

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: fvwm, mon ami

    Posté par  (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.

    ben oui, mais comment ils font dans fvwm à part faire un screenshot à chaque déplacement ?

    et surtout, est-ce que le package debian est patché ?

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: fvwm, mon ami

    Posté par  (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.

    question : c'est quoi ce fameux patch de réelle transparence ? Et comment ça marche ?

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: fvwm, mon ami

    Posté par  (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.

    Oui, tu peux utiliser 3ddesk ! Mais 3ddesk switch seulement entre les viewports et non les desks (selon la terminologie fvwm).

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Les spécifications du langage D sont arrivées

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Les spécifications du langage D sont arrivées. Évalué à 1.

    Oui ? Qui m'appelle ?

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: Sun prévoit une chute vertigineuse des pcs tournant sous Windows d'ici 2007

    Posté par  (site web personnel, Mastodon) . En réponse au journal Sun prévoit une chute vertigineuse des pcs tournant sous Windows d'ici 2007. Évalué à 4.

    Et cette espérance fait penser à Sun que Windows va tomber à 58% d'utilisation d'ici 2007... intéressant non?

    D'après mes calculs, ce serait plutôt 59,636 %. Mais étant donné que 75.987% des statistiques sont fausses...

    Bref, signalons tout de même que ce Java Desktop System est un linux, basé sur gnome, avec Star Office et Java de base, ce qui finalement peut faire à moitié nos affaires, si mon petit doigt ne m'indiquait pas que cela risque d'être du vent...

    ça ferait complètement nos affaires ! Un système Linux, même payant et non entièrement libre serait 100% compatible avec nos systèmes. Ne parlons que du sxw, des jeux développés pour Java Desktop, des appli dveloppées pour Java Desktop, des drivers pour Java Desktop, du nombre de Mozilla dans les stats des sites web, ...

    Bref, je suis 100% pour, même si c'est pas libre et pas beau ! Et passer quelqu'un qui est sous Java Desktop à Debian sera réellement plus facile que depuis Windows :-)

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: FVWM ... le window manager parfait ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal FVWM ... le window manager parfait ?. Évalué à 1.

    Je suis un grand fan de FVWM.

    Mais je suis passé depuis peu à Gnome pour plusieurs raisons :

    1) Je veux mieux maitriser gnome pour pouvoir aider les gens que je converti à Linux.

    2) J'ai pas encore retrouvé le temps de reprendre à zéro ma config Fvwm.

    3) Il y'a certains automatismes bien pratique dans Gnome : l'ajout automatique d'une nouvelle application dans le menu, etc..

    Ce qui serait idéal pour moi serait d'avoir un menu gnome accessible depuis fvwm.
    Et puis je commence à développer des applications pour Gnome, donc faut bien s'y faire...

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Retour de la peine de mort en France ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Retour de la peine de mort en France ?. Évalué à 2.

    GRANDIOSE !!!

    Cette phrase est a affiché en grand et à envoyer aux parlementaires ...

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Une fois de plus

    Posté par  (site web personnel, Mastodon) . En réponse au journal Une fois de plus. Évalué à 1.

    Je peux te parler de mon expérience, je suis passé de Premiere à Cinelerra.

    C'est difficile parce que cinelerra est très moche, plante souvent et ne semble pas facile.

    Mais en fait, Cinelerra est bien plus efficace car comme par magie il dispose juste de ce dont j'ai besoin et rien de plus !

    dvgrab est quand même idéal pour grabber les fichiers dv. Je l'utilisais même quand je montais encore sous Windows.

    De plus, Cinelerra plante aussi souvent que Premiere mais restaure automatiquement ton projet, alors que Premiere me le corrompait.

    Y'a vraiment moyen, c'est juste l'interface qui est hideuse.

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: A quoi servent les lois anti-trust?

    Posté par  (site web personnel, Mastodon) . En réponse au journal A quoi servent les lois anti-trust?. Évalué à 0.

    Oui, je connais DRM :)

    /*****************************************************************************
    * DeDRMS.cs: DeDRMS 0.1
    *****************************************************************************
    * Copyright (C) 2004 Jon Lech Johansen <jon-vl@nanocrew.net>
    *
    * This program is free software; you can redistribute it and/or modify
    * it under the terms of the GNU General Public License as published by
    * the Free Software Foundation; either version 2 of the License, or
    * (at your option) any later version.
    *
    * This program is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    *
    * You should have received a copy of the GNU General Public License
    * along with this program; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
    *****************************************************************************/

    using System;
    using System.IO;
    using System.Text;
    using System.Security.Cryptography;

    class M4PStream
    {
    private Rijndael alg;

    private BinaryReader br;
    private BinaryWriter bw;
    private byte [] sbuffer;

    private string AtomDRMS = "drms";
    private string AtomMP4A = "mp4a";
    private string AtomSINF = "sinf";
    private string AtomUSER = "user";
    private string AtomKEY = "key ";
    private string AtomIVIV = "iviv";
    private string AtomNAME = "name";
    private string AtomPRIV = "priv";
    private string AtomSTSZ = "stsz";
    private string AtomMDAT = "mdat";

    public M4PStream( FileStream fs )
    {
    br = new BinaryReader( fs );
    bw = new BinaryWriter( fs );
    sbuffer = br.ReadBytes( Convert.ToInt32( fs.Length ) );

    alg = Rijndael.Create();
    alg.Mode = CipherMode.CBC;
    alg.Padding = PaddingMode.None;
    }

    byte [] NetToHost( byte [] Input, int Pos, int Count )
    {
    if( BitConverter.IsLittleEndian )
    {
    for( int i = 0; i < Count; i++ )
    {
    Array.Reverse( Input, Pos + (i * 4), 4 );
    }
    }

    return Input;
    }

    int GetAtomPos( string Atom )
    {
    byte [] Bytes = Encoding.ASCII.GetBytes( Atom );

    for( int i = 0; i < (sbuffer.Length - 3); i++ )
    {
    if( sbuffer[ i + 0 ] == Bytes[ 0 ] &&
    sbuffer[ i + 1 ] == Bytes[ 1 ] &&
    sbuffer[ i + 2 ] == Bytes[ 2 ] &&
    sbuffer[ i + 3 ] == Bytes[ 3 ] )
    {
    return i;
    }
    }

    throw new Exception( String.Format( "Atom '{0}' not found", Atom ) );
    }

    uint GetAtomSize( int Pos )
    {
    byte [] Bytes = new byte[ 4 ];
    Buffer.BlockCopy( sbuffer, Pos - 4, Bytes, 0, 4 );
    return BitConverter.ToUInt32( NetToHost( Bytes, 0, 1 ), 0 );
    }

    byte [] GetAtomData( int Pos, bool bNetToHost )
    {
    uint Size;
    byte [] Bytes;

    Size = GetAtomSize( Pos );
    Bytes = new byte[ Size - 8 ];
    Buffer.BlockCopy( sbuffer, Pos + 4, Bytes, 0, Bytes.Length );

    return bNetToHost ? NetToHost( Bytes, 0, Bytes.Length / 4 ) : Bytes;
    }

    public void Decrypt( byte [] CipherText, int Offset, int Count,
    byte [] Key, byte [] IV )
    {
    MemoryStream ms = new MemoryStream();

    ICryptoTransform ct = alg.CreateDecryptor( Key, IV );
    CryptoStream cs = new CryptoStream( ms, ct, CryptoStreamMode.Write );
    cs.Write( CipherText, Offset, (Count / 16) * 16 );
    cs.Close();

    ms.ToArray().CopyTo( CipherText, Offset );
    }

    public byte [] GetUserKey( uint UserID, uint KeyID )
    {
    byte [] UserKey;
    BinaryReader bruk;

    string strHome =
    Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData );
    bool bUnix = Environment.OSVersion.ToString().IndexOf( "Unix" ) != -1;
    string strFile = String.Format( "{0}{1}{2}drms{3}{4:X8}.{5:D3}", strHome,
    Path.DirectorySeparatorChar, bUnix ? "." : "",
    Path.DirectorySeparatorChar, UserID, KeyID );

    bruk = new BinaryReader( File.OpenRead( strFile ) );
    UserKey = bruk.ReadBytes( Convert.ToInt32( bruk.BaseStream.Length ) );
    bruk.Close();

    return UserKey;
    }

    public int [] GetSampleTable()
    {
    byte [] adSTSZ = GetAtomData( GetAtomPos( AtomSTSZ ), true );
    int SampleCount = BitConverter.ToInt32( adSTSZ, 8 );
    int [] SampleTable = new int[ SampleCount ];

    for( int i = 0; i < SampleCount; i++ )
    {
    SampleTable[ i ] = BitConverter.ToInt32( adSTSZ, 12 + (i * 4) );
    }

    return SampleTable;
    }

    public void DeDRMS()
    {
    byte [] IV = new byte[ 16 ];
    byte [] Key = new byte[ 16 ];

    int apDRMS = GetAtomPos( AtomDRMS );
    int apSINF = GetAtomPos( AtomSINF );
    int apMDAT = GetAtomPos( AtomMDAT );

    int [] SampleTable = GetSampleTable();

    byte [] adUSER = GetAtomData( GetAtomPos( AtomUSER ), true );
    byte [] adKEY = GetAtomData( GetAtomPos( AtomKEY ), true );
    byte [] adIVIV = GetAtomData( GetAtomPos( AtomIVIV ), false );
    byte [] adNAME = GetAtomData( GetAtomPos( AtomNAME ), false );
    byte [] adPRIV = GetAtomData( GetAtomPos( AtomPRIV ), false );

    uint UserID = BitConverter.ToUInt32( adUSER, 0 );
    uint KeyID = BitConverter.ToUInt32( adKEY, 0 );
    string strName = Encoding.ASCII.GetString( adNAME );
    byte [] UserKey = GetUserKey( UserID, KeyID );

    MD5CryptoServiceProvider MD5 = new MD5CryptoServiceProvider();
    MD5.TransformBlock( adNAME, 0, strName.IndexOf( '\0' ), adNAME, 0 );
    MD5.TransformFinalBlock( adIVIV, 0, adIVIV.Length );

    Decrypt( adPRIV, 0, adPRIV.Length, UserKey, MD5.Hash );

    if( Encoding.ASCII.GetString( adPRIV, 0, 4 ) != "itun" )
    {
    throw new Exception( "Decryption of 'priv' atom failed" );
    }

    Buffer.BlockCopy( adPRIV, 24, Key, 0, Key.Length );
    Buffer.BlockCopy( adPRIV, 48, IV, 0, IV.Length );

    for( int i = 0, Pos = apMDAT + 4;
    i < SampleTable.Length;
    Pos += SampleTable[ i ], i++ )
    {
    Decrypt( sbuffer, Pos, SampleTable[ i ], Key, IV );
    }

    Encoding.ASCII.GetBytes( AtomMP4A ).CopyTo( sbuffer, apDRMS );
    Encoding.ASCII.GetBytes( AtomSINF.ToUpper() ).CopyTo( sbuffer, apSINF );

    bw.Seek( 0, SeekOrigin.Begin );
    bw.Write( sbuffer );
    }
    }

    class DeDRMS
    {
    public static void Main( string [] Args )
    {
    FileStream fs;
    M4PStream m4p;

    if( Args.Length != 1 )
    {
    Console.WriteLine( "Usage: DeDRMS file.m4p" );
    return;
    }

    try
    {
    fs = new FileStream( Args[ 0 ], FileMode.Open,
    FileAccess.Read | FileAccess.Write );
    m4p = new M4PStream( fs );
    m4p.DeDRMS();
    fs.Close();
    }
    catch( Exception e )
    {
    Console.WriteLine( "Exception: {0}", e.Message );
    return;
    }
    }
    }

    Mes livres CC By-SA : https://ploum.net/livres.html

  • [^] # Re: Windows : terrain de jeu des virus

    Posté par  (site web personnel, Mastodon) . En réponse au journal Windows : terrain de jeu des virus. Évalué à 1.

    Les européens ?

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: http -> http://www.w3.org

    Posté par  (site web personnel, Mastodon) . En réponse au journal http -> http://www.w3.org. Évalué à 2.

    J'oubliais : http://ploum.user.amessage.de/jabber/htmlblog(...)

    Mes livres CC By-SA : https://ploum.net/livres.html