:-y

Usurpation d'user-agent

vendredi 24 juin 2016 - 06:24

Quand on cherche un type de fichier précis, il y a l'option filetype. Mais quand on ne trouve pas sur DDG on peut alors utiliser !g qui parfois, il faut bien l'admettre retourne plus de résultats.

Et là, on pense trouver ce qu'on cherche... C'est un exemple ici, je ne cherchais pas ce livre qu'on peut d'ailleurs lire en ligne http://www.catb.org/esr/writings/taoup/html/ :

[PDF]The Art of Unix Programming - GEEKBOOKS .me

https://www.geekbooks.me/books/9f/4b/.../the_art_of_unix_programming.pdf
de ES Raymond - ‎2003 - ‎Cité 452 fois - ‎Autres articles
9 déc. 2002 - The Art of Unix. Program- ming. Rule of Robustness: Robustness is the child of transparency and simplicity. 41. Rule of Representation: Fold ...

On clique en espérant voir s'afficher un joli pdf dans le navigateur et paf. On tombe sur une page web qui nous propose de télécharger le pdf. Bien sûr quand on clique sur le lien, on nous invite gentiment à l'inscription...

Bon, j'avoue que j'aurais pu cliquer sur un autre résultat parce qu'il y en avait plusieurs, mais sur le principe je n'ai pas trop apprécié.

Du coup je fais un clic droit pour copier le lien, mais bien sur ils ont désactivé cette possibilité. Tant pis je vais devoir aller sur un autre résultat...

Non je déconne bien sûr, Firefox est là pour me sauver, je fais [Shift + Clic droit] et hop, copier l'adresse du lien. Après avoir vérifier, ce n'est pas possible de faire la même chose sous Chromium. Franchement, merci Firefox de faire ça par défaut parce que cette pratique est juste ridicule...

C'est bien gentil tout ça, mais ce lien est celui qui m'a redirigé sur cette page. Donc ça me sert à rien d'essayer de le télécharger directement. Je me dit que si Google propose le pdf c'est que le site fournit le pdf à Google. Direction https://support.google.com/webmasters/answer/1061943?hl=en

J'ouvre un terminal et un petit wget avec l'option qui va bien :
wget -U "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" [clic droit : coller]

L'art de la programmation, c'est tout un art...

KrISS zoom avec blender

dimanche 13 mars 2016 - 19:24

Je vous avais promis un petit script python pour travailler avec blender. Il permet de convertir des images en vidéo avec des effets de déplacement et de zoom :

https://raw.githubusercontent.com/tontof/kriss_zoom/master/kriss_zoom.py

Il est ultra simple d'utilisation et tout s'effectue en ligne de commande dans un terminal.
Pour avoir un aperçu rapide, je vous invite à jeter un coup d’œil dans les exemples :
https://github.com/tontof/kriss_zoom#examples

Il faut bien sûr avoir blender d'installé :-)

KrISS MVVM sur Github

vendredi 04 mars 2016 - 20:13

Je reste silencieux en ces temps où il faudrait s'écrier haut et fort qu'il faut que ça change.

En attendant.. Je vais essayer de prendre de bonnes résolutions et vous parler de tous ces projets que je garde de mon côté égoïstement. Les raisons sont différentes en fonction des projets, mais il ne faut plus que ça dure. La première étape de ce long travail est de vous présenter brièvement l'état actuel des choses.
KrISS edit : A simple and smart (or stupid) website editor (Un projet tout récent que je trouve prometteur mais qui nécessite encore un minimum de fonctionnalités pour être présenté.)
KrISS fbwg : A simple and smart (or stupid) facebook website generator (4 mois que j'ai créé le repo github et qu'il n'a pas bougé alors que le projet est fonctionnel pour la partie principale. Il va falloir que je prenne un moment pour épurer le code mais ça ne devrait pas être trop long)
KrISS zoom : A simple and smart (or stupid) image to video blender script convert with pan and zoom (9 mois qu'il existe alors qu'il est entièrement fonctionnel et que je n'envisage même pas de le faire évoluer. C'était une petite expérimentation personnelle avec blender et il faut juste que j'écrive un README...)
KrISS tuto : (1 an sans nouvelle alors que j'ai ajouté une partie HTML/CSS. Il faut juste que je prenne le temps de le mettre à jour)
KrISS send : (3 ans mais ce n'est qu'un début parce qu'il n'y a aucune ligne de code pour ce projet, c'est juste une idée dans ma tête pour ne pas oublier...)

Tout ça pour arriver à vous présenter le tout nouveau KrISS MVVM : A simple and smart (or stupid) MVVM framework
https://github.com/kriss/mvvm

Vous avez vu le lien ?
J'ai pu bénéficier du pseudo kriss parce qu'il faisait partie de ces comptes dormants inutilisés.
https://help.github.com/articles/name-squatting-policy

Quand je vous dis que j'aimerais que le code de KrISS feed évolue, c'est dans l'optique de pouvoir faire ça avec KrISS MVVM. Pour le moment ça reste très basique et ne fonctionne que pour les classes simples. C'est un projet WIPOC (Work In Progress and Proof Of Concept).

Dans l'idée vous créez une classe PHP et ça suffit pour avoir toutes les pages CRUD (Create, Read, Update, Delete). C'est prévu pour être super flexible et je me dis qu'il y a peut-être quelque chose à faire dans ce sens. Je ne sais pas comment il va évoluer mais j'aime bien ce début (même si il reste plusieurs choses qui me déplaisent comme l'utilisation du host dans les vues qu'il faudrait déléguer au routeur...).

Pour avoir un petit aperçu, vous pouvez aller voir le résultat de
https://github.com/kriss/mvvm/blob/master/mini.php
sur
http://tontof.net/mvvm/mini.php/test
Bon comme c'est la version mini c'est pas terrible ça permet d'accéder à toutes les classes dispos en PHP. Du coup on peut aller sur
http://tontof.net/mvvm/mini.php/datetime

Bien sûr dans une vraie application, il est possible de définir les urls accessibles
https://github.com/kriss/mvvm/blob/master/index.php#L23
Ce fichier peut paraître impressionnant mais en fait, il est juste utilisé pour tester toutes les possibilités de KrISS MVVM et tous les blocs peuvent être mis en commentaires en fonction des besoins. KrISS MVVM est vraiment prévu pour être flexible. Du coup on peut modifier le comportement par défaut en disant qu'on veut utiliser une autre classe à la place de celle prévu par défaut et c'est tout.
http://tontof.net/mvvm/index.php

Du coup, les données pour config et configs sont stockées dans un fichier texte php, alors que user utilise une base sqlite grâce à Maphper.

Il faut que je prenne un peu du temps pour ajouter des commentaires parce que ce n'est pas forcément très accessible. Il faut bien comprendre l'injection de dépendances car c'est principalement ça qui fait toute la magie du projet.

Je ne peux que vous conseiller le blog (en anglais de Tom Bulter) https://r.je
Il a vraiment été la source d'inspiration principale de ce projet.

J'espère à très vite pour le prochain projet (sûrement KrISS zoom)

KrISS feed est mort, vive KrISS feed !

jeudi 01 octobre 2015 - 17:45

Quand je vois passer des messages sur KrISS feed, je ne réponds pas souvent, car quand il s'agit de questions générales sur l'outil lui même, la plupart du temps, je vois d'autres personnes répondre et c'est bien chouette (en plus de faire plaisir). Les seules questions auxquelles je réponds toujours sont celles qu'on m'envoie directement par mail (oui je sais je n'ai toujours pas de page contact, mais je suis joignable sur free.fr :-)) ou sur github (même si parfois d'autres sont plus rapides que moi :-p)

Ce qui est drôle aussi, c'est que bien souvent, on me transmet des messages pour me dire qu'on parle de KrISS feed ou autre et ça aussi c'est bien chouette parce que j'avoue ne pas savoir comment font les gens pour suivre autant de flux RSS. Je pense tourner autour de 100/150 articles par jour et je trouve que ça fait déjà énormément (heureusement, qu'il y a beaucoup de photos de chatons qui ne demandent que quelques secondes avant que j'appuie sur 'n').

Par contre, quand on demande si KrISS feed est en vie, il n'y a malheureusement pas grand monde qui puisse se substituer pour répondre à cette question à ma place. Comme cela fait un petit moment, je me suis dit que ça ferait l'occasion de donner des news sur le projet, les autres projets et le reste. La réponse n'étant pas 42.

Pour moi, ce qui fait qu'un outil est en vie ou pas, ce n'est pas tant le fait qu'il y ait eu des mises à jour récentes ou pas, mais surtout est-ce qu'il est encore utilisé et qu'il fonctionne encore. Pour ma part, j'utilise toujours KrISS feed quotidiennement et je pense ne pas pouvoir m'en passer encore longtemps. Alors est-ce que KrISS feed est encore en vie, la réponse est oui sans hésiter ! Heureusement, il n'est d'ailleurs pas tout seul :
- https://freshrss.org
- https://miniflux.net
- https://leed.idleman.fr
- et pleins d'autres TTRSS, selfoss, etc.

Pour le moment, si mes projets n'avancent pas publiquement, ce n'est ni un manque d'idée ou de motivation, mais un manque de temps. J'ai tout un tas d'idées que j'aimerais développer (comme beaucoup), mais avant d'avancer, j'ai envie d'avoir une base solide qui me permette de continuer à développer en plusieurs fichiers tout en les fusionnant pour n'avoir qu'un seul fichier final pour les utilisateurs. Franchement, quand je dois tester des logiciels et que je dois transférer 1 946 fichiers par FTP pour tester un logiciel de réservations (phpScheduleIt pour ne pas le citer), je me dis que cette histoire de fichier unique est juste géniale. Je ne comprends d'ailleurs pas comment ça se fait qu'il y ait si peu de solutions qui soient en un seul fichier.

Alors oui, il reste encore des problèmes avec KrISS feed, mais en fait pas tant que ça :
- Celui de corruption des données semblent être résolu depuis une tentative de correction. Je n'ai jamais rencontré ce problème et comme la correction alourdit le code (de mon point de vue), je ne l'ai pas ajouté dans le code principal (je vois ça comme une option/un plugin en plus qu'il faudrait faire).
- Il y a des problèmes avec le service de favicon qui est tombé en rade. En attendant de trouver une meilleure solution, j'ai quand même proposé un nouveau code qui se trouve dans le dossier dev qui se base sur google. Heureusement que c'est mis en cache au premier appel :-)
http://www.google.com/s2/favicons?domain=http://tontof.net/feed

Même si publiquement, je ne donne pas beaucoup signe de vie, je continue de réfléchir et de tester des choses pour voir comment je peux améliorer KrISS feed. Dans mes idées, je voudrais m'orienter vers une solution qui automatise la création d'une grosse partie du code. J'ai par exemple lu tout le contenu du blog de Tom Butler que j'ai trouvé très intéressant. J'aimerais d'ailleurs voir si je ne peux pas utiliser ses codes pour améliorer KrISS feed. Je travaille beaucoup avec Symfony et j'apprécie l'injection de dépendance et la structure MVC (mais aussi MVVM, ADR, etc.). Alors je m'oriente petit à petit vers ces approches sans pour autant perdre l'idée que je veux que ça reste léger ! Dans mon idée principale, j'aimerais avoir besoin de seulement définir mes objets principaux pour avoir une appli CRUD/REST fonctionnelle avec toujours le fichier unique et la fonctionnalité sans javascript ! Dans les autres idées, il y a l'utilisation de https://github.com/badphp/dispatch que je trouve intéressante. Une fois que je serais satisfait de ma base principale, j'essayerai d'appliquer ça a un exemple concret comme KrISS feed, puis KrISS blog que je n'ai pas fait évoluer depuis longtemps puis KrISS link que j'utilise aussi tous les jours même si je suis le seul car il reste un concept basé sur shaarli 0.0.40beta.

Malheureusement, il me manque du temps. Pour le moment, le temps libre que j'ai, je le passe sur un autre projet perso qui j'espère me permettra d'avoir plus de temps libre pour continuer mes projets KrISS. KrISS se sont des projets persos que j'utilise pour mon usage personnel et que je souhaite continuer de distribuer en copyleft (ɔ). Mais pour essayer de gagner de l'argent avec un autre projet, je suis en train de développer quelque chose que j'espère pouvoir vous faire découvrir l'année prochaine ! En attendant, je continue de corriger quand quelque chose ne va pas/plus, mais je n'améliore pas/plus vraiment. Ça reste dans l'idée :
« Il semble que la perfection soit atteinte non quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retrancher. » Antoine de Saint-Exupéry (oui je me répète)

J'aimerais que KrISS feed et les autres soient parfaits, mais il reste encore du chemin. J'espère à très vite pour de nouvelles mises à jour !

RSI : Régime social incompréhensible

jeudi 30 juillet 2015 - 11:58

TLDR : mes déboires avec le RSI, ne vous sentez pas obligé de lire, c'est juste au cas où cela puisse servir à d'autres :-p

J'ai hésité avec incompétent pour le titre, mais j'avais peur de représailles et je me suis dit que c'était peut-être moi qui l'était au regard de mon acharnement de plusieurs mois qui vient d'aboutir par un REJET !

Pour me rassurer, je me dis que je ne suis pas le seul à avoir des problèmes avec le RSI : http://www.sauvonsnosentreprises.fr/51+concernant-le-rsi.html

Si j'ai lu beaucoup de commentaires de personnes qui se trouvent dans la même situation que moi et qui ont demandé de l'aide, je n'en ai pas vraiment trouvé qui expliquait les démarches qu'ils avaient entrepris pour essayer de changer les choses.

J'espère que mon retour servira à d'autres même si je n'ai pas vraiment réussi à faire avancer le schmilblick. Pour résumé, j'ai eu un problème d'affiliation : je suis marqué comme artisan alors que je suis en profession libérale...

Tout commence fin avril 2013, quand je me lance dans l'auto-entreprise. C'est pour simplifier la partie administrative, qu'on m'avait dit. Après m'être pas mal renseigné, je savais que je devais dépendre de la profession libérale et j'ai donc rempli le bon papier :

déclaration

Pour la déclaration de l'activité, j'étais un peu indécis car je ne savais pas exactement ce que j'allais faire. J'avais une première piste pour travailler en sous-traitance pour le développement d'un site. Mais j'avais également pensé faire des formations à domicile et pourquoi pas du dépannage.

Je remplis donc en choisissant une activité qui me semblait pouvoir regrouper un peu tout sans me limiter. (Maintenant je sais qu'en fait, ça ne sert pas à grand chose d'essayer d'être le plus précis possible car j'aurais choisi le truc le plus simple, comme Conception de site web, Développement, ça m'aurait évité tous mes déboires sans m'empêcher de faire d'autres choses)

déclaration activité

J'avais vérifié et quand j'ai fait ma déclaration, cette activité, qui a pour code APE 6209Z, pouvait dépendre du secteur de l'artisanat ou de la profession libérale. Maintenant, les choses auraient été différentes car ce code est uniquement associé à l'artisanat et j'aurais su que ce n'était pas bon.

Peu de temps après ma déclaration, je reçois un mail me demandant d'indiquer en quoi consiste mon activité de PRESTATAIRE EN INFORMATIQUE.

Je réponds en disant que j'avais eu du mal à choisir parce que j'envisageais plusieurs choses. Mais suite à ce mail qui est resté sans réponse, les ennuis ont commencé sans que je m'en aperçoive. J'ai appris bien plus tard que c'est ce mail qui est à l'origine de tous mes problèmes.

Pendant presque 1 an j'ai effectué mes déclarations sur le site www.lautoentrepreneur.fr jusqu'au jour où arrive la déclaration des impôts. J'ai une amie qui est dans la même situation que moi et nous n'avons pas reçu les mêmes papiers. En cherchant, je m'aperçois, que c'est parce que je suis considéré comme artisan :-(

Je me renseigne donc auprès du RSI qui ne sait pas vraiment quoi me dire et me conseille de faire un changement d'activité.

modification

Et voici que je choisis l'activité Conception de site web, Développement, Vente de solutions informatiques ce qui me permettra d'avoir le code APE 6201Z qui dépend de la profession libérale : http://www.entreprises.gouv.fr/files/files/directions_services/cnapl/observatoire/etudes/observatoire-de-l-activite-liberale-guide-methodologique.pdf

modification activité

En septembre, je reçois un papier du RSI m'indiquant :
« Vous exercez, désormais, une activité libérale. »
Ce papier, je l'avais complètement zappé, car pour moi, c'était juste normal et tout était rentré dans l'ordre.

Pendant ces modifications, j'ai appris que j'avais été radié (au lieu d'une simple modification d'activité). Je n'ai donc pas pu faire mes déclarations en ligne et je devais donc aller directement à l'URSSAF pour payer car je n'avais plus d'accès en ligne. Quand j'ai été recréé j'ai reçu par courrier 17 fiches de déclaration comme si je devais tout redéclarer depuis avril 2013. J'espère que c'était automatique parce que sinon, je plains le gars qui à fait les enveloppes...

Je commence aussi à recevoir des papiers de la CIPAV qui gère justement les professions libérales. Ils me demandent de leur payer les cotisations.

Je reçois ensuite un courrier de mise en demeure de la CIPAV pour cotisations impayées et quand je les ai par téléphone, ils me disent de ne pas m'inquiéter et de simplement leur envoyer un justificatif de mon statut d'auto-entrepreneur et qu'ils feront les démarches pour demander les cotisations au RSI. Bien sûr, je demande le papier au RSI, je l'envoie à la CIPAV qui met un temps relativement long à traiter les courriers mais qui semblent plutôt efficaces contrairement aux autres organismes. Ils m'indiquent que ce n'est pas un papier du RSI qu'ils veulent, mais de l'URSSAF... Du coup, c'est encore en cours et j'espère qu'avec ce nouveau papier ce sera bon. Bien sûr, l'envoi par mail aurait été beaucoup trop simple...

Quand j'ai de nouveau accès au site www.lautoentrepreneur.fr je vois que je suis toujours considéré comme artisan. (J'ai zappé la lettre de septembre qui m'indiquait pourtant que j'étais bien en profession libérale)

Je retourne donc au RSI et leur dit que je veux faire une contestation d'affiliation. Ils me disent qu'ils ne peuvent rien faire et qu'il faut que j'envoie une lettre au siège. J'écris donc au siège pour leur dire que je suis mal affilié.

- J'ai une réponse rapide (1 mois) pour me dire qu'avec le code APE 6209Z je suis bien artisan.

Je me dis qu'ils n'ont même pas pris la peine de regarder mon dossier car ce code APE n'est plus le bon. Je leur écris une seconde fois pour leur dire qu'ils se sont trompés de code APE.

- Réponse rapide (1 mois) qui m'indique que même avec le code APE 6201Z je suis artisan à cause de mon activité principale.

Je ne comprends pas, je n'ai qu'une seule activité, je ne vois pas de quoi ils parlent, je retourne au RSI et j'arrive à avoir une personne au téléphone du siège qui me dit que c'est bien normal que je sois en artisan. J'apprends que c'est suite à une enquête et qu'à leur niveau, ils ne peuvent rien faire. Je leur demande ce que je dois faire pour faire faire la modification et elle me dit de faire un dossier qui justifie que je suis bien en profession libérale. Je n'ai évidemment aucune information sur les pièces à fournir.

Je regarde donc sur les sites de référence comme la CIPAV, entreprises.gouv.fr et j'imprime des papiers qui montrent que je suis bien en profession libérale. J'envoie le courrier en mars.

Évidemment pour ne pas simplifier les choses, j'ai déménagé entre temps, ce qui m'a fait changé de SIRET et j'ai retrouvé le papier de septembre où le RSI me dit que je suis en activité libérale...

Sur tous les sites où j'indique mon SIREN/SIRET j'apparais en profession libérale. Sauf sur le site de www.lautoentrepreneur.fr qui me considère encore comme artisan.

Et voici 4 mois après, que je reçois la réponse : REJET.

Des articles du code de la sécurité sociale L 133-6, L 133-6-1, L 621-3, L 622-3, L 622-7 comme justification et à priori c'est la faute du Centre National d'Immatriculation Commune d'Auray (CNIC) qui a choisit définitivement mon affiliation ?? Vous vous souvenez le fameux mail. C'était ça...

Mon dernier recours possible le tribunal des affaires de sécurité sociale qui « examinera [le] litige au regard des seules règles de droit applicables en l'espèce (...) qui ne prévoient pas de dérogation pour les cas particuliers »

Bien sûr si le tribunal estime mon recours abusif ou dilatoire, je peux avoir une amende... Du coup, je pense que c'est suffisamment dissuasif pour tenter quand bien même je pense qu'ils sont dans l'erreur. J'ai 2 papiers de leur part complètement contradictoire :

- Celui de septembre 2014 qui m'indique que je suis en activité libérale :
activité libérale

- Celui de juillet 2015 qui m'indique qu'ils ne veulent pas me mettre en activité libérale :
pas activité libérale

Allez comprendre. Bien sûr quand tout se passe par courrier et qu'il n'y a personne en face à qui poser les questions, les choses ne peuvent pas vraiment se débloquer. Les bureaux du RSI ne servent pas à grand chose, ils sont remplis de secrétaires qui ne comprennent pas mieux que moi ce qu'il se passe et qui sont impuissants face à cette situation.

Euh ben voilà, je n'ai plus qu'à attendre une réponse de la CIPAV qui j'espère me confirmera qu'avec ce nouveau papier, c'est bon. Je vais aussi essayer de joindre le CNIC pour avoir leur avis car a priori tout dépendrait d'eux... Bien sûr, on trouve très peu d'info à leur sujet sur la toile et le seul numéro que j'ai sonne dans le vide :-(

Je vais aller voir mon médecin pour savoir si je peux déclarer une phobie administrative, et avoir ainsi une dispense...

Les transitions dans Blender

mardi 28 juillet 2015 - 11:51

Par défaut, il n'y a pas beaucoup d'effets de transition dans Blender (simple, double, iris et horloge).

Comment faire pour avoir une transition personnalisée à partir d'une image en niveau de gris ?

Récupérer une image de transition
Si vous n'avez pas d'idées, voici les transitions disponibles pour le prochain openshot
https://github.com/OpenShot/openshot-qt/tree/master/src/transitions/extra

Créer une transition avec imagemagick
Sinon, il est possible de créer sa propre transition avec par exemple imagemagick :
http://www.imagemagick.org/Usage/canvas/#gradient_fx

convert -resize 640x480! xc:white -channel G -fx 'cos(pi*(i/w-.5))' -separate -rotate 90 -resize 640x480! -swirl 520 gradient.png


gradient

Convertir l'image en masque animé
Je ne sais pas si c'est la solution la plus simple, et il existe peut-être quelque chose dans Blender qui permet de faire directement cela, mais à partir de notre image en niveau gris, il faut créer un masque animé.

for i in $(seq -w 0 1 255); do convert gradient.png -flatten -threshold $(echo "100*(${i}/255)" | bc -l)% gradient_${i}.png; done


On obtient alors 256 images png en noir et blanc.

Voici ce que ça donne en gif :
convert -set delay 1 gradient_* gradient.gif

gradient

Appliquer un masque avec Blender
Tout d'abord, il faut ajouter le masque sur la piste 1 des séquences vidéos. Pour cela, il suffit d'ajouter une image (Add -> Image) et dans la sélection mettre par exemple gradient_*.png. Blender importera alors toutes les images comme une seule séquence vidéo.

Si on veut pouvoir gérer la longueur de la transition, il faut ajouter un effet de vitesse. Pour cela, il suffit de sélectionner le strip correspondant à notre masque, puis Add -> Effect strip... -> Speed Control. Ainsi, en redimensionnant le strip du masque, cela permettra d'adapter la transition à la longueur désirée.

Sur les pistes 3 et 4, il faut ensuite disposer nos 2 séquences vidéos qui vont avoir la chance d'avoir une belle transition personnalisée. La première séquence doit se situer sur la piste 4 pour être visible au dessus de la séquence finale qui sera sur la piste 3.

Ensuite, il faut sélectionner la première séquence sur la piste 4 et lui ajouter le masque. Dans les propriétés, Add strip modifier -> Mask puis dans le champ Mask, il faut choisir le strip speed.

À ce niveau là, l'effet fonctionne et le strip de la piste 3 disparaît avec l'effet escompté. En revanche, on ne voit pas apparaître le strip de la piste 4. Pour cela, il faut choisir dans les propriétés de la piste 3 : Blend -> Alpha Over.

Et voilà, c'est terminé :
lenna

Pour ajouter un effet de blur à la transition, 2 solutions s'offrent à vous (mais en fait 1 seule à vraiment utiliser) :
- Ajouter un effet blur directement dans Blender Add -> Effect strip... -> Gaussian Blur (à partir de la version 2.72 je crois). Attention, la prévisualisation et la génération de la vidéo vont être très longues car Blender va recalculer le blur pour chaque image. Dans la pratique, je ne vous conseille pas cette solution ;
- Ajouter un effet blur directement sur le masque avec imagemagick.

for i in $(seq -w 0 1 255); do convert gradient.png -flatten -threshold $(echo "100*(${i}/255)" | bc -l)% -blur 0x6 gradient_${i}.png; done

Attention au paramètre de blur, ici, il est très petit à cause de la taille des images.
http://www.imagemagick.org/Usage/blur/
En gros c'est {radius}x{sigma} avec radius qu'on fixe à 0 et sigma c'est la largeur en pixel de l'effet blur.

lenna blur

Blender : LA solution pour le montage vidéo ?

vendredi 24 juillet 2015 - 11:43

Pour réaliser un montage vidéo sous linux, il y a 2 approches :
- utiliser un logiciel de montage vidéo user friendly qui vous simplifiera la tâche mais qui vous limitera dans les usages ;
- passer du temps à comprendre comment utiliser un logiciel qui ne vous laissera qu'une limite celle de votre imagination.

Le podium des logiciels simples
Je ne vous parle pas des cinelerra, lightworks, vlmc ou autres, je n'ai jamais réussi à les utiliser plus de 10 min :
- Cinelerra (gère peu de formats et n'est pas du tout agréable à prendre en main) ;
- Lightworks (pareil que Cinelerra mais nécessite en plus la création d'un compte sur leur site...) ;
- VLMC (qui était très prometteur, mais qui depuis l'annonce de sa sortie en 2011, n'a pas évolué ?).

Les logiciels avec lesquels on peut faire quelque chose sont KDEnlive, Openshot et Shotcut :
- KDEnlive (est très complet, mais son plus gros défaut c'est les 3 premières lettres de son nom : KDE. Si vous êtes sous un environnement KDE, alors il sera parfait pour vous, sinon, c'est un peu plus compliqué à installer et à utiliser) ;
- Openshot (vraiment génial dans sa version 1, j'attends avec impatience la version 2 qui sera en plus multi-plateforme. Le point noir actuel c'est la timeline qui ne permet pas de manipuler les séquences vidéos comme on veut facilement) ;
- ShotCut (ne nécessite pas d'installation. Il permet l'importation de code HTML/CSS/JS comme vidéo. Ces défauts sont l'absence d'un vrai éditeur de titres et l'impossibilité d'utiliser des keyframes pour réaliser par exemple des déplacements contrôlés d'une image dans une vidéo. Ces défauts peuvent cependant être plus ou moins comblés par l'utilisation de code HTML).

Autres alternatives
Je n'ai pas encore eu le temps de m'intéresser plus en détails à moviepy, mais je dois avouer que son approche très différente du montage vidéo classique, me plaît beaucoup. En gros, il suffit de réaliser un script python pour faire votre montage. Quand on voit le résultat de certains montages, ça donne envie :
https://zulko.github.io/moviepy/gallery.html

Sinon, il y a Blender. On connaît tous Blender pour son moteur 3D. Big Buck Bunny, ça vous dit quelque chose, non ? Et ben il existe également un mode d'édition vidéo !

Si, si regardez dans le menu
Menu Blender

Il n'y a que des avantages. C'est multi-plateforme, c'est historiquement parfait, on a du recul sur la qualité du programme et on sait qu'il ne va pas s'arrêter du jour au lendemain. On peut faire ce qu'on veut avec si on a du temps :-)
Parce que oui, il y a un petit temps d'adaptation et il n'est pas vraiment comme un logiciel d'édition vidéo classique.

Si vous souhaitez prendre en main la bête, je vous conseille cette playlist youtube :
https://www.youtube.com/playlist?list=PLjyuVPBuorqIhlqZtoIvnAVQ3x18sNev4
Elle est en anglais, mais elle est très bien faite et parle des sujets les plus importants pour bien démarrer !

Un peu plus d'infos sur Blender
Pour utiliser Blender, il va falloir comprendre comment sont organisées les choses afin d'en faire ce qu'on a envie.

Dans un logiciel de montage vidéo classique, pour démarrer un film, l'effet de fondu en ouverture est généralement utilisé (fade-in). Cet effet permet de passer d'une image noire à notre vidéo de manière progressive.

Avec Blender, vous ne trouverez pas de fade-in ou fade-out. En revanche vous pouvez superposer à votre vidéo, une image noire et ajouter un effet « cross » entre vos 2 strips (en gros les 2 séquences vidéos : votre image/vidéo et l'image noire). Le résultat sera identique à un effet de fade-in ou fade-out. Il faut bien faire attention à l'ordre dans lequel on choisit les strips car cela a une incidence sur le rendu. Pour faire un fade-in, il faut d'abord choisir la strip de la couleur noire puis notre image/vidéo et pour le fade-out, il faut les sélectionner dans l'ordre inverse.

Pour faire une transition, c'est la même chose, mais avec l'effet « wipe » (dans les options, on peut changer le style de transition : transition simple ou double, iris, horloge).

Visuellement, vous devriez avoir ceci :
Cross Wipe Blender

Et voilà le résultat :
Cross Wipe Blender

Bon montage vidéo!

Paiement sans contact suite et fin

mardi 30 juin 2015 - 13:08

Suite à mon premier article sur les cartes NFC, j'avais pu résister au symbole jusqu'à peu. Malheureusement, ma nouvelle carte de la société (qui était) géniale (à l'époque) affiche les 4 petits arcs de cercle blanc :-(

Heureusement, j'ai pu effectivement désactiver l'option très facilement sur mon compte, mais je ne savais pas vraiment si cela était suffisant, jusqu'à ce week-end où j'ai eu dans les mains un téléphone avec un lecteur NFC.

- Premièrement si vous vous voulez une carte sans le symbole NFC, je sais qu'il y a encore HSBC qui les propose !

- Deuxièmement, il semblerait que la désactivation de l'option NFC empêche toute récupération avec un lecteur NFC (je n'ai pas réussi sur la mienne alors que ça fonctionnait très bien sur une autre carte avec le NFC actif)

- Troisièmement, les infos récupérées correspondent aux numéros de la carte, la date d'expiration et les 10 dernières transactions. (Pas seulement les transactions effectuées avec le paiement sans contact mais bien celles réalisées avec la carte. J'ignorais cette info).

- Enfin, si vous voulez être rassurés... sachez que le cryptogramme visuel est l'élément manquant des infos, et officiellement le code de sécurité CCV2 ou CVC2 n'est pas encore cracké... Personnellement, j'ai un peu été surpris de voir que ces numéros étaient générés, je pensais qu'ils étaient créés aléatoirement :-(

Je n'ai pas vraiment de sources officielles, mais les principaux problèmes avec les cartes bleues sont le vol des données chez les commerçants peu scrupuleux qui n'hésitent pas à recopier le cryptogramme visuel (surtout si vous voyagez souvent à l'étranger). Bref, une raison de plus de préférer l'argent liquide qui semble être une espèce en voie de disparition.

PHP révélé

mercredi 18 février 2015 - 20:43

J'avais besoin de faire des supports pour une présentation sur PHP. Je voulais un truc simple qui permette de créer des slides sans trop faire de chi-chi, et qui reste paramétrable pour pouvoir éventuellement changer plus tard.

Évidemment, j'élimine les ppt, pptx mais aussi les odp parce que je veux pouvoir modifier le cours en ssh ou dans un terminal avec un emacs -nw.

J'aurais pu utiliser LaTeX et sa classe bearmer mais warsaw ça va 5 min et ça reste quand même assez verbeux.

J'avais déjà vu des présentations html sans vraiment explorer plus que ça et je suis tombé sur org-reveal qui permet à partir d'un fichier org-mode de générer une présentation reveal.js.

Avec org-reveal, je peux utiliser du LaTeX qui sera affiché grâce à MathJax et pour faire des démos directement dans le navigateur, j'ai intégré PHP.js qui est une machine virtuelle écrite en javascript. Elle reste limitée mais très pratique pour faire un exemple en live sans sortir du navigateur.

Un petit aperçu est dispo sur http://tontof.net/tuto/php
Si vous voulez voir la console http://tontof.net/tuto/php/#/hello-world et cliquez sur Run 2 fois

(il est possible d'affiche la console quand on veut avec la touche 'v' et pour changer le style de la présentation c'est 'c')

Une autre visualisation grâce à Github sur une seule page :
https://github.com/tontof/kriss_tuto/blob/master/php/index.org
ou
http://tontof.net/tuto/php/?print-pdf

Pour voir le fichier source qui reste très simple c'est
https://raw.githubusercontent.com/tontof/kriss_tuto/master/php/index.org

Les sources globales sont dispos sur https://github.com/tontof/kriss_tuto
et pour que tout soit fonctionnel sans internet un petit
git clone --recursive https://github.com/tontof/kriss_tuto
qui prendra un moment à cause de MathJax et ces presque 200 Mo...

Le support est relativement simple et joue parfois le rôle de listing, mais je l'améliorerai en fonction du déroulement des cours. Il ne traite pas toute la partie orientée objet de PHP même si je vais en parler vaguement quand je parlerais de PDO.

Télécharger les sous-titres de Dailymotion

lundi 02 février 2015 - 17:56

J'ai une bonne et une mauvaise nouvelle.

La mauvaise concerne le site userscripts.org qui n'existe plus depuis août 2014. Je viens de l'apprendre et j'aimais bien ce site : KrISS dwld était par exemple grandement inspiré de scripts provenant de ce site. Pour se consoler, il y a un miroir dispo à cette adresse http://userscripts-mirror.org mais il n'est pas des plus fonctionnels. Il existe également d'autres alternatives : http://wiki.greasespot.net/User_Script_Hosting

La bonne nouvelle, c'est que je viens d'ajouter un petit bookmarklet bien pratique pour télécharger les sous-titres à partir d'une vidéo de Dailymotion. J'ai cherché un peu avant de me lancer dans ce bookmarklet mais je n'ai rien trouvé sur le net qui permette de le faire facilement et simplement (en gros sans installer de logiciels ou de plugins).

Je vous avais déjà parlé du film My Sassy Girl et je voulais le faire découvrir à quelqu'un qui ne voulait pas les sous-titres en anglais. Je suis tombé sur une version en 3 parties sur Dailymotion et grâce à KrISS dwld et ce nouveau petit bookmarklet dispo sur Github, j'ai pu récupérer une version assez rapidement et sans trop de difficulté.

Pour essayer, il vous suffit de glisser ce lien dans votre barre personnelle :

Dailymotion subtitles

D'aller sur une vidéo qui contient des sous-titres comme
http://www.dailymotion.com/video/xavtby_les-sources-d-inspiration-d-herge-e_creation
De cliquer sur le bookmarklet et de choisir le sous-titre désiré.