URL: https://linuxfr.org/news/alternc-la-3-5-x-continue-a-etre-stable Title: AlternC : La 3.5.x continue à être stable Authors: azerttyu BAud, Xavier Teyssier, IceCat, Benoît Sibaud, bobble bubble, Benjamin et GG Date: 2023-10-19T09:36:31+02:00 License: CC By-SA Tags: alternc, hébergement et debian Score: 3 AlternC est un projet collaboratif dont l’élément de base constitue un logiciel libre de gestion d’hébergements mutualisés pour Debian. Ce projet (sous GPLv2+) se veut facile à installer et à utiliser, s’appuyant uniquement sur des logiciels libres. Il contient un système d’installation et de configuration automatique, ainsi qu’un panneau de contrôle accessible par le web, pour la gestion des utilisateurs et des services orientés web. Le projet s’adresse à un public faisant de l’administration système et souhaitant déléguer les actions de base d’un hébergement web. On peut le comparer à des solutions telles que ISPconfig, cPanel, Plesk, Froxlor… Après de nombreuses années la version 3.5 est arrivée début 2025 et se prépare à la suite, on se propose de rattraper ce temps perdu. ---- [AlternC](https://alternc.com/Home-fr) ---- # Qui est derrière AlternC ? Le projet est porté par différentes structures tant associatives que professionnelles. Nous n’établissons aucune statistique, toutefois, portée à notre connaissance, on peut citer dans un désordre alphabétique : - [domainpublic](https://www.domainepublic.net/) avec environ 500 comptes également ; - [globenet](https://www.globenet.org/) ; - [infini](https://www.infini.fr/) ; - [koumbit](https://www.koumbit.org) qui représente environ 500 comptes pour 2000 domaines et est contributeur historique ; - [lautre.net](https://www.lautre.net) compte un peu moins de 1000 adhérents et plus ou moins autant de comptes AlternC ; - [marsnet](https://www.marsnet.org/) avec un peu moins de 200 comptes pour 500 domaines et plus de 200 listes de diffusion ; - [neuronexion](http://www.neuronnexion.coop/) ; - [octopuce](https://www.octopuce.fr/) avec environ 80 instances déployées, contributrice historique, héberge une partie de l’infrastructure du projet ; - [ouvaton](https://ouvaton.coop/) avec environ 6000 (sous-)domaines actifs ; - [webelys](https://www.webelys.com/) contributeur et animateur de la communauté. # Enfin une version 3.5 ## Un peu de contexte historique Entre 2018 et fin 2024, la communauté a eu du mal à s’organiser pour fusionner et proposer une cohérence de développement. Durant cette période, il était alors recommandé d’utiliser une [version maintenue avec grande détermination par koumbit](https://github.com/Koumbit/AlternC/tree/pu). De nombreux correctifs ont été proposés dans leur bifurcation amicale. C’était de fait la version la plus avancée et active de ces dernières années. On peut noter également que d’autres membres de la communauté disposaient de branches locales. Par exemple, Octopuce maintenait une version 3.3 avec un portage partiel pour fonctionner sur les anciennes versions de Debian. Sans être exhaustif dans tous les développements épars, on peut dire qu’on s’était tous un peu dispersé. Il était difficile de répondre à des besoins opérationnels immédiats et de prendre le recul nécessaire pour une intégration communautaire saine. On était arrivé à une situation de déperdition de temps, d’énergie, d’envie conséquente. ## L’objectif de cette version Au fil des années, l’objectif principal de la 3.5 a fortement évolué. De l’apport initial d’innovations diverses nous nous sommes recentrés sur l’essentiel. C’est-à-dire : - fournir une version unifiée et rationnelle de toutes les variantes connues ; - gérer les versions stables (du moins plus récentes) de Debian. ## L’histoire récente de la 3.5 La communauté AlternC, pour diverses raisons, a fortement tardé pour absorber tout ce retard. Au cours de ces douze derniers mois, on notera les évolutions suivantes : - Une 3.5~RC2 absorbant le retard avec les apports de koumbit ; - Une 3.5~RC3 absorbant le retard avec Debian et fournissant la compatibilité avec Bookworm ; - Une 3.5.0 proposant une version stabilisée compatible de buster à bookworm ; - Une 3.5.1 proposant un correctif lors de la mise à jour et une compatibilité avec des changements avec roundcube ; - Une 3.5.2 proposant d’autres correctifs mineurs, plus une gestion de SFTP, réparation de la compatibilité du module `awstats`, maintenir les configurations [[DKIM]]/[[SPF]] ; - Une 3.5.3 proposant des correctifs mineurs, une meilleure gestion des bases de données, la réparation des configurations DNS manuelles, une meilleure prise en charge des versions PHP. Il est prévu d’autres versions mineures pour prendre en compte les erreurs restantes. Toutes ces versions ont été diffusées sur le [dépôt officiel AlternC](https://debian.alternc.org/) ou bien directement sur le [dépôt github](https://github.com/AlternC/AlternC/releases) # Les changements depuis la 3.3 ## Des nouveautés diverses et variées Sans faire une liste à la Prévert, notons les points suivants : - La gestion de Debian Buster à Bookworm ; - La gestion de PHP de 5.6 à 8.x ; - L’amélioration de la gestion des mails avec une meilleure prise en charge de DKIM, SPF et DMARC ; - La gestion de l'_autodiscover_ et _autoconfig_ pour les logiciels de messagerie ; - La gestion de SFTP en plus de FTP(S) ; - La capacité de gérer des domaines DNSSEC ; - Un nouveau thème plus moderne et personnalisable ; - La définition de politique de validation de mot de passe. ## De nombreux correctifs Les nouveautés ne sont pas le cœur de cette version, on a principalement travaillé sur la stabilisation et la mise en place de correctifs divers et variés commme : - le report des correctifs pour roundcube pour buster et sa gestion jusqu’à bookworm ; - l’intégration de phpmyadmin jusqu’à bookorm ; - des protections [[CSRF]] dans les nombreux formulaires ; - des ajustements dans les scripts de type cron et alternc.install ; - la prise en charge des fonctionnalités d’apache 2.4 ; - la prise en charge conditionnel du mode SSL pour apache (permettant des frontaux comme nginx, haproxy…) ; - des empreintes de mot de passe plus solide -- pour entre autres -- dovecot ; - des correctifs pour s’aligner sur les évolutiosn de mariadb (longueur des tables, nommages…) ; - simplification du javascript pour le panel ; - support progresif de systemd ; - la bascule progressive du système de traduction vers [weblate](https://hosted.weblate.org/projects/alternc/). # Un écosystème AlternC ne se résume pas à un projet avec une structure monolithique. Il s’agit d’un écosystème avec nombre de _plugins_. ## Des plugins La version 3.5 apporte de nouveaux _plugins_, pour faciliter leur évolution. Certaines fonctionnalités ont été extraites ou adaptées en ce sens : - [ACME](https://github.com/alternc/alternc-acme) qui extrait la génération des certificats SSL avec Let's encrypt et le protocole ACME - [nginx-ssl](https://github.com/alternc/alternc-nginx-ssl) une seconde approche pour gérer les certificats SSL et offrant un frontal nginx pour gérer https - [mailman](https://github.com/alternc/alternc-mailman) un gros travail de fond a été réalisé pour permettre le passage de maiman2 à mailman3 tout en assurant une retro compatibilité correcte. ## Un générateur de paquet Debian AlternC est maintenant fourni avec un [générateur automatique](https://github.com/AlternC/deb-builder) de paquets Debian. Ainsi on facilite l’arrivée de nouvelle proposition sous forme de plugin. Il est n’est pas nécessaire d’intervenir sur l’intégralité du projet AlternC et on peut se concentrer sur une fonctionnalité donnée. Dès l’intégration du depot dans l’organisation AlternC, le plugin sera automatiquement pris en compte et ses paquets Debian prêts à l’emploi via : - les [releases github](https://github.com/AlternC/AlternC/releases) - le [dépôt](https://debian.alternc.org/) officiel du projet - la mise à disposition des paquets expérimentaux ou dits _nightly_ ## Tout un ensemble de plugins Au-delà d’AlternC en soi et des plugins listés avant, on peut trouver à différents niveaux de maturité : - [une CLI](https://github.com/AlternC/alternc-cli) pour piloter depuis son terminal les espaces utilisateurs - [le transfert de courriel SRS](https://github.com/AlternC/alternc-srs) pour assurer des transferts de courriels respectueux de SPF et DKIM - [un proxy agnostique](https://github.com/AlternC/alternc-proxy) pour rediriger de façon transparente vers un autre service local ou distant, pratique lors d’un changement d’hébergement par exemple - [la liste de diffusion sympa](https://github.com/AlternC/alternc-sympa) pour supporter le gestionnaire de liste de diffusion Sympa - [des métriques diverses](https://github.com/AlternC/alternc-metrics-basic) et [variées](https://github.com/AlternC/alternc-metrics) pour avoir des informations normalisées du comportement de la plateforme - [php-fpm](https://github.com/AlternC/alternc-php-fpm) pour supporter toutes les versions PHP connues chez Debian On peut trouver l’ensemble des plugins AlternC depuis son dépôt : https://github.com/AlternC/ D’autres outils sont mis à disposition également sur la [forge communautaire du projet](https://github.com/alternc/) # Comment installer ou mettre à jour ? Si vous avez déjà un AlternC 3.3.x et que vous voulez migrer vers la 3.5.x, faites une sauvegarde complète et suivez la [documentation fournie sur notre aide en ligne](https://aide.alternc.org/300/Mise-a-jour-3-3-x-vers-3-5-x) Il est important de prendre en compte les informations suivantes : - La version 3.3 n’est plus officiellement supportée et cesse de fonctionner au-delà de Buster ; - La version 3.5.x supporte Buster et Bookworm ; - Le support de Bullseye (Debian 11) n’est pas fourni, cela peut fonctionner uniquement le temps de la mise à jour système. # Participer ## Ensuite ? Le cycle de la 3.6 n’est pas encore planifié. Parmi les idées en reflexion nous avons : - réduire le support à deux versions stables de Debian (bookworm/trixie) - l’amélioration de la qualité du code de base (bash et php) à l’aide de diverses CI/CD - la finalisation du système de traduction pour le core et les plugins via weblate ## Le code L’ensemble du code du projet est actuellement hébergé chez [github](https://github.com/alternc/). Toute personne est la bienvenue. Vous pouvez proposer un nouveau projet de code, remonter des bogues, suggérer des améliorations, traduire, communiquer… Nous profitons également de cette nouvelle version pour utiliser le nommage “main” pour la branche principale. C’est plus en adéquation avec notre code de conduite informel et donne également une cohérence sur l’ensemble des projets. ## Les traductions Toutes personne souhaitant traduire dans sa langue est la bienvenue. Vous pouvez participer via le service [weblate](https://hosted.weblate.org/projects/alternc/). Nous gérons actuellement principalement trois langues : le français, l’anglais et l’allemand. Nous avons d’autres langues disponibles pour lesquelles un peu d’amour est nécessaire. ## Des services à disposition de la communauté En complément, le projet AlternC met à disposition divers services à la communauté. Le principal est le service de DNS secondaires disponible sur le site dédié https://www.alternc.net/ Ce service permet de synchroniser ses zones sur deux DNS secondaires depuis ses instances AlternC. Un autre service est disponible en mettant à disposition des serveurs virtuels jetables pour tester des développements sur différentes distributions Debian (de Jessie à Trixie).