Outils du site

fr:blog:post_046

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
fr:blog:post_046 [2018/06/09 20:57]
Lyne Pêche aux coquilles
fr:blog:post_046 [2018/06/11 21:09] (Version actuelle)
merlin8282 /* ortho */
Ligne 12: Ligne 12:
 ===== Un état des lieux ===== ===== Un état des lieux =====
  
-Pour une partie de nos services, tout allait bien. Ainsi nos instances d'​Etherpad et de Gitlab, hébergées dans leurs propres VM, ont eu une mise à jour rapide et brutale. C'est paradoxal, car ces deux services sont aussi les plus casse-pieds,​ avec une capacité à tout péter qui est assez intéressante. Cependant, pour eux, le transfert et la mise à jour se sont bien passés ​et rapidement, entre autre parce que justement, à force de me prendre la tête avec eux, cela faisait longtemps qu'ils étaient sur leur propre machine, ce qui limite les problèmes de conflit avec d'​autres services. ​+Pour une partie de nos services, tout allait bien. Ainsi nos instances d'​Etherpad et de Gitlab, hébergées dans leurs propres VM, ont eu une mise à jour rapide et brutale. C'est paradoxal, car ces deux services sont aussi les plus casse-pieds,​ avec une capacité à tout péter qui est assez intéressante. Cependant, pour eux, le transfert et la mise à jour se sont bien passées ​et rapidement, entre autres ​parce que justement, à force de me prendre la tête avec eux, cela faisait longtemps qu'ils étaient sur leur propre machine, ce qui limite les problèmes de conflit avec d'​autres services. ​
  
-Pour le serveur de jeu, c'​était un peu plus complexe, et ça l'est toujours, car les librairies qu'il demande sont antiques, et donc il est difficile de le faire tourner sur un OS récent. Deed, Siela1915 et Aleajactaest travaillent depuis un moment sur la question, mais jusqu'​à présent, Lirria continue de tourner sous Debian Jessie. Pour celles qui n'ont pas suivi, Debian Jessie, c'est l'​ancienne version stable de Debian ; ancienne comme "plus trop maintenue"​. Il y a encore des mises à jour de sécurité, donc ce n'est pas non plus une catastrophe,​ mais il faudra bien qu'on mette cette VM à jour aussi, à un moment. En même temps, vous le savez, c'est écrit gros quand vous vous connectez au jeu : la sécurité sur le serveur de jeu n'est absolument pas garantie. Alors nous ne sommes pas à un OS près. Pour tout vous dire, on a déjà repéré diverses petites failles, mais les corriger entraîne des réactions en cascade. Donc nous le répétons, très fort : ne mettez pas un vrai mail et un vrai mot de passe sur Lirria ! Pas d'​inquiétude non plus, les failles ne sont pas si simples à exploiter, et il n'est pas possible de s'en servir en dehors du serveur de jeu, nous l'​avons bien séparé du reste.+Pour le serveur de jeu, c'​était un peu plus complexe, et ça l'est toujours, car les librairies qu'il demande sont antiques, et donc il est difficile de le faire tourner sur un OS récent. Deed, Siela1915 et Aleajactaest travaillent depuis un moment sur la question, mais jusqu'​à présent, Lirria continue de tourner sous Debian Jessie. Pour celles qui n'ont pas suivi, Debian Jessie, c'est l'​ancienne version stable de Debian ; ancienne comme "plus trop maintenue"​. Il y a encore des mises à jour de sécurité, donc ce n'est pas non plus une catastrophe,​ mais il faudra bien qu'on mette cette VM à jour aussi, à un moment. En même temps, vous le savez, c'est écrit gros quand vous vous connectez au jeu : la sécurité sur le serveur de jeu n'est absolument pas garantie. Alors nous ne sommes pas à une version d'OS près. Pour tout vous dire, on a déjà repéré diverses petites failles, mais les corriger entraîne des réactions en cascade. Donc nous le répétons, très fort : ne mettez pas un vrai mail ni un vrai mot de passe sur Lirria ! Pas d'​inquiétude non plus, les failles ne sont pas si simples à exploiter, et il n'est pas possible de s'en servir en dehors du serveur de jeu, nous l'​avons bien séparé du reste.
  
 {{ :​fr:​blog:​steampunk-1636156_640.png?​300|Le temps passe. Source : Pixabay, CC0}} {{ :​fr:​blog:​steampunk-1636156_640.png?​300|Le temps passe. Source : Pixabay, CC0}}
  
  
-Nous en venons donc à tout le reste du site web : les wikis, le forum, les divers petits outils ici et là que vous ne connaissez peut-être même pas... Quasiment tout est hébergé sur une seule VM, baptisée Jukni ((//​Araignée//​ en lojban, rapport à sa présence sur la toile.)). Jukni était aussi encore avec Debian Jessie, et sa mise à jour posait divers problèmes. Au fil des mois, j'ai tenté diverses approches, en clonant la VM pour tester la mise à jour globale, en tentant de la refaire de zéro, mais rien à faire : il y avait toujours un truc ou un autre qui coinçait. Entre MariaDB qui me faisait des erreurs bizarres, les bots qui voulaient Python 3 et Debian Stretch qui ne voulait pas leur donner autre chose que du Python 2.7, Dokuwiki qui aurait bien voulu tirer parti de php7 mais le forum qui préférait ​php 5... Je me noyais dans ce bazar. ​+Nous en venons donc à tout le reste du site web : les wikis, le forum, les divers petits outils ici et là que vous ne connaissez peut-être même pas... Quasiment tout est hébergé sur une seule VM, baptisée Jukni ((//​Araignée//​ en lojban, rapport à sa présence sur la toile.)). Jukni était aussi encore avec Debian Jessie, et sa mise à jour posait divers problèmes. Au fil des mois, j'ai tenté diverses approches, en clonant la VM pour tester la mise à jour globale, en tentant de la refaire de zéro, mais rien à faire : il y avait toujours un truc ou un autre qui coinçait. Entre MariaDB qui me faisait des erreurs bizarres, les bots qui voulaient Python 3 et Debian Stretch qui ne voulait pas leur donner autre chose que du Python 2.7, Dokuwiki qui aurait bien voulu tirer parti de php7 mais le forum qui préférait ​php5... Je me noyais dans ce bazar. ​
  
-Cela faisait aussi un moment que nous souhaitions passer à XMPP, en remplacement d'IRC. Link Mauve nous a aidées très en amont sur pas mal de points, et Jabberfr héberge nos canaux depuis, mais pour migrer officiellement,​ il me fallait quelques fonctionnalités qui ne pouvaient être offertes que par un bot. Or, le bot, il voulait Python 3. Ce simple point de détail, que des Mages plus aguerris ​auraient contourné rapidement, m'a rendue chèvre durant tout l'​hiver.+Cela faisait aussi un moment que nous souhaitions passer à XMPP, en remplacement d'IRC. Link Mauve nous a aidées très en amont sur pas mal de points, et Jabberfr héberge nos canaux depuis, mais pour migrer officiellement,​ il me fallait quelques fonctionnalités qui ne pouvaient être offertes que par un bot. Or, le bot, il voulait Python 3. Ce simple point de détail, que des Mages plus aguerries ​auraient contourné rapidement, m'a rendue chèvre durant tout l'​hiver.
  
-À côté de ça, Rollniak, l'un de nos sysadmin, a repris les cours et l'​alternance,​ ce qui ne permettait plus que je l'​exploite,​ tandis que Shepeng était lui-même bien occupé. Moi-même, je dois le dire, j'​avais vraiment envie de faire autre chose... et d'​ailleurs,​ je l'ai fait !+À côté de ça, Rollniak, l'un de nos sysadmins, a repris les cours et l'​alternance,​ ce qui ne permettait plus que je l'​exploite,​ tandis que Shepeng était lui-même bien occupé. Moi-même, je dois le dire, j'​avais vraiment envie de faire autre chose... et d'​ailleurs,​ je l'ai fait !
  
 Bref, ce n'​était pas royal... ​ Bref, ce n'​était pas royal... ​
Ligne 30: Ligne 30:
 Nous avons cependant reçu de l'aide de façon inespérée. ​ Nous avons cependant reçu de l'aide de façon inespérée. ​
  
-Tout d'​abord avec Tycho Brahe, qui s'est proposé de nous aider à mettre Django en place. Pour celles qui n'ont pas suivi l'​affaire,​ nous savons que nous ne pouvons pas récupérer les éléments web du serveur de jeu (parfois appelé "​WebIG"​) : c'est un horrible fatras de couches accumulées,​ datant parfois de l'an 2000 (ce qui est vieux en informatique),​ c'est un nid de poussière, de bugs, de failles et d'​horreurs. Nous avons pris la décision de valoriser Python pour les développement ​en lien avec le serveur, car c'est un langage qui s'​interface bien avec le C++, tout en offrant beaucoup plus de facilité et de maniabilité et qui est accessible à des personnes n'​ayant jamais codé((Si si, c'est vrai : moi même, j'ai lu des programmes Python et j'ai compris ! Et j'ai même modifié quelques trucs. Bon, pour le reste, faut quand même suivre un cours, mais Python est réellement très accessible.)). À partir de là, il était logique d'​utiliser aussi Python pour les API et la partie web du serveur de jeu, et ça tombe bien : Django est un framework web/Python ayant un certain succès, et de l'avis de celles qui l'ont testé chez nous, il est "très sympa"​. ​+Tout d'​abord avec Tycho Brahe, qui s'est proposé de nous aider à mettre Django en place. Pour celles qui n'ont pas suivi l'​affaire,​ nous savons que nous ne pouvons pas récupérer les éléments web du serveur de jeu (parfois appelé "​WebIG"​) : c'est un horrible fatras de couches accumulées,​ datant parfois de l'an 2000 (ce qui est vieux en informatique),​ c'est un nid de poussière, de bugs, de failles et d'​horreurs. Nous avons pris la décision de valoriser Python pour les développements ​en lien avec le serveur, car c'est un langage qui s'​interface bien avec le C++, tout en offrant beaucoup plus de facilité et de maniabilité et qui est accessible à des personnes n'​ayant jamais codé((Si si, c'est vrai : moi même, j'ai lu des programmes Python et j'ai compris ! Et j'ai même modifié quelques trucs. Bon, pour le reste, faut quand même suivre un cours, mais Python est réellement très accessible.)). À partir de là, il était logique d'​utiliser aussi Python pour les API et la partie web du serveur de jeu, et ça tombe bien : Django est un framework web/Python ayant un certain succès, et de l'avis de celles qui l'ont testé chez nous, il est "très sympa"​. ​
  
 Tycho nous annonce donc qu'il connaît bien Django, et se propose de nous aider. Mais plutôt que de s'​attaquer directement à l'API du serveur de jeu (ce qu'il a aussi fait avant de s'​arracher les cheveux...),​ il a trouvé que c'​était intéressant d'​unifier le site web... et il a bien raison. Car Django va nous permettre, à terme, de s'​identifier une seule fois pour accéder à toute la galaxie Khaganat. ​ Tycho nous annonce donc qu'il connaît bien Django, et se propose de nous aider. Mais plutôt que de s'​attaquer directement à l'API du serveur de jeu (ce qu'il a aussi fait avant de s'​arracher les cheveux...),​ il a trouvé que c'​était intéressant d'​unifier le site web... et il a bien raison. Car Django va nous permettre, à terme, de s'​identifier une seule fois pour accéder à toute la galaxie Khaganat. ​
Ligne 58: Ligne 58:
 Il est possible qu'un jour où nous aurons du temps et des sysadmins motivées pour reprendre la doc, nous passions à d'​autres architectures,​ mais en attendant, Debian est un compromis assez bon.  Il est possible qu'un jour où nous aurons du temps et des sysadmins motivées pour reprendre la doc, nous passions à d'​autres architectures,​ mais en attendant, Debian est un compromis assez bon. 
  
-Par contre, vu les demandes de certains CMS, nous avons décidé de passer à une version un peu spécifique de Debian, qui n'est pas forcément conseillée pour les serveurs : Debian Sid. Sid a l'​avantage d'​être en rolling release (pas de changement de version à envisager), l'​inconvénient et l'​avantage d'​être l'une des premières étapes pour inclure des paquets dans Debian, ce qui veut dire que ces paquets sont plus récents, mais aussi moins stables. En clair : il y a un risque que lors d'une mise à jour anodine, tout le serveur tombe. Ce risque est cependant limité avec diverses bonnes pratiques, entre autre de suivre les alertes de bug et dans les faits, celles qui font l'​expérience de Sid en respectant ces bonnes pratiques ne déplorent aucun accident au fil des ans. La même problématique s'​applique d'​ailleurs à Archlinux !+Par contre, vu les demandes de certains CMS, nous avons décidé de passer à une version un peu spécifique de Debian, qui n'est pas forcément conseillée pour les serveurs : Debian Sid. Sid a l'​avantage d'​être en rolling release (pas de changement de version à envisager), l'​inconvénient et l'​avantage d'​être l'une des premières étapes pour inclure des paquets dans Debian, ce qui veut dire que ses paquets sont plus récents, mais aussi moins stables. En clair : il y a un risque que lors d'une mise à jour anodine, tout le serveur tombe. Ce risque est cependant limité avec diverses bonnes pratiques, entre autre de suivre les alertes de bug et dans les faits, celles qui font l'​expérience de Sid en respectant ces bonnes pratiques ne déplorent aucun accident au fil des ans. La même problématique s'​applique d'​ailleurs à Archlinux !
  
 Donc, Jukni3 est basé sur une Debian Sid.  Donc, Jukni3 est basé sur une Debian Sid. 
fr/blog/post_046.1528577825.txt.gz · Dernière modification: 2018/06/09 20:57 par Lyne