Translate

mercredi 31 janvier 2018

Abonnement Freebox gratuit à cause d'une faille.

Quand vous êtes abonné à la Freebox et qu'il vous arrive de ne pas payer la facture, Free vous offre la possibilité d'avoir toujours accès à internet pendant 24 heures en cliquant sur le bouton prévu pour cela. Mais il arrive fréquemment que Free vous propose plusieurs jours d'affilés de prolonger 24 heures de plus avant qu'ils ne vous coupent.
Sauf qu'il va arriver un moment ou si vous n'avez toujours pas payé votre facture, ils vous bloqueront sans vous proposer de prolonger votre connexion 24 heures supplémentaires.

Et bien il y a une astuce (extrêmement basique en plus). Il vous suffit de faire un clic droit sur le bouton qui vous propose de prolonger votre connexion 24 heures et de cliquer sur :
"Copier l'adresse du lien", puis ensuite vous ouvrez un fichier texte et vous faites : clic droit puis : "Coller".
Vous enregistrez votre fichier texte et vous le gardez de côté. Le lendemain quand Free vous aura à nouveau bloqué, s'ils ne vous proposent pas de prolonger 24 heures de plus, il ne vous reste plus qu'à récupérer l'adresse que vous avez copié et de la coller dans la barre d'adresse du navigateur et d'appuyer sur "Entrée"... Voila, vous avez internet...

[ PYTHON ] - Pillow : ImageChops

Cet article est tiré de mon livre présenté plus bas.








J'espère que ce court article vous a été utile. Pour ceux qui veulent aller plus loin, voici le lien du livre :

mardi 30 janvier 2018

[ PYTHON ] - Pillow : Blend / Composite

Cet article est tiré d'un de mes livre présenté plus bas.







J'espère que cet article vous a plus et si vous voulez aller plus loin, voici le lien du livre :

[ PYTHON ] - Args, Kwargs, List comprehension

Cet article est tiré de mon livre présenté plus bas.









J'espère que cet article vous a plu. Merci de le partager.

Vos questions en commentaires.

Si vous voulez aller plus loin, voici le lien du livre :

[ SWIFT ] - Astuces en Swift

Je vous présente dans cet article un livre intéressant sur le langage Swift (FR et US).









Le lien pour acheter le livre :



La version US :

Trick in Swift

[ PYTHON ] - Pillow : Le Crop et plus...

Cet article est tiré de mon livre présenté plus bas.









J'espère que ce court article vous a plus. Merci de le partager pour faire vivre le blog.
Vos questions en commentaires.

Si vous voulez aller plus loin voici le lien du livre :

[ PYTHON ] - Pillow : Les canaux

Cet article est tiré de mon livre présenté plus bas.


















J'espère que cet article vous a plus. Je vous remercie de le partager, ça permet de faire vivre le blog. Vous pouvez poser vos questions en commentaires.

Et pour ceux qui souhaitent aller plus loin, voici le lien pour acquérir le livre :

lundi 29 janvier 2018

[ STOP ] - Trop c'est trop... Plus c'est gros, plus ça passe...

Décidément, ils nous enfument de plus en plus. Il a été reporté que les annonceurs sur Youtube utilisent les pubs pour miner des crypto monnaies grace à la puissance de votre ordinateur...

En clair ça veut dire quoi ?

C'est simple, ça veut dire que ces annonceurs a cause de qui Google a retiré la monétisation sur nos chaines, non seulement nous donnent moins d'argent, mais en plus ils utilisent notre électricité (la puissance de nos CPU) pour gagner de l'argent. Résultat des courses : Google vous paie moins pour des gens qui gagnent du blé sur votre facture électrique.

Google a eut beau annoncer qu'ils avaient réagit à ça, peu importe, nous avons été volés par des sociétés (pas toutes) qui ont poussées Google a nous bannir.

Une HONTE...

[ PYTHON ] - Pillow : Bases et les filtres

Dans cet article je vais vous montrer les bases de PIL (ou Pillow) Python Image Library

Cet article est tiré de mon livre présenté plus bas































J'espère que cet article vous a plu, je vous invite à le partager et pour ceux qui veulent en apprendre plus : voici le lien du livre :

[ PYTHON ] - Bitwise (Champs de bits)

Nous allons parler dans ce post des opérations sur les bits ou champs de bits
Cet article est tiré d'un chapitre de mon livre, présenté plus bas.


5.2 Les opérateurs : and / or / xor / not

Dans ce chapitre nous allons faire des opérations sur les bits et pour cela il faut des notions en binaire. Les opérations sur les bits se font grâce aux opérateurs : &, |, ^, ~,

Respectivement : and (et), or (ou), xor (ou exclusif) et not (non).
Il y a aussi les opérateurs de décalage mais nous les verrons plus bas.
En binaire pour savoir comment fonctionne un opérateur il faut regarder sa table de vérité.



5.2.1 and (et)

Nous commençons avec l’opérateur & (and), regardons sans tarder sa table de vérité :






La table nous dit que quand on utilise l’opérateur sur deux valeurs 1 elle renvoie 1 sinon dans tous les autre cas, elle renvoie 0.

Faisons un essai :






Regardez, j’ai aligné à droite leur valeur binaire pour que vous compreniez que les bits se comparent un à un (Comme les additions sur papier à l’école).

Sur l’opération : 5 & 20 ce qui nous donne en binaire :


00000101 et
00010100


On constate que le premier bit (on part de la droite en binaire) de n1 est 1 et celui de n2 est 0 donc le résultat donnera 0, pour le deuxième ils sont tous les deux à zéro, ça donnera zéro aussi. Pour le troisième ils sont tous les deux à 1 donc il sera à 1 dans le résultat. Et pour les suivants ils donneront tous zéros.


00000101 et
00010100
00000100


Ce qui nous donne 4.

Regardez ce code :






Je crée une liste de 256 valeurs allant de 0 à 255 : toutes les valeurs possibles pour 8 bits, que je stocke dans une liste.
Ne soyez pas perturbé par la ligne 28 qui ne sert à rien dans le cas présent mais je m’en suis servi pour d’autres exemples (quoi qu’il en soit j’utiliserai la liste x dans cet exemple.

Je crée une boucle sur toute la liste qui va appliquer l’opérateur sur toutes les valeurs de la liste avec la valeur suivante exemple :

1&2, puis 2&3, puis 3&4, jusqu’à la fin de la liste.

Pourquoi avoir mis des ‘formats’ dans les prints ? C’est simple, je voulais que les résultats s’affichent en binaire et pas sous forme d’entiers.

La dernière instruction print est juste pour afficher des lignes d’étoiles entre chaque rapport.

Voici le résultat :




Mais vous allez me dire qu’au début de la liste ça ne sert pas à grand chose vu que si les deux raports n’on pas le même nombre d’unité et qu’ils ne sont pas alignés il n’y a aucun intérêt.
Donc améliorons le code :





Je crée une fonction à la ligne 31 qui va récupérer le nombre, y appliquer le format binaire comme plus haut, mais qui va ensuite le convertir en chaine de caractères pour pouvoir lui appliquer la méthode zfill, qui est une méthode de remplissage de caractères. Et je lui donne 8 en argument.

Dans la boucle il ne me reste plus qu’a envoyer l’élément à la fonction et à l’afficher dans un print et le tour est joué. (J’aurais pu faire le print dans la fonction, d’ailleurs ça aurait été mieux).

Regardons maintenant le résultat :





Maintenant il est beaucoup plus simple de comprendre les opérations.

5.2.2 or (ou)

Passons à l’opérateur : | or (ou) son symbole se fait avec alt Gr + 6 sur clavier azerty. Regardons sa table de vérité : 



S’il y a un 1 sur un des deux côté elle renvoie 1 sinon elle renvoie 0. Plutôt simple, essayons :






Avec les mêmes valeurs que plus haut : 5, 20 donc :
5 | 20 = 21 :

00000101 ou
00010100
00010101




Ce qui donne 21.
Reprenons notre boucle utilisée plus haut mais cette fois pour l’opérateur ‘ou’ :






Comme vous pouvez le constater je l’ai légèrement modifiée puisque maintenant, je fais le print directement dans la fonction, ce qui fait beaucoup plus propre et plus pro aussi.
Voyons ce que ça donne :




5.2.3 xor (ou exclusif) :

Passons à l’opérateur ^ou exclusif (xor). Voici sa table de vérité :







Il ne renvoie 1 que si seulement un des deux et à 1, autrement il renvoie 0.

Essayons :





Toujours avec les valeurs 5, 20, donc :
5^20 = 17.


00000101 ou exclusif
00010100
00010001





Ce qui donne 17.
Voyons notre boucle : 






Jusque là, la seule chose qui a changé c’est le signe.
Affichons le résultat, du moins une partie (voir capture suivante) :





5.2.4 not (non)


Pour l’opérateur : ~ non (not) le signe tilde, je n’afficherai pas sa table de vérité puisque c’est la plus simple. Ce n’est pas une opération qui se fait avec deux valeurs, mais une seule et elle se contente d’inverser la valeur des bits. Les 0 deviennent 1 et les 1 deviennent des 0.

5.3 Les opérateurs de décalages

Dans cette partie nous allons parler des opérateurs de décalages à gauche et les opérateurs de décalages à droite. Ils se composent avec les signes :


<< (décalage à gauche) et

>> (décalage à droite).


Mais à quoi servent-ils ?
Ils servent à décaler les bits d’un nombre d’unités spécifié vers la gauche ou vers la droite.

5.3.1 Décalage à gauche

Commençons par l’opérateur de décalage à gauche. Gardons les valeurs utilisées plus haut, en particulier : 5 :




En faisant : 5<<2, je demande à ce que tous les bits de 5 soient décalés de 2 unités vers la gauche.
C’est comme si j’avais fait :

00000101 << 2
00010100

Donc : 20.






Pour les plus attentifs, vous remarquerez qu’en binaire un décalage vers la gauche d’une unité revient à doubler la valeur, de deux unités la valeur sera multiplié par 4 etc...


5.3.2 Décalage à droite

C’est exactement le même principe pour le décalage à droite sauf qu’au lieu de multiplier la valeur par deux à chaque unité décalée, ça la divise.

Prenons 10 en binaire et décalons-le de 1 vers la droite. Regardez :

00001010>>1
00000101



Résultat : 5.

Mais attention prenons 5 et décalons-le une nouvelle fois de 1 vers la droite :

00000101>>1
00000010



Résultat 2.

Comment est-ce possible ? Tout simplement parce que le bit 1 qui était tout à droite à disparu.
Quand vous décalez de 1 vers la droite, le premier bit (vers la droite) disparaît. Tout comme quand vous décalez de 2 vers la droite, les deux premiers (vers la droite) disparaissent etc…

Tout comme pour le décalage à gauche si la valeur dépasse 256, des bits seront ajoutés et la valeur ne sera plus codé sur 8 bits mais sur le nombre de bits nécessaires pour la représenter en binaire. 



 








Voila j'espère que cet article vous a plu. Vous pouvez poser vos questions en commentaires.
Merci à ceux qui partagent mes articles, c'est ce qui permet de faire vivre le blog.

Et pour ceux qui veulent en savoir plus, voici le lien pour acquérir le livre :