Utilisateur:XDGameDu23/Brouillon

Une page de Wikipédia, l'encyclopédie libre.
CpcdosOS2.1
Description de l'image Cpcdos.png.

Informations
Créateur Sebastien Favier
Développé par Sebastien Favier et des contributeurs
Fichier exécutable .cpc, .exe
Première version
Dernière version Beta 1.4 ()
Version avancée Beta 1.5 Hot-Release ()
Dépôt https://github.com/SPinti-Software/CpcdosOS2.1
État du projet En développement
Écrit en C++, FreeBASIC, Assembleur
Environnement DOS
Langues Anglais, Français
Type Noyau monolithique
Politique de distribution Logiciel gratuit et open-source
Licence Apache
Site web https://cpcdos.net

Chronologie des versions

La version OS2.1 de Cpcdos est la dernière version majeure du noyau sortie en 2018. Elle succède à l'OS2.0.5 développée depuis 2011. Le projet est libre et open source depuis 2021. Se voulant plus stable que la précédente version, le projet se base toujours sur FreeDOS[1] même si ce dernier est rendu au stade de bootloader, de gestionnaire des pilotes, de réseaux et des disques durs. Cette version représente la Beta du projet, la version Alpha étant l'OS2.0.5.

Historique[modifier | modifier le code]

Frise chronologique des versions de Cpcdos depuis l'OS2.0.5

Avant l'Open Source (2018-2020)[modifier | modifier le code]

Le développement commence avec une refonte de l'OS2.0.5. La première exquise de cette OS2.1 est la Alpha 4.0, proposé uniquement à accès anticipé. La Beta 1.0 est sortie en février 2018 et représente le lancement officiel de l'OS2.1. Cette version est moins garnie en fonctionnalités que la OS2.0.5 Alpha 3.9.5, refonte oblige. L'OS2.1 offre une nouvelle version du CpcdosC+ en version 3.0 et avec une nouvelle syntaxe, ce qui oblige la réécriture des distributions pour pas mal de développeurs. Néanmoins cette version représente une véritable révolution depuis le début de Cpcdos en 2011 avec l'introduction de CPinti-Core : ce composant permet au noyau de communiquer directement avec le matériel sans passer par DOS. Ce qui réduit de facto les actions de FreeDOS sur le logiciel. Pour aider au portage/développement de nouveaux modules par la communauté, un SDK est proposé. Mais celui-ci s'avère complexe à utiliser. Durant cette période, une "nouvelle génération" de distributions voit le jour : ElieOS développé par Guillaume Deroy, Hexac System par Chrapati Lagahim et plein d'autres petits projets. Le projet de GoatOS, visant à succéder à CraftyOS, est proposé par Sebastien Favier. Il réunit de nombreux développeurs qui contribue à la popularité de Cpcdos. Le projet devrait être lancé en 2021.

Durant l'Open Source (depuis 2021)[modifier | modifier le code]

La mise en open source du projet est annoncé officiellement sur le blog Cpcdos de developpez.net en janvier 2021. Il s'agit de rendre le logiciel libre et permettre à la communauté, qui a souhaité cette ouverture des sources, de contribuer au développement[2]. La Beta 1.4, sortie le 7 mars 2021, représente donc cette évolution majeure.

Fin de vie (après 2022)[modifier | modifier le code]

Au départ, il était prévu que l'OS2.1 soit le plus complet possible d'un point de vue fonctionnalité comme d'un point de vue esthétique. Fin 2021, Favier entreprend l'introduction des polices d'écritures personnalisables. Mais plus l'intégration avance, plus le noyau crash. Et cela a pour effet de causer plus de bugs dans Cpcdos. Favier décide, avec le soutien de la communauté, de terminer l'OS2.1 pour mars 2022 avec GoatOS et la Beta 1.6 du co-noyau.[3] A partir de ce moment-là, l'OS2.2 commencera sa vie. L'OS2.1 restera open-source, pouvant recevoir également des contributions communautaires.

Fonctionnalités[modifier | modifier le code]

CpcdosC+ 3.0[modifier | modifier le code]

Parmi les nouveautés majeures, on peut citer la nouvelle version du CpcdosC+. La syntaxe a changé par rapport à la version antérieure, ce qui rend tout programme réalisé sous l'OS2.0.5 incomptable avec le nouvel interpréteur. Il existe un manuel d'utilisation du langage afin de faciliter son utilisation. Les différences de syntaxes entre la version 2.0 et la version 3.0 sont notables. Voici deux exemples utilisant ces deux versions :

rem/ exemple de code en CpcdosC+ v2.0

ini/ fenetre(
        ini;nom = "Fenetre test"
        ini;texte = "Test d'une fenetre en CC+ V2.0"
        ini;type = "1"
        ini;couleur = "125,125,125"
        ini;px = "10"
        ini;py = "10
        ini;tx = "800"
        ini;ty = "600"
        Creer/
ini/ fenetre)
// exemple de code en CC+ V3.0 [d abord en francais]

fenetre/ test_d_une_fenetre
    .titre = "Ma fenetre ecrit en cc+ francais"
    .parametres = "TYPE:0"
    .px = "10"
    .py = "10"
    .tx = "800"
    .ty = "600"
    .ImgTitre = "OS/MyProject/MEDIA/GUI/IMG_TITRE.PNG"
    .Icone = "OS/MyProject/MEDIA/GUI/ICO_DEF.PNG"
    creer/
fin/ fenetre

// [puis ensuite en anglais]

window/ window_test
    .title = "My window write in english ccp"
    .parameters = "TYPE:0"
    .px = "10"
    .py = "10"
    .sx = "800"
    .sy = "600"
    .TitleImg = "OS/MyProject/MEDIA/GUI/TITLE_IMG.PNG"
    .Icon = "OS/MyProject/MEDIA/GUI/DEF_ICO.PNG"
    create/
end/ window

Bon à savoir : Ici les deux exemples de fenêtres en CpcdosC+ v3.0 présentés ci-dessus devrait être normalement séparés dans deux fichiers différents. Cela évite des bugs avec le noyau.


Outre le fait qu'il y a une différence notable de la syntaxe entre les deux versions (la v3.0 propose une syntaxe bilingue Français/Anglais, syntaxe francophone qui est voué à disparaître durant les années qui suivent pour des raisons de proposer des projets à porter plus international), la syntaxe de la v3.0 est plus apprécié par les utilisateurs pour son confort comparé à la v2.0. Cela s'explique par exemple que le type de fenêtre se défini plus facilement et est plus explicite. Mais si on souhaite aller plus loin dans le raisonnement, c'est surtout parce que les mots-clés sont plus simples à assimiler dans le lexique du langage (par exemple "ini/ fenetre(" est moins facile à retenir que "fenetre/"). Pour autant, le langage peut permettre de pousser les limites du noyau. Cela a un avantage très important pour le développement de Cpcdos : il sera possible de provoquer des bugs et ainsi de pouvoir corriger directement dans le code source les problèmes apparents.

Méthodes de mise à jour[modifier | modifier le code]

Il existe trois méthodes de mise à jour : directement dans le shell CpcdosC+, sur le site web du projet ou en compilant le code source. Il faut comprendre qu'il existe deux types de versions de Cpcdos sur l'OS2.1 :

  • Les versions "Officielles" : Ce sont les versions disponibles au téléchargement et qui sont relativement stables pour être des versions abouties.
  • Les versions "Hot-Releases" : Ce sont des versions de "transitions" entre deux officielles différentes. Ce sont des versions de développement, qui peuvent donc être instables. La plupart des "Hot-Releases" peuvent patcher certains bugs des versions "officielles" qui leur précédent.

Depuis la Beta 1.3, il est possible de mettre à jour le noyau directement depuis le shell CpcdosC+. Pour se faire, la commande "sys/ /update" a été mise en place. Si l'utilisateur veut installer une "Hot-Release", il le pourra en rajoutant l'attribut "hr" après la commande "sys/ /update-get" ou "sys/ /update-get-install". Si l'utilisateur vient à installer une "Hot-Release", le noyau lui expliquera qu'il s'agit d'une version de développement et que l'utilisateur en question est responsable de son ordinateur en cas de problème avec cette mise à jour.

Distributions[modifier | modifier le code]

CpcdosOS2.1 possède de nombreuses distributions. Certaines datent des premières heures de l'OS2.1 (ElieOS et Hexac System). D'autres sont plus récentes. Les distributions Cpcdos peuvent être compatible avec d'anciennes versions de l'OS2.1. Mais comme dit plus haut, elles sont incompatibles avec l'OS2.0.5.

Tableau des distributions de CpcdosOS2.1
Nom des distributions Auteur(s) Première version Version actuelle
ElieOS Guillaume "Meaxy" Deroy ElieOS1.0 ElieOS3
Hexac System Chrapati Lagahim Alpha 1.0 Alpha 1.5
FireflyOS "04Kylian" 1.0 2.4
GoatOS Sébastien Favier, Mickael Banville, Léo Vachet, Esteban Cadic, Timothée Lussiaud, Léo Beutel

La plupart de ces distributions sont open-source. Il y en a qui sont plus garnis en fonctionnalité que d'autres. Mais il n y'a pas de concurrence entre les distributions de Cpcdos. Les membres de la communauté ont toujours mis en avant l'apprentissage et non pas de l'élitisme.

Références[modifier | modifier le code]

  1. Sebastien Favier, « Pourquoi démarre t-il toujours sur FreeDOS ? », sur cpcdos.net
  2. « Cpcdos devient open source ! - Cpcdos », sur www.developpez.net (consulté le )
  3. « ⚠ Clap de fin pour Cpcdos OS2.1 👋 - Cpcdos », sur www.developpez.net (consulté le )