Aller au contenu

ZeBrian

Webmaster Régulier
  • Compteur de contenus

    77
  • Inscrit(e) le

  • Dernière visite

Messages postés par ZeBrian

  1. Entre libre d'utilisation et open source, il y a tout de même une grosse différence...

    Etant donné que ça a l'air de plaire, j'essaierai peut-être d'en faire un service web gratuit avec quelques publicités, ce qui rend donc l'idée de partager le code source assez risquée... Je ne pense donc pas distribuer le code source dans un premier temps ! :unsure:

    De plus, je n'ai strictement aucune compétence en cryptographie ! Tout ce que j'ai fait est d'utiliser astucieusement quelques formules mathématiques, il est donc possible que l'on puisse hacker relativement rapidement le cryptage. Utiliser cet algorithme dans un logiciel sérieux serait donc contre-indiqué...

    Edit : La nouvelle version semble prometteuse : 300.000 essais de mots de passe ne suffisent pas pour arriver à décoder une image :)

    Edit2 : 1 million d'essais non plus :D

    Edit3 : Reste plus qu'à faire l'interface utilisateur, mais je vais me coucher, j'ai cours demain :smartass:

  2. mdr ;)

    Sinon, j'arrive à faire des trucs intéressants avec la prochaine version de l'algorithme... Par exemple stocker 50 ko de données dans une image de 500x360 pixels, sans que le changement ne soit visible (et pourtant j'ai de bons yeux :P).

    Bien sûr, on garde les limitations de poids du format PNG, et les multiples nuances augmentent la taille du fichier final, mais le texte reste complètement invisible, ce qui quand on veut surtout faire passer anonymement des données est le principal ! Par contre, je ne vais peut-être pas trop vanter ce côté-là de l'algorithme car j'ai peur d'avoir des ennuis avec la CIA :P

    A bientôt pour une nouvelle version avec possibilité de cacher n'importe quel type de données ;)

  3. Bien sûr, ce n'est qu'une première version, j'ai omis de préciser qu'environ un mot de passe sur 600 fonctionne pour toutes les images :P

    En fait, j'ai fait ça par simple curiosité : l'idée m'est venue après m'être intéressé au problème de cacher une image dans une autre (en effaçant les bits faibles de chacune des deux images et en utilisant les bits forts de l'image à cacher en tant que bits faibles de l'image rendue)

    Par rapport au bug engendré par l'image noire, il est en fait dû aux dimensions de l'image et non aux couleurs ;)

    Sinon pour la libre utilisation de cet outil, je ne vois pas pourquoi j'en restreindrai l'usage ! Je suis étudiant donc je n'ai pas le temps de me lancer dans des poursuites judiciaires :P

    Enfin, pour la question de la transparence, c'est une limitation de la librairie GD pour PHP : elle ne gère pas le canal alpha des PNG :unsure:

  4. sarc : En effet, ton image génère une boucle infinie dans mon algorithme ! Il faut simplement que j'affine un peu la méthode pour générer les emplacements des pixels à changer, celui-ci finit par tourner en boucle pour certaines images... Je m'y mets de suite ;)

    Wolf18 : De rien, mais puisque je vois que vous avez l'air d'aimer, j'en ferai une version plus correcte bientôt ! :)

  5. Le fonctionnement est très simple :

    1) à partir du mot de passe, on génère une clef

    2) pour chaque lettre du texte, on choisit un pixel de l'image : le parcours des pixels choisis dépend de la clef

    3) étant donné que les lettres peuvent être codées sur 8 bits tandis que la couleur d'un pixel est codée sur 24 bits, il est relativement facile de modifier très légèrement la couleur du pixel afin d'y coder une valeur correspondant à la lettre (la manière de modifier la couleur dépend également de la clef)

    Pour décoder, une fois équipé du mot de passe, on génère la clef, on en déduit le parcours des pixels, on extrait chaque lettre une par une et on recolle le tout !

    Par rapport à la sortie en PNG, je suis en train de voir si je ne pourrais pas sortir du JPEG mais mes premiers essais ne sont pas concluants : même avec une compression de qualité 100%, il semble que des informations sur les couleurs des pixels soient perdues, on ne peut alors plus récupérer le texte...

    Edit : En fait, après quelques tests, sur une image de 180.000 pixels que je passe en JPEG avec une compression de qualité maximale avec GD, j'ai 61.753 pixels dont les couleurs sont légèrement modifiées... Ma méthode ne peut donc pas s'appliquer avec une compression JPEG :(

  6. Bonjour,

    J'écris juste pour vous faire connaître un énième gadget de ma conception : un petit script qui cache un texte dans une image avec un mot de passe ! Avec un peu de maths, mais j'ai réussi à faire que la perturbation engendrée pour obtenir l'image "secrète" ne soit pas visible à l'oeil nu...

    Voici par exemple une jolie moto : http://local.izipub.com/project_hide/moto.jpg

    et sa version contenant un texte crypté avec le mot de passe "test" : http://local.izipub.com/project_hide/abc878.png

    Pour décoder l'image cryptée, c'est ici

    Pour crypter une nouvelle image, c'est là !

    Voilà, amusez-vous bien :P

  7. Ce n'était pas un projet, juste un petit script que j'avais fait pour l'occasion '^^

    Je me suis longtemps renseigné sur toutes les techniques permettant de faire des arrondis, que ce soit avec CSS ou JavaScript ! Etant donné que JavaScript n'est pas disponible sur toutes les plateformes et qu'en général, on aime que le site ne soit pas défiguré en l'absence de JavaScript, j'ai d'ors-et-déjà éliminé cette solution.

    Il me semble donc que la solution la plus efficace est de fixer la largeur du bloc et d'utiliser 3 blocs horizontaux qui contiendront la partie haute, la partie centrale ainsi que la partie basse du design. Toutefois, dans le cas d'un design fluide (j'entends par là une largeur qui s'adapte), je n'ai jamais trouvé de solution réellement satisfaisante...

    Mais puisque personne n'est directement intéressé, je ne le ferai que s'il m'en vient une soudaine envie ;)

  8. Pas de problème ;)

    Par contre, quelles sont les techniques dont tu parles et qui respectent la sémantique ? J'en connais un certain nombre mais je n'en vois pas qui fonctionnent pour des designs à largeur et hauteur dynamique :unsure:

    De toute façon, le script consiste surtout à la génération des images et non à leur organisation, c'est donc un simple détail...

  9. Bonsoir,

    J'ai programmé ces derniers jours un petit script PHP/GD qui permet de générer des "blocs" graphiques avec bords arrondis, possibilité d'effets de dégradés en haut et en bas (mais pas sur la partie centrale du bloc) et taille dynamique.

    En voici un exemple précis (les dimensions ont été volontairement exagérées) : http://local.izipub.com/exp/gd/

    Au départ, je m'étais dit que j'allais faire une petite interface pour permettre à tout le monde de profiter du script, mais j'ai un peu la flemme alors est-ce que ça vous intéresse ? Qu'au moins je le fasse pas pour rien :P

    Bonne fin (ou début ?) de soirée !

    PS : Le code HTML est en <table>, mais il est possible de le passer en <div> si vous voulez :)

  10. Bonjour,

    Etant actuellement en train de coder une grosse application en JavaScript pour une application commerciale mais publique, je cherche le moyen de rendre le plus difficile possible à mes concurrents la copie du code source...

    J'ai déjà créé un petit script PHP qui remplace tous les noms de variables non réservés par des noms incompréhensibles et concatène le tout en une seule ligne de code, le résultat est plutôt satisfaisant mais j'aimerais faire encore mieux... Auriez-vous des idées un tant soit peu diaboliques ? :P

    Bonne journée !

  11. Faut accepter les leçons dans la vie, j'ai donc supprimé mon tutorial ;)

    Je n'avais pas pensé à tes arguments par rapport au référencement, et il est vrai que l'on peut presque toujours avoir les avantages de ces optimisations sans les inconvénients grâce aux CSS... Où avais-je la tête ? :P

    Par rapport au lien que j'ai donné qui redirige vers un deuxième, en voici la raison : mon site est accessible avec ou sans AJAX (il me sert principalement de démonstration technologique même s'il n'y a pas grand chose à voir). La redirection vers "#p=optimisation" a pour but de renvoyer l'utilisateur sur la page d'accueil puis de charger la page via AJAX : s'il n'y avait pas cette redirection, on se retrouverait avec des liens du genre "?p=home#p=optimisation" qui perdraient tout leur sens... Bien sûr, cette solution est particulièrement maladroite, reste que c'est la seule que j'ai trouvé pour m'occuper proprement des utilisateurs ayant JavaScript sans gêner les autres :(

  12. Bonjour,

    Comme souvent, j'ai créé un script qui fonctionne sur tous les navigateurs sauf, bien sûr, Internet Explorer (même en version 7)

    Le script a pour vocation de créer dynamiquement un tableau HTML à partir d'un tableau associatif en JavaScript. Bien sûr, son existence hors contexte ne se justifie pas, mais il est prévu pour être intégré à une application JavaScript riche : une solution en PHP n'aurait donc aucun intérêt.

    Voici donc le lien du script en question : http://local.izipub.com/exp/salete_ie.php

    Auriez-vous une solution alternative qui fonctionne ?

    Merci d'avance :unsure:

    EDIT : La boîte de dialogue qui s'affiche est censée donner le contenu de document.body : même si elle fonctionne sur tous les navigateurs, le tableau en question ne s'affiche pas sur Internet Explorer...

  13. Au niveau du temps de chargement des pages, le changement ne devrait être perceptible que dans les cas extrêmes : l'intérêt principal est de diminuer la taille des pages et donc d'économiser de la bande passante.

    Vue la rudimentarité du code JavaScript, le temps de calcul côté client est très peu augmenté : le temps que l'on gagne en chargement compense largement cette petite dépense en calcul !

    Par rapport aux utilisateurs n'ayant pas JavaScript, il y a tout un paragraphe destiné à leur permettre d'accéder tout de même à l'ancienne version de la page : il n'y a donc aucun problème !

  14. Bonjour,

    J'écris ce message pour vous informer d'un tutorial que j'ai écrit ce matin : http://www.web2master.fr/?p=optimisation

    Il permet d'alléger considérablement les pages PHP qui contiennent un grand nombre de répétitions d'un même modèle HTML, par exemple une liste de commentaires sur un blog. Le principe est d'appliquer le modèle HTML du côté JavaScript et non du côté PHP. Une solution pour les visiteurs n'ayant pas JavaScript est également présentée :)

    Bonne journée !

  15. Merci pour ta réponse, effectivement c'est une piste mais tu confirmes bien ce que je pensais : on ne peut pas modifier le style CSS associé au statut "hover" d'un élément après chargement... Ça fait un truc de plus à ajouter à ma librairie !

    Je mets le sujet en résolu puisque irrésolvable :P

    EDIT : Ah non impossible de modifier le premier post :(

  16. Merci pour ta réponse mais ce n'est pas exactement ce que je recherche ! Je ne cherche justement pas d'alternative au CSS : je veux agir sur les propriétés CSS de l'objet correspondant au statut "hover"... Seulement il me semble que c'est impossible, c'est pourquoi je pose la question :P

    Sinon, je limitais mon cas aux liens car, sous IE6, l'action "hover" ne s'applique qu'à la balise <a> :)

  17. Bonjour,

    Tout d'abord, je tiens à signaler que contrairement à ce que pourrait faire penser le titre de ce post, je ne cherche pas exactement à créer un effet similaire au "hover" de CSS grâce à JavaScript. Ce que je cherche à faire est probablement impossible, c'est pourquoi je vous pose la question : puisqu'il est possible de modifier le style d'un objet HTML par JavaScript, est-il possible de modifier son style:hover, style:focus ou encore style:active ? Je parle ici de modifier directement le style CSS de l'objet, en particulier son statut "hover"...

    Pour clarifier un peu la situation, un exemple de ce que je voudrais pouvoir faire :

    var obj = document.getElementById('objet'); // on sélectionne "objet" (on supposera que c'est un lien pour que hover fonctionne toujours)
    obj.style.background = 'blue'; // on définit la couleur de fond de l'objet
    obj.style_hover.background = 'red'; // on définit sa couleur de fond lorsque la souris passe au-dessus

    En espérant que vous aurez compris ce que je demande, merci d'avance ! :)

    PS : Les solutions consistant à définir au préalable le style de l'objet en question ne me conviennent pas, car le style de l'objet pourra être changé à travers JavaScript...

×
×
  • Créer...