Dois-je utiliser une distribution Linux pour mon projet ?


Une question récurrente se pose lorsqu’un projet fonctionnant sur Linux débute “doit-on utiliser une distribution (et laquelle) ?”

Tout dépend, bien entendu, du type de projet.

Le premier avantage des distributions est la facilité de mise en œuvre, la plupart étant prévues pour être installées par un utilisateur débutant. Un second avantage est la rapidité de mise en service, la plateforme de travail peut être disponible en quelques dizaines de minutes.

Serveurs

Si votre projet doit fonctionner sur un serveur, de préférence supervisé par un administrateur système, la réponse est “oui, il vous faut une distribution”. Le choix de celle-ci en reviendra à l’administrateur.

Pour un serveur d’entreprise avec des exigences élevées de disponibilité mais également un budget en conséquence, nous conseillons une distribution commerciale comme Red Hat Enterprise Linux ou SUSE offrant un support technique.

Pour un serveur associatif, personnel, à usage interne, etc. dont la disponibilité n’est pas un critère prédominant, le choix est large. On peut conseiller par exemple Debian, Fedora, CentOS, voire Slackware.

Stations de travail, postes personnels

Pour une station de travail ou une application s’appuyant sur un environnement graphique, il est conseillé d’utiliser une distribution orientée vers l’interface utilisateur. On peut conseiller par exemple Ubuntu, Debian, Mint, Arch ou la distribution française Mageia.

Systèmes industriels et embarqués

Si l’usage d’une distribution convient parfaitement pour un serveur ou un poste de travail, les exigences propres aux systèmes embarqués et industriels ne sont pas remplies.

En voici quelques raisons :

  • Une distribution est avant tout prévue pour fonctionner sur un système possédant un administrateur, ou tout au moins un utilisateur responsable de sa maintenance. Un système industriel, a fortiori dans le domaine de l’embarqué, doit fonctionner de manière autonome, y compris pour gérer les conditions anormales (manque d’espace de stockage, perte du réseau, anomalie dans le système de fichiers, etc.) au cours desquelles une distribution se contente d’interroger l’utilisateur sur le comportement à adopter.
  • Les distributions devant principalement fonctionner sur serveurs et sur postes de travail, aucune précaution particulière n’est prise quant aux risques de coupure d’alimentation alors que c’est un point crucial des systèmes autonomes.
  • Le mécanisme de mise à jour des distributions est généralement très efficace et réactif lorsque des correctifs sont publiés pour pallier des bugs ou des failles de sécurité fraîchement découverts. En revanche, en cas d’échec de la mise à jour (coupure d’alimentation par exemple), le système peut se trouver incapable de redémarrer.
  • Enfin, terminons en mentionnant le manque de contrôle des services, packages, applications installés, ce qui peut être très gênant lorsque le contenu du système doit être connu avec précision.

Pour ce type d’applications, nous préconisons l’utilisation d’un build system. Il en existe principalement deux : Buildroot et Yocto. Pour savoir lequel choisir, voir “Conception d’un système Linux industriel“.

Si vous avez le moindre doute et souhaitez être conseillés ou accompagnés pour votre projet, n’hésitez pas à nous contacter.