Auto-hébergement, le retour

Au détour d’un coin de web, je suis tombé par hasard sur un article sur serveur410 demandant des retours d’expérience autour de l’auto-hébergement. L’article de synthèse ayant été publié quelques jours après que j’ai pris connaissance du premier et avant que j’aie eu le temps de commencer à écrire, j’en profite donc pour produire ici un article dédié au sujet et qui me permettra, par la même occasion, de faire un bilan de ses quelques années d’auto-hébergement. Entrons dans le vif du sujet.

Mon aventure de l’auto-hébergement commence en même temps que les prémices d’Unicoda, durant les rencontres mondiales du logiciel libre 2011 à Strasbourg. C’est à ce moment-là que, conférence après conférence, discussion après discussion, atelier après atelier, je prends la décision de me lancer dans l’aventure pour créer mon bout d’internet. Les motivations sont variées, mais le premier objectif est de disposer d’un espace de publication que je contrôle et où les données m’appartiennent. L’autre élément clé de l’histoire: ma soif d’apprendre. Après deux années de classes préparatoires, pendant lesquelles j’ai laissé de côté mon apprentissage de la programmation et mes expériences avec PHP et MySQL, commencés au lycée en autodidacte (l’option informatique en CPGE étant plutôt dédié à la résolution ou l’analyse de problèmes mathématiques avec l’outil informatique, que de la technique informatique), j’ai décidé de m’engager dans un cursus d’ingénieur en informatique, et enfin, plus simplement, le sujet m’intéresse et me passionne.

Il faudra néanmoins attendre début 2012, pour que je pose les premières pierres d’Unicoda. Achat du nom de domaine, location d’un serveur chez RedHerberg (association qui proposait à des formules d’hébergement très accessible financièrement pour débuter), installation et déploiement de WordPress, configuration d’un serveur web, modification de zone DNS, autant d’éléments à apprendre au fur et à mesure.

Dans les années qui suivront, Unicoda migrera vers OVH sur un serveur Kimsufi avec davantage de puissance et de mémoire. Ce serveur me permettra de continuer mes expérimentations: sous-domaines, installation d’Owncloud, mise en place de certificats HTTPS sur l’ensemble des domaines avec StartSSL et test de nombreux services pour construire ce que je désigne comme mon nuage de services auto-hébergés. De nombreux articles témoignent de ces essais et de cet apprentissage progressif et des évolutions de l’ensemble au fil des ans.

Avance rapide quelques années plus tard, je décide de pousser l’expérience plus loin et d’héberger l’ensemble des services chez moi, à l’exception d’Unicoda, qui reste comme service unique sur une machine virtuelle chez OVH, afin de garantir une certaine disponibilité de service et de disposer d’une généreuse bande passante (bien davantage que l’upload de ma connexion ADSL à ce moment là). Je recycle une machine assemblée pendant mes années de lycée et qui sans être très performante, permet de faire fonctionner convenablement les services que j’utilise.

Peu après, je m’intéresse à l’énergie consommée par cette machine et décide que 35 Watts minimum pour une machine majoritairement en mode idle est un peu trop élevé à mon goût (bien que ridicule par rapport à la consommation de mon PC fixe en utilisation). Je migre donc l’ensemble vers un Pi 3, ordinateur de poche consommant 4 à 5 Watts en mode idle, avec des pics de consommation mesurés à 7 Watts sur une période d’un mois. La facture d’électricité s’allège un peu. Je profite de la migration pour mettre en place un Pi 1 remplissant le rôle de passerelle et permettant de faire cohabiter les deux machines, le temps de migrer chaque service l’un après l’autre.

En parallèle, s’ajoute la mise en place d’une sauvegarde automatique, pour éviter d’effectuer le tout à la main périodiquement, d’abord avec duplicity vers hubic, puis duplicity vers Backblaze B2 et enfin, restic vers Backblaze, avec duplicity version allégé en complément de secours. Une fois la sauvegarde en place, j’ai pu me concentrer sur l’écriture de script de déploiement automatique pour être en mesure de redéployer l’ensemble de mes services rapidement et avec peu d’intervention humaine à partir de la sauvegarde journalière. Plus récemment, cette quête de stabilité a vu l’ajout d’un onduleur au système, pour parer aux éventuels problèmes d’alimentation électrique.

Il est clair que décider de s’auto-héberger, c’est faire le choix de passer plusieurs heures par semaines et parfois par jour, pour installer les services, puis les maintenir, les mettre à jour, les protéger et parfois investiguer les problèmes de fonctionnement. Est-ce que cela en vaut la peine… oui ! Et d’autant plus si vous exercez, ou voulez exercer un métier dans le domaine de l’informatique, ou simplement par intérêt ou passion pour le domaine. L’élément le plus chronophage restant la montée de version des services, surtout lorsque celle-ci est effectuée peu après la sortie de la mise à jour. Pour l’anecdote, j’ai en mémoire une soirée complète passée à mettre à jour Gitlab et déboguer la configuration, alors que le but principal était d’écrire quelques lignes de code sur l’un de mes programmes du moment.

En conclusion, il ne faut pas hésiter à se lancer dans l’aventure de l’auto-hébergement, à condition d’être conscient des enjeux et des responsabilités qui viennent avec. Faire simple, commencer petit et surtout disposer du temps et de l’envie d’apprendre !

Boot natif sur support de stockage USB pour raspberry pi 4 en bêta

Brève information qui mérite d’être mentionnée, puisque qu’une version bêta du boot direct sur un support de stockage USB a été annoncée via le forum de la fondation Raspberry Pi. Espérons que cette fonctionnalité quittera rapidement son statut de version bêta pour trouver sa place sur nos Pi.

Blender : Modifier le centre d’un objet (version 2.80 et supérieures)

  1. Le widget (axes de déplacements) n’est pas sur le curseur (cible) à l’origine (centre) de la scène
  2. Appuyez sur « Maj »+ »S » en « View mode » pour faire apparaitre le menu et glissez sur « Cursor to world origin »
  3. Toujours en « View mode » déplacez le modèle pour que le widget soit sur l’origine
  4. Passez en « Edit mode » (Tabulation) et sélectionnez tout votre modèle (« A »)
  5. Montez le modèle pour que le bas soit sur le curseur (qui est à l’origine)
  6. Repasser en « View mode » et voilà votre widget (axes de déplacements) est sur l’origine

Cette technique est particulièrement utile pour que vos objet se positionnent sans paramétrage supplémentaire après importation dans Unity par exemple

Inkscape 1.0 est arrivé ! Thème noir, lisibilité et plus !

Mise en article de ma vidéo sur le sujet

Une mise à jour majeure d’Inkscape est sortie le 1er Mai 2020, après 3 ans sans nouvelles versions. Cette nouvelle version vient nous rendre la vie plus simple, plus belle et avec un tas de nouvelles fonctionnalités. Dans cet article je ne présenterais pas toutes les nouveautés mais vous pourrez les retrouver en cliquant ici.

Nouvelles icônes et thème noir

La première nouveauté que l’on va découvrir dès le lancement de l’application ce sont les boutons et l’interface, qui sont bien plus visible qu’avant. Vous pouvez même changer le pack d’icônes pour un pack plus moderne mais aussi modifier les couleurs de ces icônes.

Toujours dans le même registre on peut maintenant changer le thème et passer d’un thème clair à un thème sombre. Idéal pour se reposer les yeux.

Outil de texte

L’amélioration des outils de texte est lui aussi de la partie, c’était un des points noirs d’Inkscape mais il semblerait que les choses évolues un des exemples notable est la largeur réglable d’un texte en continu (c’est à dire sans saut de ligne).

Vision rayon X

Ceux qui utilisent d’autres logiciels de dessin vectoriel comme « Illustrator » seront familier avec le concept de rayon X qui vous permettra notamment de sélectionner plus facilement un objet caché parmi l’ensemble des objets.

Pour activer le rayon X allez simplement dans “Affichage” -> “Mode rayons X” maintenant si vous cliquez sur un chemin bien précis vous sélectionnez l’objet auquel il appartient.

Une autre méthode est d’aller dans “Affichage” -> “Mode d’affichage scindé”, dans ce mode vous pouvez déplacer le curseur ou cliquer sur les flèches pour changer la partie que vous voulez voir apparaître en rayon X.

Alignement sur l’espace de travail

Si vous ouvrez votre fenêtre “aligner et distribuer” vous remarquez un nouveau bouton dans le coin gauche de la fenêtre. Il va vous permettre d’aligner des objets directement dans l’espace de travail.

Une fois activé, si vous sélectionnez plusieurs objets vous pourrez en cliquant trois fois dessus vous pourrez faire apparaître des poignets d’alignements.

Effets de chemin interactif

Dans la fenêtre “Effet de chemin” ajoutez un nouvel effet en cliquant sur “+” un onglet s’ouvre avec les effets à sélectionner. Vous pouvez maintenant rechercher vos effets avec la barre de recherche interactive.

Plusieurs nouveaux effets de chemin sont disponible comme :

Les contours en pointillés, mesure de segments et bien d’autres

Pour tous les effets vous pourrez définir les valeurs par défaut pour la prochaine utilisation que vous en ferez.

Mentions spéciales

Si vous utilisez un moniteur 4K vous pourrez maintenant distinguer les icônes ce qui n’était pas le cas avant.

Si vous dessinez avec une tablette graphique il y a eu beaucoup d’amélioration sur la prise en charge du stylet mais aussi la possibilité de tourner la zone de travail avec Ctrl+Maj+Molette.

Voilà ce sont les évolutions notables de cette version 1.0, pour plus de détails sur cette nouvelle version n’hésitez pas à aller sur le wiki et installer vous même Inkscape 1.0

Histoire de Bulldozer : Un jeu pour Android réalisé avec Unity

Il y a maintenant un peu moins d’une année j’ai décidé de créer un nouveau jeu vidéo sur mon temps libre. Pour compliquer la chose j’ai pris la décision de documenter chaque étape de la réalisation de ce jeu en réalisant des vidéos accessible à tous sur la plateforme Youtube.

Ce sont déjà 13 vidéos qui expliquent :

  • Les différences entre jeu de société et jeu vidéo
  • La recherche d’idées
  • L’utilisation de 3 tableaux (compétences, idées, objectifs)
  • La réalisation des dessins préparatoires
  • La programmation d’une carte constituée d’hexagones
  • La modélisation d’un Bulldozer
  • La création d’animation sur Blender pour Unity
  • L’intégration des éléments dans Unity
  • La réalisation de test en vue d’améliorer le jeu
  • La création de l’interface utilisateur
  • La publication du jeu sur le Google Play Store
  • La création d’une IA
  • Les principes de la monétisation appliqué à Unity

L’aventure « vidéo créative » a commencée le 25 septembre. Depuis quelque temps j’avais commencer à transcrire le jeu de société « pingouins » en version jouable sur mobile pour pouvoir y jouer partout. J’avais en tête un jeu présentant des « nains mineurs » sur des plaques de lave au fond d’une mine qui se battraient pour obtenir le plus de cristaux… Cette première version n’a jamais officiellement vue le jour. Divers raisons en sont la cause :

  • Les personnages n’étaient pas assez imposant pour rendre bien à l’écran, ce qui les rends indistinguable sur une multitude de cases.
  • L’animation des personnages demandait beaucoup de temps, ce qui est une ressource rare pour un développeur indépendant et seul.
  • La programmation de l’IA demandait des ressources de plus en plus grandes ou des modifications de plus en plus lourdes, dû au choix de conception à la base de la création du jeu.
  • L’ajout d’une boutique en jeu pour vendre des « skins » d’armures pour nos nains aurait demandé presque autant voir plus de temps que de créer l’ensemble du jeu.
  • La quasi impossibilité de rendre le jeu multijoueur, rendu impossible par les choix de conception. Notamment par le fait de ne pas considérer une partie comme une simple succession d’action sur un plateau donné.
Plateau avec des nains

Il y a surement beaucoup d’autres points qui m’ont décidé à arrêter et à reprendre de zéro le développement du jeu, mais j’ai listé les points sur lesquels je me suis amélioré dans la nouvelle version Bulldozer !

Bulldozer le jeu
Le jeu Bulldozer dans sa version du 14 mai 2020

Maintenant que vous connaissez l’histoire qui a permis à « Bulldozer » de voir le jour. Vous pouvez remonter plus haut et regarder mes vidéos ou télécharger le jeu.