À partir d’aujourd’hui, je n’accepte plus de nouveaux clients sur mon service d’hébergement web parce que je compte le fermer dans quelques mois.
Je le ferme, car j’ai enfin trouvé un service qui fait ce que je désirais pouvoir faire en 2010. Cela me donnera plus de temps pour m’occuper de mes autres services.
Les clients présents seront contactés et je les aiderai (gratuitement) à migrer leurs sites sur l’hébergeur de leur choix selon leurs besoins. Par la suite, je continuerai à les assister comme maintenant avec leur hébergement par mon service de consultation.
Et maintenant, les détails…
Initialement, pour mes besoins personnels en hébergement et pour pouvoir essayer plusieurs applications à sources libres qui existaient (et en faire des vidéos sur mon site), j’avais besoin d’un endroit qui permet:
J’ai donc cherché des services existants et des logiciels existants, mais sans succès. C’est ainsi que j’ai démarré mon projet de logiciel pour gérer tout cela et tant qu’à le faire pour moi, j’ai voulu le rendre disponible pour tous et offrir le service d’hébergement. Cela a amené d’autres requis comme:
Dans l’état actuel, j’ai réussi tous ces points, sauf celui de la résilience avec un système de fichiers distribué. Je n’ai malheureusement pas eu assez de temps pour commencer à utiliser ces logiciels. Le temps manque avec tant de volets (articles sur mon site, consultation, mettre à jours les logiciels déjà présents sur mon hébergement …)
11 ans plus tard, je suis tombé sur un des nombreux services de Microsoft Azure: les Web Apps. Ce service permet tout ce que je voulais:
Le seul point négatif trouvé est que c’est plus cher, mais en même temps, Foilen Cloud n’était pas suffisamment cher. Initialement, je pensais pouvoir mettre plus de sites sur une machine, alors en ayant plus d’utilisateurs, je pourrais rentabiliser le tout. Finalement, ajouter plus de clients tout en gardant les sites rapides nécessitait d’ajouter plus de serveurs et à ce jour, mon service d’hébergement est encore une dépense de mon côté. Si je comptais le garder, il faudrait que je charge plus cher et comme dit précédemment, il n’y a même pas la résilience encore. Alors, après cet ajout, le prix monterait encore plus.
À l’heure actuelle, je suis seul pour tout gérer. Je suis le seul à faire l’assistance technique. En utilisant un autre service qui ne fait que de l’hébergement et qui a une équipe dédiée à l’assistance jour et nuit, c’est tout de même plus sûr pour mes clients.
De mon côté, cela me donnera plus de temps pour faire la consultation côté programmation des sites web de mes clients puisque c’est quand même cela ma spécialité.
Les mots d’ordre sont: ne soyez pas inquiets! Je vais:
Rien de cela ne sera fait à la hâte. Je m’attends à passer plus de 6 mois sur cet exercice.
Que la migration commence 🙂
Si vous voulez aider un ami ou un membre de votre famille avec son ordinateur, mais de chez vous, vous pouvez utiliser Chrome Remote Desktop qui est simple à installer et utiliser.
Dans la vidéo:
La première cryptomonnaie à venir au monde est le Bitcoin en 2009. En plus d’amener une nouvelle devise qui est entièrement virtuelle, elle a mis en place les fondations d’une nouvelle technologie qu’est la Blockchain décentralisée et une manière de l’utiliser de façon sécuritaire avec la preuve de travail (mining). Malgré les belles promesses initiales qu’elle n’a pas réussi à tenir, elle a ouvert le chemin à des centaines d’autres cryptomonnaies qui tentent de régler les problèmes que le Bitcoin ne veut pas régler.
Peut-être qu’un jour, nous verrons une cryptomonnaie utilisable pour les achats courant, mais pour le moment faison un état des lieux en décortiquant tous les concepts.
La Blockchain décentralisée est au centre de cette innovation technologique. C’est tout simplement une liste de blocs qui sont liés un après l’autre. Il y a donc le bloc 1 de départ, suivi du bloc 2 qui pointe sur le bloc 1, ensuite le bloc 3 qui pointe sur le bloc 2, etc. C’est une structure de base qui n’a rien d’impressionnant en soi, mais ce qui la rend spéciale est qu’elle est décentralisée. Cela veut dire que n’importe qui peut écrire des blocs dessus. Par contre, tous ne peuvent pas le faire en même temps sinon plusieurs vont pointer au même bloc précédent et cela ne ferait pas une belle chaine linéaire. Il y a donc des règles à suivre pour avoir le droit de prendre le crayon et écrire le prochain bloc.
Dans un monde idéal, s’il y a 10 machines qui veulent écrire, on choisi un ordre et on passe le drapeau au suivant. C’est d’ailleurs ce qu’une entreprise fait avec des systèmes qui sont entièrement contrôlés par elle-même puisqu’elle fait confiance en son système. Le problème ici est que c’est décentralisé et donc qu’on ne peut pas faire confiance à tous. On veut donc pouvoir « passer le crayon » de manière artificielle et juste. Cela est accompli avec la preuve de travail (mining). La façon que ça fonctionne c’est que le bloc doit contenir:
Section 3: le travail se fait dans cette dernière partie. La preuve de travail est que le contenu du bloc, lorsque passé à la fonction de hachage SHA-256 doit avoir un certain nombre de bits à 0. (Pour en apprendre plus sur le hachage, allez voir mon livre électronique ) Étant donné le le SHA-256 est une fonction sécure, cela veut dire qu’il n’est pas possible de trouver quel contenu mettre pour obtenir une valeur précise. La seule chose à faire est de changer le dernier champ pour essayer des valeurs jusqu’à temps qu’on obtienne un résultat avec le nombre de bits à 0 désiré. Comme cela implique énormément d’essais, c’est du travail et c’est pourquoi ça s’appele une preuve de travail. Si une machine obtient le bon résultat, alors elle peut envoyer son bloc à toutes les autres machines et ces dernières pourront rapidement valider puisqu’elles n’ont qu’un essait à faire.
Le nombre de bits à 0 change au fil du temps parce que Bitcoin désire qu’il y ait toujours environ 1 transaction par 10 minutes. Cela veut dire que s’il y a peu de machines en compétitions, il y a moins d’essais qui sont effectués au total alors le nombre de bits à 0 demandé sera plus petit. À l’inverse, lorsqu’il y a énormément de joueurs qui peuvent faire énorméments d’essais, il faut que ce soit plus difficile pour être plus long et donc, le nombre de bits à 0 demandé sera plus grand.
Section 2: les transactions dans le bloc. Une transaction est composé entre autre de l’adresse du compte qui envoi les fonds, du montant, de l’adresse du compte qui reçoi les fonds ainsi que d’une signature cryptographique de l’expéditeur pour prouver que c’est bien lui qui envoi l’argent. Cette transaction est diffusée à un maximum de mineurs pour qu’ils l’ajoutent dans le prochain bloc. Une autre limite importante est qu’un bloc ne peut pas être plus gros qu’un mégaoctect. Cela veut donc dire qu’il y a une limite au nombre de transactions qui peuvent être dans un bloc. C’est environ 2760 transactions par bloc et environ 1 bloc par 10 minutes (maximum 4.6 transactions par seconde). Étant donné cette limite, s’il y a trop de transactions, les mineurs vont prioriser celles qui leur donne le plus de (gaz/frais/pourboire).
Finalement, les mineurs sont récompensés de deux façons. La première est que chaque bloc créé donne une quantité de Bitcoin. Cette quantité va en descendant pour atteindre 0 éventuellement et ainsi limité le nombre maximal final de Bitcoins à 21 millions. La seconde façon est celle déjà discutée: les frais de transactions offerts par l’expéditeur des fonds.
Étant donné que cette technologie existe depuis déjà plus d’une dizaine d’années, plusieurs personnes ont pensé à des solutions à tous ces problèmes, mais les développeurs de Bitcoin ne veulent rien changer aux règles et à l’architecture. Le Bitcoin est donc voué à rester avec toutes ces lacunes. Par contre, il y a plusieurs autres cryptomonnaies qui travaillent sur ces solutions. Voici quelques exemples:
Si vous utilisez Coinbase pour gérer vos cryptomonnaies, voici comme transférer dans PayPal.
Bintray vient d’annoncer que leur service va fermer. À partir du 31 mars 2021, il ne sera plus possible de publier de nouvelles versions de nos librairies Java sur Bintray et aussi sur JCenter. Leur but est de fermer JCenter le 1er février 2022.
Avant que JCenter existe, l’endroit par excellence où publier les librairies en sources libres était Maven Central. Par contre, pour y arriver, il fallait se créer un certificat pour signer les fichiers JAR, se créer un compte et configurer tous nos projets pour avoir toutes les métadonnées utiles et signer les artéfacts. C’était quand même lourd comme processus d’entrée, mais une fois fait, c’est ensuite simple de continuer à utiliser.
Quand Bintray est arrivé avec son JCenter, son utilisation était beaucoup plus simplifiée. Il suffisait de créer un compte, d’utiliser leur extension Gradle et de publier les fichiers. Aucune signature électronique n’était requise. C’était tellement merveilleux que beaucoup de projets ont utilisé JCenter comme endroit où publier leur projet, mais aussi d’où télécharger les dépendances puisque JCenter copie aussi ce qui provient de Maven Central. Par exemple, un nouveau projet sur Android Studio utilise JCenter par défaut.
Tout « simplement » migrer à Maven Central. Je vais essayer de rendre cela plus simple en vous montrant les étapes dans la vidéo ci-haut. Les instructions officielles en anglais sont disponibles ici.
Que ce soit pour offrir un service de recherche de points d’intérêts dans un certain radius, pour savoir quel serveur est le plus rapproché physiquement d’un utilisateur ou pour trouver le chemin le plus proche, il y a plusieurs raisons de vouloir calculer la distance entre deux points sur la Terre.
(00:50) Pour ce faire, chaque endroit peut être précisément positionné avec deux angles: la latitude (de -90 à 90 degrés) et la longitude (-180 à 180 degrés). https://fr.wikipedia.org/wiki/Coordonn%C3%A9es_g%C3%A9ographiques
La principale difficulté est que la Terre est ronde et nous sommes habitués de la voir sur une carte. Il y a plusieurs projections plus ou moins connues:
(05:08) Alors, si nous voulons savoir la distance entre le Canada et la Russie, il faut vérifier le chemin le plus court. Est-ce:
La Terre peut être approximée par une sphère (c’est déjà mieux que si c’était un ellipsoïde) alors le principe est:
(07:14) Il y a la formule de haversine qui s’occupe de cela en utilisant les latitudes et longitudes des deux points. https://fr.wikipedia.org/wiki/Formule_de_haversine
Ce projet était surtout pour essayer de créer un script pour Blender tout en testant la qualité de la précision d’impression de mon imprimante 3D. Avec ce script, vous pouvez créer plusieurs sortes d’objets que vous pourrez incorporer sur vos Lego en créant les connections du dessus ou du dessous.
KeePass est un logiciel qui permet de sauvegarder tous vos mots de passe dans un fichier crypté.
Contenu de la vidéo:
Ce petit logiciel Java permet de tester la vitesse d’envoie et de réception entre 2 ordinateurs ou plus sur votre réseau personnel. Par exemple, mon réseau contient:
Puisque tout ces paramètres entrent en jeu lors de transfers entre deux ordinateurs et que les vitesses théoriques sont toujours très théoriques, le mieux est de pouvoir mesurer.
Contenu de la vidéo:
Récemment, j’ai regardé avec ma femme pour publier son livre pour enfant sur CreateSpace. Elle avait créé des images dans InkScape qui recouvrent les deux pages lorsque le livre est ouvert. Les fichiers sont exportés de InkScape en PNG et CreateSpace désire recevoir un PDF avec une page par page.
Ce qu’il fallait faire: (00:45)
Avant d’aller plus loin, voici quelques détails techniques pour les différentes mesures du livre selon les requis du monde de l’impression: (01:35)
Pour que le script fonctionne, placez toutes vos images exportées dans le répertoire « output » comme suit: (05:13)
Il est important de mettre le « 0 » si vous avez plus de 10 pages, sinon en listant en ordre alphabétique, la page 11 va venir avant la page 2. En mettant le « 0 », la page « 02 » est avant la page « 11 », tel que désiré.
ImageMagick vient normalement préinstallé sur Linux alors le script qui suit doit être exécuté sur Linux à moins que vous aillez une installation Cygwin ou que vous avez joué avec Bash pour Windows.
#!/bin/bash set -e # Créer les répertoires "cut" et "process" pour mettre les images coupées et le PDF final dedans respectivement. mkdir -p cut process rm -f cut/* process/* echo ---[ Cutting the files ]--- for i in $(cd output;ls pleine-*.png | cut -d '.' -f 1); do echo Cutting: $i convert output/$i.png -crop 2138x3075+0+0 +repage cut/$i-left.png convert output/$i.png -crop 2138x3075+2137+0 +repage cut/$i-right.png done echo ---[ Creating the PDF ]--- convert output/premiere.png cut/*.png output/derniere.png process/book.pdf
Avec Windows, vous pouvez créer un gros fichier qui contiendra un disque virtuel. Si vous avez Windows Pro, vous pourrez même le crypter avec BitLocker, ce qui devient alors un équivalent des conteneurs TrueCrypt. Les utilités sont nombreuses telles:
Premièrement, il faut aller dans le gestionnaire de disques en cliquant avec le bouton droit sur le menu démarrer.
Ensuite, choisir de créer le disque virtuel (Virtual Hard Drive) dans le menu d’actions.
Puis, vous choisissez:
Une fois le disque créé, il n’est pas initialisé. Pour le faire, il suffit de cliquer droit sur le disque et de choisir l’option d’initialiser.
Vous devrez choisir si vous voulez utiliser le mode « Master Boot Record » ou « GUID Partition Table ». Pour ce faire, utilisez GPT à moins de vouloir utiliser le disque virtuel sur un vieux Windows. Le GPT permet plus d’options comme les RAID.
La dernière étape est de créer des partitions sur ce disque. Vous pouvez en créer autant que vous désirez tant qu’il reste de l’espace libre. Vous devez cliquer droit sur le disque et choisir de créer une partition « simple » ou autre selon ce que vous désirez.
Il ne reste plus qu’à choisir la taille, la lettre du disque et le nom.
Si vous possédez la version pro de Windows, celle-ci vient avec le logiciel BitLocker qui permet de crypter des partitions avec un mot de passe. Pour l’activer, allez dans « Votre ordinateur », cliquez droit sur la partition et choisissez de l’activer.
Choisissez ensuite un bon et long mot de passe.
Et terminez en sauvegardant la clé de récupération et en démarrant le cryptage.
Quand vous avez terminé avec le disque, vous n’avez qu’à l’éjecter.
Pour le rouvrir, si double-cliquer ne fonctionne pas, vous pouvez l’attacher via le gestionnaire de disque.
Hadoop utilise la technique de Map/Reduce pour créer des tâches qui peuvent être exécutés de manière indépendantes les unes des autres.
Vous pouvez télécharger le document que je montre dans cette vidéo.
Dans cette vidéo:
Pour pouvoir sécuriser un site web en utilisant du cryptage par HTTPS, il faut créer ou obtenir un certificat qui contient le nom du site, possiblement des informations sur l’entreprise, une clé privée et une autre publique. (00:00)
Pour avoir un certificat, il est possible d’en créer un soi-même et de le signer. Cela fonctionne, mais les navigateurs vont se plaindre qu’ils ne peuvent pas certifier que les données sont véridiques. Pour qu’ils ne se plaignent pas, il ne faut pas signer soi-même le certificat, mais passer par une autorité de certification. Ces autorités sont connues des navigateurs lorsqu’ils ont leur certificat racine installé. (00:14)
La majorité du temps, c’est très couteux surtout lorsque tout ce que nous désirons c’est de crypter les requêtes et réponses que notre site envoie.
Dans le passé, StartSSL était bien connu pour leurs certificats gratuits pour un nom de domaine et la possibilité de payer 60$US par année pour avoir des certificats avec plusieurs sous-domaines. (00:40)
Maintenant, il y a un nouveau joueur: Let’s Encrypt qui offre des certificats gratuitement et de manière automatisée. Leur logiciel permet de gérer les certificats dans Apache sans effort. (00:47)
Pour confirmer que c’est bien votre site, en arrière-plan, le programme va placer un fichier à un endroit que Let’s Encrypt demande avec le contenu demandé. Si nous désirons utiliser d’autres méthodes pour prouver qu’il nous appartient, par exemple avec une entrée DNS, nous pouvons communiquer avec le service web directement. (01:10)
Pour les sites que je gère, je ne veux pas utiliser le logiciel fourni puisque je veux pouvoir copier et déplacer les certificats entre les machines. C’est là qu’utiliser le service directement prend tout son sens. Étant donné que mon gestionnaire de serveurs est écrit en Java, j’ai bien apprécié lorsque j’ai découvert qu’une personne avait déjà créé une librairie Java appelée acme4j qui possède une excellente documentation ainsi qu’un exemple clair. (01:25)
Voici les différentes étapes pour ceux qui veulent savoir ce qui se passe en arrière-plan. Veuillez noter que tout se fait de façon programmatique et non par création sur le site: (01:52)
Quelques configurations générales et sur la vie privée.
Dans cette vidéo:
Après avoir créé un serveur FTP ou tout autre service sur un réseau local, si nous désirons le rendre accessible à partir d’Internet, il faut configurer le routeur pour lui dire quelle machine possède le service. Selon les routeurs, l’interface va changer et ce que nous désirons trouver est la redirection de port ou la gestion de serveurs virtuels.
Dans cette vidéo, je montre comment configurer le tout sur un routeur de Bell (pour voir sur un routeur D-Link):
Dans cette vidéo, je montre les différentes formes de prises et leur couleur. Ensuite, vous verrez le branchement de tous ces périphériques.
Une question qui revient souvent est: « pourquoi le logiciel X pour Windows ne fonctionne pas sur Mac OS? ». Voici une vidéo qui va y répondre tout en expliquant ce qu’est un système d’exploitation.
Voici le contenu de la vidéo: