À 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…
Pourquoi créer Foilen Cloud en 2010
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:
de configurer plusieurs serveurs ensemble,
d’accepter tous les langages de programmation (pas seulement PHP),
d’accepter toutes les technologies comme les bases de données MariaDB, MongoDB, PostgreSQL …,
et d’ajouter de la résilience avec un système de fichiers distribué.
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:
pouvoir gérer les ressources avec interface graphique et API.
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 …)
Ce que j’ai trouvé en novembre 2021
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:
pouvoir partager les fichiers entre plusieurs instances avec Fichiers Azure,
utiliser plusieurs langages en acceptant les images Docker,
utiliser plusieurs technologies puisqu’il y a pleins de services de bases de données offerts,
peut obtenir des certificats (HTTPS) gratuitement,
et plus.
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.
La plus-value d’utiliser un autre service
À 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é.
Client présents
Les mots d’ordre sont: ne soyez pas inquiets! Je vais:
vous contacter,
voir avec vous le meilleur hébergement à utiliser selon ce que vous avez présentement (Azure, Funio, DigitalOcean, …)
et je vais vous aider à créer vos comptes et migrer vos sites gratuitement.
Rien de cela ne sera fait à la hâte. Je m’attends à passer plus de 6 mois sur cet exercice.
Mot de la fin
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:
Aller sur le site de l’application
via Google en cherchant « chrome remote » (00:08)
directement sur le site https://remotedesktop.google.com
via mon raccourci: http://rs.foilen.com (00:42)
Sur l’ordinateur de celui qui veut du support (00:52)
Appuyer sur le bouton pour installer la première fois (01:03)
Après la première installation, il va y avoir un bouton « Générer un code » (01:44)
Sur l’ordinateur de celui qui va aider (02:07)
Entrer le code et appuyer sur « Connecter »
Accepter la connexion (02:20)
L’ordinateur de l’aidant peut voir et contrôler l’ordinateur de l’autre personne (02:34)
Différentes options lors de la session de support (02:53)
Mettre en plein écran (02:57)
Ajuster le zoom si la résolution est différente (03:07)
Partager le presse papier (03:23)
Quand l’ordinateur assisté a plusieurs écrans, choisir lequel voir (04:02)
Terminer la session (04:17)
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.
Ce que le Bitcoin est censé être
Une monnaie qui n’appartient à personne (elle n’appartient pas à un gouvernement ou une banque).
Utilise un réseau décentralisé, anonyme et qui n’appartient à personne (les transactions sont publiques et ne sont pas gérées par une entité spécifique)
Une monnaie utilisable pour faire des petites ou de grosses transactions avec des frais minimes.
Paiement rapide
Fonctionnement
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:
L’adresse du bloc précédent (pour confirmer que c’est bien des transactions à la suite de ce bloc),
les transactions à faire dans ce nouveau bloc en devenir
et finalement un champ au contenu aléatoire.
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.
Problèmes vis-à-vis ses buts
Contrairement au but #3, ce n’est pas utilisable pour faire des petites transactions.
La valeur est trop volatile alors on doit rapidement convertir en Bitcoin, faire la transaction et reconvertir en argent. Chaque conversion de ou en argent coûte cher (6.7% à 12.5% selon mes mesures). Voici la valeur en $US à quelques dates:
Les frais par transactions sont souvent trop hauts. Voici quelques points de comparaisons avec le montant de la transaction pour atteindre les mêmes frais qu’une carte de crédit (3%)
Le 2022-04-21: 1.23 USD (bon pour les transactions de 41 USD et plus)
Le 2021-09-01: 3.02 USD (bon pour les transactions de 100.67 USD et plus)
Le 2021-04-21: 62.79 USD (bon pour les transactions de 2093 USD et plus)
Faire la demande d’ajouter une transaction (pratiquement instantané)
Avoir la transaction ajoutée sur la Blockchain (environ 10-20 minutes)
Avoir 6 confirmations (6 blocs supplémentaires) (environ 60 minutes)
Total: avant d’être certain qu’une transaction est faite, il faut une heure à une heure et demie.
Problèmes supplémentaires dus au fonctionnement
Peut être mauvais pour l’environnement
La preuve de travail (mining) utilise beaucoup d’énergie électrique pour du travail qui n’est pas vraiment utile puisque seulement le dernier résultat avec le bon nombre de bits à 0 est conservé. Si l’électricité utilisée provient de sources non renouvelables, c’est potentiellement du gaspillage.
Pourquoi « peut-être mauvais » et « potentiellement du gaspillage »? Parce qu’en hiver, le chauffage en soi consiste à utiliser de l’électricité et la transformer en chaleur. C’est pourquoi on pourrait simplement miner des Bitcoins durant l’hiver et la chaleur dégagée par le travail de l’ordinateur peut servir de chauffage et n’est donc pas perdu. Il y a d’ailleurs des appareils spécialisés pour cela (cherchez sur Google). À l’inverse l’été, les grands centres de minage de Bitcoins doivent dépenser de l’électricité pour miner ainsi que pour refroidir la pièce qui contient les serveurs.
Ne monte pas en charge
Avec les règles de 1 bloc par 10 mins et une taille maximale de 1MB le bloc, cela donne un maximum de 4.6 transactions par seconde. En comparaison, en 2010, Visa s’occupait de 24000 transactions par seconde.
En plus, la Blockchain ne fait que grandir et elle doit être répliquée sur chaque ordinateur. En date du 2022-04-28, elle prend 431GB sur mon disque dur.
Pas de protection pour un remboursement (le destinataire doit faire une transaction pour retourner l’argent même en cas d’erreur)
Les améliorations possibles
É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:
Pour le gaspillage d’énergie: l’Ethereum utilise aussi la Blockchain avec la preuve de travail, mais les concepteurs devraient changer à une preuve d’enjeu à la place. Cette dernière choisie qui peut insérer des blocs en fonction de combien de monnaie il possède au lieu de faire du travail inutile. Cela assume qu’une personne qui a beaucoup de monnaie a beaucoup à perdre si le réseau ne fonctionne pas bien, alors elle va jouer franc jeu.
Pour la volatilité: certaines cryptomonnaies sont nommées « stables » et elles valent la même valeur que l’argent qui est en arrière. Par exemple, je pourrais vous dire: « voici ma FoilenCoin. 1FC vaut 1$US. Si tu me donnes 10$US, je te donne 10FC et si tu reviens dans le futur et me redonnes des FC, je te redonne le même montant en $US ». Ainsi, la valeur ne peut pas fluctuer par rapport au $US puisqu’en tout temps, les gens peuvent ravoir l’argent.
Pour la quantité de transactions:
l’Ethereum devrait permettre la fragmentation de la Blockchain en 2023. Au lieu d’avoir une seule grande chaîne sur laquelle les transactions s’ajoutent, elles s’ajouteront en parallèle sur plusieurs petites chaînes.
IOTA: utilise une autre sorte de chaîne. Au lieu d’être linéaire avec un bloc lié directement au précédent, c’est une chaîne de graphe acyclique. C’est très intéressant et devrait faire partie d’un autre article.
Même si vous avez un compte PayPal entreprise, vous ne paierez pas de frais de réception (01:42)
Explication de ce que nous voulons faire (00:00)
Ouvrir l’image dans Paint (00:45)
Mise en page (01:22)
Imprimer (02:18)
Le résultat (02:40)
Brave est un navigateur web à source ouverte qui est un dérivé de Chromium (Google Chrome), qui bloque les publicités, qui s’intègre avec Tor et IPFS et qui a un programme de récompenses pour financer les créateurs.
Voici un petit tour d’horizon:
Ce que c’est (00:00)
Le moteur (00:13)
Bloquer les publicités (01:39)
Intégration avec d’autres systèmes comme Tor (02:00) et IPFS (02:50)
Ouvrir une page normalement pour voir notre adresse IP (01:46)
Les différents types de modes privés (01:59)
Ouvrir une session privée Tor dans Brave (02:29)
Exemple d’utilisation du web caché (onion) (03:04)
Le navigateur Brave possède un bloqueur de publicités qui est actif par défaut.
Exemple de l’utilisation dès l’installation (00:08)
Désactiver le bloqueur sur un site en particulier (00:26)
Désactiver le bloqueur pour tous les sites (00:45)
Plusieurs options comme les publicités, les pisteurs, les scripts, les cookies, …
Explication des empreintes digitales du navigateur (01:55)
Exemple une fois désactivé globalement (03:19)
Pourquoi un système de récompenses? (00:00)
Activer et voir des publicités (00:44)
Explication des types d’annonces (01:19)
Sommaire des gains du mois (01:47)
Choisir la quantité maximale de publicités par heure (02:10)
Conserver pour soi pour contributions ponctuelles futures (02:50)
Conserver pour soi pour transférer en argent comptant (03:11)
Besoin d’un compte Uphold ou Gemini (évaluation dans un autre article)
Contribution automatique avec les créateurs de contenus (03:34)
Contributions récurrentes avec des créateurs (04:46)
Arrêter une contribution récurrente (05:18)
Contributions ponctuelles avec des créateurs (06:09)
Voici les exemples de publicités de page d’accueil ainsi que de pop up:
Les points de récompenses BAT peuvent être envoyés dans un portefeuille tenu chez les centres d’échanges Uphold et Gemini. Par contre, selon où vous habitez (moi au Canada), il peut être compliqué ou impossible de transformer ces points en argent.
Comme c’est de l’argent gratuit, j’en ai profité pour m’introduire dans le monde des cryptomonnaies jusqu’au bout pour recevoir ces points en argents.
Pour ajouter une banque, dois absolument utiliser le service Plaid. (03:45)
Ce service est en soit assez débile côté sécurité: il demande le nom d’utilisateur et mot de passe pour se connecter en tant que vous sur le site de votre banque. Changez votre mot de passe tout de suite après!
Une fois la banque ajoutée,
si vous êtes aux États-Unis, vous pouvez retirer en argent tout de suite.
si vous êtes à l’international, vous devez faire valider votre compte une seconde fois avant de pouvoir retirer l’argent. Cela se fait de 2 manières:
transférer de l’argent via un transfert électronique (wire) (ma banque me chargerait 15$ CAN pour le faire).
ou envoyer une copie d’un relevé bancaire ainsi que le numéro de compte pour un transfert électronique (wire). Il faut normalement demander ce numéro à notre banque.
J’ai fait cela et ils ont dit que ce n’était toujours pas suffisant et que je devais quand même faire un transfert électronique
À cette étape-ci, j’ai quelques possibilités: (06:21)
Envoyer mes BAT chez Uphold, mais les transférer ailleurs coûte cher.
Envoyer mes BAT chez Gemini et attendre d’avoir 130$ CAD pour les envoyer dans mon compte bancaire.
Envoyer mes BAT chez Gemini, les transférer chez un autre centre d’échange gratuitement et de cet échange, les envoyer dans mon compte bancaire.
Cela implique de trouver un centre d’échange qui me permet de faire cela avec des frais décents.
Comme je ne suis pas patient et que je voulais expérimenter (c’est vraiment le Far West), j’ai voulu tenter le #3. J’ai regardé plein d’endroits et j’ai trouvé Coinbase qui permet de retirer sur PayPal. Par contre, c’est à gros frais (6.7% à 12.5%): (06:39)
1$ CAD pour retirer 8$ CAD
2$ CAD pour retirer 30$ CAD
Le dernier point que j’ai voulu essayer est de sortir ma cryptomonnaie d’Uphold et l’envoyer à Coinbase. Pour ce faire j’avais besoin de trouver une cryptomonnaie qui: (08:13)
Peut s’envoyer d’Uphold,
se recevoir sur Coinbase
et qui ne coût pas cher de frais/gaz/pourboire.
J’ai trouvé les XRP (08:45) qui avaient des frais de quelques cents. Je l’ai donc transféré à Coinbase sans me douter que Coinbase permet seulement le transfert à et de Coinbase, mais pas l’achat, la vente et la conversion en d’autres devises à cause d’un litige entre la SEC et Ripple (les créateurs du XRP). Une fois que le litige sera résolu et s’il l’est en faveur de Ripple, Coinbase va permettre les transactions avec le XRP. En point bonus, oui je pourrais renvoyer les XRP à Uphold pour essayer de les convertir en une autre cryptomonnaie, mais Coinbase veut que la transaction soit d’au moins 22 XRP (j’en ai 7). Alors mon argent est toujours coincé.
Pour résumer, les points importants à vérifier quand vous cherchez des centres d’échanges: (11:34)
Compte bancaire:
Accepte-t-il votre banque pour ajouter et retirer de l’argent?
Y a-t-il des montants minimums pour ajouter et retirer de l’argent?
Quels sont les frais? (pourcentage et/ou fixes)
Conversion entre cryptomonnaies:
Y a-t-il des montants minimums pour convertir?
Quels sont les frais? (pourcentage et/ou fixes)
Transférer à un autre centre d’échange ou un autre portefeuille (par exemple pour payer un service en utilisant de la cryptomonnaie)
Y a-t-il des montants minimums pour transférer?
Quels sont les frais? (pourcentage et/ou fixes et/ou gaz)
Ceci était mon introduction aux cryptomonnaies. Je vais en apprendre plus et faire d’autres articles plus tard.
Nouvelle du 3 février 2021
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.
En quoi est-ce un problème?
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.
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.
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: