Vue normale

Hier — 14 janvier 2025Flux principal

Le Ryzen AI 9 HX 370 animera aussi les mini-PC AI X1 Pro de chez Minisforum

Fin octobre 2024, notre philosophe de contact vous parlait de l'arrivée des petits PC EliteMini AI370 chez Minisforum, animés de la puce Ryzen AI 9 HX 370 de chez AMD.  Le constructeur de Hong Kong n'avait pas dit son dernier mot à ce sujet et annonce déjà l'arrivée prochaine d'une future machine em...

Aux (codes) sources de la poésie

14 janvier 2025 à 06:51

Le livre ./code --poetry est un objet original réunissant programmation, poésie et graphisme, que l’amoureux du code peut prendre plaisir à avoir dans sa bibliothèque pour le feuilleter de temps en temps et méditer sur toute cette littérature pour machines qu’il a écrite depuis ses premiers émois binaires. Attelage a priori improbable, Daniel Holden est programmeur et travaille dans les jeux vidéos à Montréal alors que Chris Kerr est un poète qui vit à Londres. Ils ont en fait fréquenté la même école et se connaissent depuis l’âge de onze ans. Explorons leur livre :

  • Daniel Holden et Chris Kerr, ./code --poetry, Broken Sleep Books, 2023, ISBN 978-1-915760-89-0.

    Sommaire

    Sources et rendus

    Un code poem est un code source mélangé à de la poésie, alors on pourrait traduire l’expression par un mot composé comme code-poème ou poème-source. J’utiliserai plutôt cette dernière traduction, le mot « source » ayant clairement des connotations poétiques. Pour ce qui est du concept de code poetry, poésie-source me satisfait moins. À vous de voir.

    Dans les poèmes-sources du livre, parfois les mot-clés du langage utilisé font partie du texte du poème, parfois le poème est simplement contenu dans des commentaires que la coloration syntaxique et la mise en page aideront à mettre en valeur. Utiliser des chaînes de caractères est une autre solution facile. On peut aussi généralement utiliser des noms de variables (éventuellement inutilisées), de fonctions, de labels, etc. Dans certains poèmes-sources les parties de code imprononçables sont isolées en haut ou en bas du code source comme dans chernobyl.rkt. Le code est toujours mis en forme avec soin et constitue parfois un calligramme, mot inventé par Apollinaire, par exemple une raquette de tennis pour Processing. Les auteurs se réclament également de la poésie concrète.

    On notera que dans le cas où l’on utilise également les mots-clés du langage dans le texte poétique, on sera bien sûr dans la plupart des langages plutôt incité à écrire en anglais. Mais on pourrait aussi considérer leurs mots-clés comme des parties d’un mot, par exemple for(midable=0;;) // j’étais fort minable. Sinon, on pourra utiliser un langage Logo en français ou quelques autres rares langages pour batracien hexagonal que vous pourrez citer en commentaires.

    Une contrainte majeure respectée dans le livre est qu’un programme doit être exécutable : il produit alors souvent de l’art ASCII, soit statique soit le plus souvent dynamique comme dans water.c, mais peut aussi produire un texte mixant poésie et codes informatiques (des balises HTML par exemple dans divide.php). Quant au titre du poème, c’est simplement le nom du fichier source.

    Les sujets abordés dans ces poèmes sont variés : expériences personnelles, théories du complot, dystopies, technologie et environnement, etc. D’après l’introduction du livre, chaque poème-source et sa sortie sont censés refléter le caractère du langage informatique utilisé. On trouvera pour chacun des vingt-six poèmes le code source sur la page gauche, avec coloration syntaxique, sur fond clair ou sombre, et sur la page droite la sortie. Le livre se double d’un site compagnon https://code-poetry.com/ qui a l’avantage de montrer les versions animées des sorties. Le livre essaie néanmoins de rendre cela par des successions de copies d’écran quand c’est possible. Comme la bannière en haut du site web semble boguée ou incomplète, voici les liens directs vers les vingt-six codes disponibles : Javascript, Julia, PHP, Racket, C++, Piet, Bash, Shakespeare, Perl, C, Haskell, C, J, Batch, Ruby, Objective C, Go, Processing, Ante, Befunge, C#, Python, Python, Erlang, Lua, Brainfuck. On notera que parmi les langages vedettes, le C et le Python ont droit à deux codes. Et on saluera les efforts du programmeur pour arriver à maîtriser les bases de tous ces langages pour la rédaction du livre. Si vous y trouvez un de vos langages préférés, vous pouvez partager en commentaires les particularités ou astuces des codes présentés (on frise parfois l’offuscation).

    Autres textes pour « massive nerds »

    Après les vingt-six poèmes, nous tombons sur la Code Poetry Manual Page, placée dans la section 7 des man-pages (Overview, conventions, and miscellaneous) : ./code --poetry - A collection of executable art. Chaque poème ou langage a droit à un paragraphe de commentaires (techniques, littéraires ou humoristiques).

    Le livre se termine par un texte de chaque auteur. Le premier texte, celui du poète, explique les contraintes liées à la mise en page et à la présentation graphique des codes sources et de leurs sorties à la fois dans le livre et sur le site compagnon, puis se termine par une liste d’autres livres déjà publiés sur le sujet, en insistant sur ce en quoi le présent livre s’en démarque.

    Le second texte est écrit par le programmeur du tandem et s’intitule (si l’on interprète le graphisme d’introduction) « I love ASCII ». Il tente d’abord d’expliquer au candide (qui serait tombé par hasard sur ce livre ?) ce qu’est un langage de programmation pour l’introduire à la culture geek. Il explique par exemple la multiplicité des langages et dit :

    Les gens ont donc tendance à s’identifier à certains langages plus qu’à d’autres, ce qui entraîne un effet d’amplification. Au fur et à mesure que les gens affluent vers le langage qui leur correspond le mieux, la culture s’homogénéise. Des frontières sont tracées, des nations se développent et des drapeaux sont hissés.
    Ces factions sont connues pour se livrer à des « guerres de religion » à propos du meilleur style de programmation. La lecture des arguments est une expérience en soi, quelque part entre un débat théorique entre physiciens des particules et une dispute enfantine sur Porsche versus Ferrari.

    Le texte se termine par la déclaration d’amour au code ASCII annoncée en titre, avec des explications intéressantes sur les origines de certains caractères. Mais quand l’auteur taquine sa compagne en lui disant qu’il va se faire tatouer les quatre-vingt-quinze caractères imprimables du code ASCII, elle lui répond en substance : « Please don’t, you massive nerd! »

    Finalement, la dernière page imprimée du livre nous invite à nous mettre au travail avec la chaîne de caractères layoutyourunrest écrite en majuscules puis en minuscules. On peut traduire ça par : « exposez votre trouble ». C’est en fait la devise de la maison d’édition Broken Sleep Books (dont le fondateur est insomniaque !), spécialisé dans la poésie et basée au Pays de Galles. Alors lecteur linuxien, es-tu inspiré ? N’es-tu pas en mal de défi depuis que TapTempo a été porté dans ton langage favori ? Are you experienced?

    Le logos informatique

    Le verbe créateur est bien sûr un thème biblique. Wikipedia rappelle également que :

    Le terme « poésie » et ses dérivés « poète », « poème » viennent du grec ancien ποίησις / poíesis par le verbe ποιέω / poiéō, « faire, créer » : le poète est donc un créateur, un inventeur de formes expressives […]

    On sait bien que les écrivains créent des mondes, certains poussant même la chose à l’extrême, comme J.R.R. Tolkien qui a créé tout un monde avec sa mythologie, son histoire, sa géographie, ses créatures, ses langues, ses poèmes et chansons, etc. Mais les développeurs ne sont pas en reste. Que le logos informatique soit créateur et crée des mondes, voire le monde, pour le meilleur et pour le pire, quiconque a vécu l’évolution de notre société depuis les débuts du web pourra difficilement en douter.

    Notes diverses

    • Difficile après cette conclusion de ne pas avoir envie de réécouter Un autre monde (1984) de Téléphone. « Dansent les ombres du monde ».
    • Cette alliance de la poésie et de la technologie m’a fait aussi penser à Anne Clark, qui dans les années 80 déclamait ses textes dans un style dit « spoken word » sur fond de musique électronique new wave. Son morceau le plus connu est Our Darkness (1984), qualifié plus récemment par certains de proto-house. Elle a continué sa carrière et en 2022 a sorti un album Borderland (Found Music for a Lost World) dans un style musique de chambre. On y trouve en particulier un poème de Mary E. Coleridge (1861-1907) intitulé L’oiseau bleu récité par Anne Clark : The Bluebird. Enfin, sur son site officiel, on voit qu’en 2024 elle a prêté sa voix à des installations réalisées par l’artiste Clemens von Wedemeyer qui s’intéresse entre autres aux relations sociales, comme on peut le voir sur ces photos montrant des graphes : Social Geometry. Malheureusement, on ne l’entendra pas ; il aurait fallu aller à Berlin.
    • Cette dépêche n’est pas sans lien non plus avec Des nouvelles de Fortran n°6 où j’évoquais récemment l’utilisation du langage dans les années 60-70 pour explorer la génération automatique de poèmes.
    • On notera que comprendre la poésie moderne anglo-saxonne peut parfois être ardu, la syntaxe de la langue, déjà plutôt souple, subissant des contorsions et le vocabulaire puisant dans le vaste répertoire de la langue anglaise. Sans compter ici le mélange avec le code source qui brouille parfois la lecture (faut-il lire les mots-clés du langage ?).

    Bibliographie

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    À partir d’avant-hierFlux principal

    Nouvelle année, vœux 2025 et accomplissements passés et futurs

    Traditionnelle période de vœux lors du changement d’année. Voyons ce qui devrait… changera… pourrait éventuellement changer ou non. Donc revenons cette année encore sur nos accomplissements passés et futurs et de ce que nous aimerions voir plus sur notre site préféré.

    Bonne année 2025

    Cinq personnes se sont prêtées au jeu de cette dépêche pas vraiment de vœux, mais un peu quand même. En vrac dans les accomplissements : hurl, cadran solaire, programmes électoraux, Amstrad CPC, financement européen, Haiku, CV, Transimpressux, visualisation scientifique, XMPP, commentaires de code, docker, menstruation, vélo, documentation, éditeur pixel art, assembleur, OSXP, Smalltalk. L’année qui vient, sur LinuxFr.org, promet d’être (fe)diverse, événementielle, ferroviaire, bureautique, réparable, un peu rouillée, résolue et motivée.

    Sommaire

    Benoît Oumph Sibaud

    Accomplissements, réalisations, progrès de l’année 2024

    Le retard côté adminsys pour LinuxFr.org se réduit, de même pour celui sur le code (évidemment ça ne va jamais assez vite, c’est le principe) (voir les dépêches sur nos services img et epub). J’ai eu l’occasion de jouer un peu avec Hurl pour des tests HTTP (voir les dépêches précédemment mentionnées et celle sur Hurl 6.0.0) et docker et docker compose, en plus de faire un peu de Go. J’ai pu de nouveau être présent pour le stand et les animations sur place lors de la conférence Open Source eXPerience Paris et c’était bien de revoir d’autres personnes de l’équipe, de notre lectorat, des libristes connus de longue date et des nouvelles personnes (et de goûter la bière de nos 25 ans aussi). Le 28 juin 2024, la politique de minimisation des données mise en place un an plus tôt (pour les 25 ans du site) s’est appliquée pour les comptes déjà fermés préalablement (prochaine étape en juin 2026).

    Je suis aussi content de ma dépêche sur le contenu programmatique lors des élections européennes de juin. Je mentionnerais aussi dans les sujets importants la question du programme de financement européen Next Generation Internet (NGI) et la dépêche sur le décès de lunar, un hacktiviste pédagogue.

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Déjà dans les reports de 2024, je voudrais m’intéresser au Fediverse et à ActivityPub peut-être, et peut-être à Gemini (le protocole) ? Il y a des travaux en cours sur le service de partage sur les réseaux sociaux share. Par contre j’ai donné moins de conférences en 2024 pour LinuxFr.org et globalement assisté à moins d’événements : donc je réitère l’ambition 2025 de rencontrer plus régulièrement le lectorat ou les personnes contribuant au site ou des publics nouveaux, car c’est appréciable pour le moral et la motivation.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    Je peux reprendre in extenso mon propos de l’année dernière : je serais intéressé d’avoir plus de contenus (idéalement des dépêches) sur la réparation et la réutilisation, sur de l’informatique sobre, sur des sujets qui ne me viendraient pas à l’idée (sérendipité), sur les politiques autour du numérique et des données, sur des retours d’expérience et sur les sujets qui vous passionnent vous.

    Ysabeau

    Accomplissements, réalisations, progrès de l’année 2024

    Quelque chose dont je suis plutôt franchement fière c’est d’avoir parlé d’un sujet typiquement féminin sur LinuxFr.org tout en restant parfaitement dans le thème du site et celui de la Journée internationale des droits des femmes. Le dessin de l’illustration, qui met les points sur les « i » m’a beaucoup amusé. La qualité de l’accueil de la dépêche sur LinuxFr.org et ailleurs m’a ravie. Dans la série réalisations : les portraits que j’ai faits, quelque chose que j’entends continuer, ont été une grande source de connaissances en ce qui me concerne. Pour finir le modèle-tutoriel de CV – Fiche de candidature qui me trottait dans la tête depuis un certain temps.

    Concernant les progrès : je pense avoir atteint, en matière d’EPUB, le niveau pour mes besoins. Un jour il faudra que je fasse une dépêche sur ce sujet et sur Sigil. Et j’ai bien progressé avec Inkscape, et même en XML hourra !

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Je n’ai pas fini la série Transimpressux, je vais continuer à travailler dessus. En 2024, j’avais aussi pour objectif, désir, de me pencher sur l’informatique et le handicap, l’exploration de l’espace, entre autres sujet, m’en a éloignée. À voir si j’arrive cette année à mieux explorer le terrain. J’ai aussi dans l’idée de rédiger quelque chose sur l’art la manière de faire des modèles pour LibreOffice et le site des extensions de LibreOffice. Parce que ce n’est pas si évident. Peut-être même, si je trouve comment faire, transformer en extension certaines de mes séries de modèles.

    Quoi d’autre ? Ah oui et faire des modèles de jouets et miniatures (pour maisons de poupée par exemple) pour Draw et Inkscape qui pourraient être faits soit en imprimant le modèle sur papier et en utilisant des matériaux de récupération (cartons divers) pour la réalisation, soit en utilisant un graveur (découpeur ?) laser. Améliorer peut-être ma connaissance du XML et finir de lire les spécifications de l’ODF peut-être.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    Comme pour l’année dernière, j’aimerais qu’on explore plus les questions de réparabilité très concrètement et sur les plans techniques et juridiques. Il y a aussi la question du handicap et de l’informatique qui mérite d’être plus mise en avant. Et plus de tutoriels.

    vmagnin

    Accomplissements, réalisations, progrès de l’année 2024

    J’ai publié en mars 2024, avec mon coauteur Ali, une bibliothèque en Fortran orienté objet nommée ForColormap qui propose des palettes de couleurs pour la visualisation scientifique. Côté hobbys, j’ai bien progressé dans mes projets musicaux ForMIDI et ForSynth (qui génère des WAV), avec à nouveau l’introduction de l’orienté objet. C’est une façon d’étudier la musique : programmer c’est comprendre. J’ai aussi avancé sur mon projet de cadran solaire ForSundial, le seul que j’ai hébergé pour l’instant sur Codeberg. J’espère avoir le temps un jour d’aller au-delà du prototype en peuplier (il paraît que la découpe laser peut graver du marbre). Ah oui, je me suis aussi acheté une carte Greaseweazle 4.1 pour récupérer le contenu de disquettes des années 80 (en particulier au format Atari ST, non lisible sur PC), mais je n’ai toujours pas eu le temps de faire ce que je voulais. Chacun de ces points pourrait faire l’objet d’un journal, mais le temps, c’est ça le problème…

    Sur LinuxFr.org, je n’ai publié que ma dépêche pseudo-périodique « Des nouvelles de Fortran n°6 » pour Noël, ainsi que deux journaux, dont un long qui est la suite de celui de novembre 2021 sur le pulsar iconique CP 1919 et qui parle de beaucoup de choses : histoire de l’informatique, musique électronique, plongée dans les décennies 70 et 80 et ce qu’elles ont à nous dire sur le monde d’aujourd’hui (similarités et différences), etc.

    Mais j’ai en fait aussi participé plus ou moins à d’autres dépêches qui m’intéressaient : relecture, discussion ou rédaction. C’est sympa à faire et c’est un peu comme y avoir accès en avant-première. N’hésitez pas à franchir le pas (onglet Rédaction) si ce n’est déjà fait.

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Je commence à apprendre le Rust, non pas tellement parce que j’en aurais un quelconque besoin côté professionnel ou côté hobby, mais avant tout pour étudier de nouveaux (pour moi) concepts comme les génériques, les traits, les motifs, la possession et la durée de vie, les fermetures, etc. J’ai emprunté un bon livre : Développez avec Rust traduit récemment chez Dunod. La dernière fois que j’avais vraiment été excité d’apprendre un nouveau langage, c’était avec Python il y a quinze ans (et les expressions régulières en même temps). Après le serpent, je prendrais bien un peu de crabe…

    Sinon, j’aimerais bien avoir le temps de faire en 2025 ce que je n’ai pas eu le temps de faire en 2024 :-) Mais j’ai peut-être tort, je devrais peut-être vouloir faire moins de choses pour avoir plus de temps… à ne rien faire (en plus c’est écologique). Être idle.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    Donc des journaux ou dépêches sur Rust :-) J’aime bien aussi ce qui concerne l’histoire de l’informatique, et ce qui sort des clous comme l’histoire des sciences, les arts, en particulier la musique, etc. L’informatique étant quasiment partout, on trouve facilement un prétexte pour parler de n’importe quoi… On pourrait publier des critiques de livres autour de l’informatique ou de la science et la technologie, et pourquoi pas de films ou autres œuvres. Enfin, des bricolages en FabLab peuvent être intéressants.

    gUI

    Une version très raccourcie pour moi, je voudrais me concentrer particulièrement sur une chose cette année :

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    De la documentation !

    Plusieurs points dans ce sens :

    • Améliorer mes commentaires (j’y documente déjà tous les pièges à cons, mais je continue d’avoir du mal à me comprendre quand je déterre des vieux bouts de code)
    • Améliorer mes notes perso : aujourd’hui j’utilise nb pour ça. C’est pas mal, mais c’est un peu le foutoir, c’est pas centralisé, bref… peut mieux faire
    • Améliorer la doc de mon infra domestique : oui en bon vieux gros Geek c’est pas simple chez moi. Alors déjà quand je dois remettre les mains sur un truc qui tourne sans soucis depuis des années j’ai des gouttes de sueurs, je n’ose imaginer s’il m’arrive quelque chose (eh oui, soyons prévoyants) comment ma famille (pourtant pas des manches) va s’en sortir.
    • Quelques autres projets de doc un poil hors-sujet ici (livret d’accueil dans mon association sportive par exemple)

    PulkoMandy

    Accomplissements, réalisations, progrès de l’année 2024

    J’ai continué à travailler sur l’adaptation de vbcc et vasm pour la console de jeux VTech V. Smile. L’assembleur et le compilateur C sont fonctionnels et on peut compiler le système d’exploitation Contiki avec. Le code généré n’est pas du tout optimisé pour l’instant.

    J’ai un peu avancé sur mon interpréteur pour les fictions interactives du jeu Lectures Enjeu mais il y a des fonctionnements que je n’arrive pas à comprendre: si je fais fonctionner un jeu, j’en casse un autre :(

    J’ai publié une nouvelle version de l’éditeur pixel art GrafX2, il n’y en avait pas eu depuis 2021. Je ne fais plus grand-chose pour ce projet, je pense que le logiciel est assez complet.

    Je continue bien sûr à travailler pour Haiku: entre autres sur les dépêches Linuxfr, le navigateur web WebPositive, et le client XMPP Renga. Je n’ai jamais le temps et la motivation de participer autant que je le voudrais.

    Enfin, j’ai entrepris la réalisation d'un interpréteur Smalltalk pour Amstrad CPC. Il fonctionne, mais il est beaucoup trop lent.

    Et comme il n’y a pas que l’informatique dans la vie, j’ai traversé la France en vélo pour me rendre de Toulouse à Avranches, soit environ 900km en une douzaine de jours. J’ai eu plus de problèmes au retour en train qu’à l’aller en vélo.

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Du côté des problèmes techniques: le système de sauvegarde externe de mon serveur auto hébergé est cassé. Il faut que j’investigue les scripts perl fournis par le service de sauvegarde que j’ai choisi (qui a l’avantage d’être vraiment pas cher, et les inconvénients qui vont avec).

    Je vais sûrement continuer à travailler sur les projets mentionnés ci-dessus (et quelques autres) et essayer de ne pas en commencer de nouveaux avant d’avoir fini quelque chose. J’ai beaucoup d’idées mais pas le temps pour tout faire.

    Je vais essayer de lire les livres que j’ai gagnés grâce à mes contributions à LinuxFr.org et que je n’ai pas tous eu le temps d’ouvrir :(

    Je vais également essayer de faire du vélo plus régulièrement, ces derniers temps la motivation m’a beaucoup manqué pour ça.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    J’aimerais lire des choses sur d’autres systèmes d’exploitation: Linux, BSD, mais aussi Serenity, ReactOS ou Redox OS et sûrement plein d’autres dont je n’ai pas entendu parler.

    (mais ce serait en plus des contenus existants sur plein de sujets, et des débats dans les commentaires, qui sont passionnants).

    Pour finir

    Nous vous souhaitons tout de même la meilleure année possible (on oscille entre être rebelles et conformistes). Et, bien évidemment, n’hésitez pas à « continuer » cette dépêche dans les commentaires.

    Et un merci à toutes celles et ceux qui font de LinuxFr.org un site enrichi en sérendipité et surprises.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Core Ultra ou Ryzen 9000, quel CPU pour quel usage ?

    Par : Guillaume
    20 décembre 2024 à 13:00
    Après une année 2023 pour le moins tranquille – qui a dit insipide ? –, les nouvelles architectures lancées coup sur coup par AMD et Intel promettaient de rendre le choix du processeur pour une config new-gen nettement plus complexe. Finalement, les questions à se poser ne sont pas si subtiles que ça.

    Intel Core Ultra 200S (Arrow Lake-S)

    Par : Guillaume
    20 décembre 2024 à 13:00
    Alder Lake en 2021, Raptor Lake en 2022, Raptor Lake Refresh en 2023 : il était temps qu’Intel se renouvelle un peu… beaucoup. Sur le papier, c’est chose faite avec le lancement d’Arrow Lake-S intervenu il y a quelques semaines. L’occasion pour Pat Gelsinger et ses petits copains de s’inspirer de l’architecture mobile pour une puce desktop enfin novatrice.

    AMD Ryzen 9000 (Zen 5)

    Par : Guillaume
    20 décembre 2024 à 13:00
    Près de deux ans après la sortie de sa précédente architecture CPU, AMD a profité de l’été 2024 pour lancer la très attendue Zen 5. Très attendue, c’est un fait, mais avec des bases architecturales communes à la génération précédente et un procédé de gravure à peine amélioré, on peut se poser la question des véritables apports de Zen 5.

    Aeternum sauvera-t-il New World ?

    Le 15 octobre 2024, nous vous faisions découvrir l'évolution du premier MMORPG de chez Amazon Games Studio avec New World: Aeternum. Un titre qui a fait beaucoup couler d'encre depuis sa sortie, tant par l'engouement des joueurs à la sortie que sa rapide descente aux enfers. De nombreuses tentatives...

    Throne & Liberty s'offre une première mise à jour de contenu avec l'ajout de la Lance à son arsenal

    Sorti le 1er octobre en France comme nous avions pu vous en parler le jour du lancement dans un test, Throne & Liberty est un MMORPG disponible en Corée du Sud depuis décembre 2023. Pour son anniversaire, il s'offre un premier ajout de contenu qui vient modifier les mécaniques de jeu et surtout...

    FreeCAD 1.0

    FreeCAD est sorti le 18 novembre 2024 en version 1.0 (voir l'annonce officielle et sa vidéo associée). Cette sortie est marquée par une amélioration majeure : l'atténuation du problème de dénomination topologique.

    Nouveau logo FreeCAD

    Sommaire

    La dernière dépêche sur FreeCAD remonte à avril 2021 pour la sortie de la version 0.19. Depuis, il y a eu les versions 0.20 (juin 2022) et 0.21 (août 2023). Cette version 1.0 a porté le nom de 0.22 pendant son développement.

    Qu'est-ce que FreeCAD ?

    Exemple 1 utilisation

    Extrait de wiki.freecad.org :
    FreeCAD est un modeleur paramétrique de CAO 3D open source sous licence LGPL. FreeCAD est destiné à l'ingénierie mécanique et à la conception de produits mais — étant très générique — il s'adapte également à une gamme plus large d'utilisations autour de l'ingénierie, telles que l'architecture, l'analyse par éléments finis, l'impression 3D et d'autres tâches.

    FreeCAD propose des outils similaires à CATIA, SolidWorks, Solid Edge ou Revit et entre donc également dans la catégorie CAO, GCVP, CFAO, IAO et BIM. Il s'agit d'un modélisateur paramétrique basé sur les caractéristiques d'une architecture logicielle modulaire qui permet de fournir des fonctionnalités supplémentaires sans modifier le système de base.

    FreeCAD est aussi multiplateforme. Il fonctionne sous Windows, Linux/Unix et macOS avec la même apparence et les mêmes fonctionnalités sous toutes les plateformes.

    Historique

    La toute première version de FreeCAD est sortie en 2002. FreeCAD est développé en C++, Qt et Python et son cœur repose sur les bibliothèques OpenCASCADE (ou OCCT) spécialisées dans la CAO.

    Son développement est assuré par un large panel de contributeurs : certains sont historiques, d'autres sont spécialisés sur un aspect particulier et beaucoup sont plus ou moins occasionnels.

    Les versions se sont enchaînées à un rythme quasi annuel, apportant moult améliorations et fonctionnalités nouvelles.

    En 2021, quelques contributeurs historiques fondent la FreeCAD Project Association (FPA) qui est un organisme indépendant à but non lucratif pour collecter des dons et apporter un soutien au développement du projet.
    Ce soutien passe notamment par leur programme "FreeCAD Grant Program", qui permet d'embaucher ou de récompenser des personnes pour des projets spécifiques. Ce programme a un budget de 50k$ pour l'année 2024. A titre d'exemple récent, 500$ ont été octroyés pour une étude sur les runners CI de Github, 1000$ pour un gros travail de correction de bugs, et enfin 500$ pour la création d'une vidéo sur les nouvelles fonctionnalités de cette version 1.0.

    FreeCAD bénéficie d'une communauté impliquée permettant notamment d'avoir une documentation complète, à jour et traduite dans de nombreuses langues.

    Le problème de dénomination topologique

    C'était un des points noirs de FreeCAD jusqu'à cette version 1.0.
    Il faut imaginer que dans ce logiciel, la modélisation d'une pièce (dans le sens objet physique) passe par une suite d'opérations mathématiques et géométriques en définissant à chaque fois des contraintes ou des paramètres. Une opération est par exemple la création d'un trou borgne de 5 mm sur telle face à 10 mm des bords haut et gauche. Un autre exemple est d'ajouter une « languette » sur telle face cylindrique. Ou bien d'ajouter un chanfrein de 2 mm sur telle arête, etc.

    Ainsi, petit à petit, la pièce modélisée se construit, prend forme, se détaille et se complexifie.

    Cet historique de ces opérations successives est toujours présent et modifiable. À tout moment, il est possible de modifier une des étapes intermédiaires.

    D'un point de vue technique, vous aurez sans doute compris que chaque opération s'applique à un élément précis et existant de la pièce à ce moment-là (une face ou une arête par exemple). Dans FreeCAD ces éléments ont tous un identifiant unique (Face6, Edge9, etc.), continu et incrémental. Si l'objet a 13 faces à une des étapes, les faces seront numérotées de Face1 à Face13. Chaque opération est rattachée à l'identifiant de l'élément (Face5 par exemple).

    Et le problème se situe à ce niveau : lors d'une modification d'une étape intermédiaire, il arrive souvent que cela change la géométrie globale de la pièce et donc que les nombres de faces ou d'arêtes augmentent ou diminuent. Et FreeCAD réattribue alors ces identifiants uniques aux différents éléments.
    Ainsi, si l'objet passe de 13 à 11 faces, c'est l'ensemble des faces qui vont recevoir un nouvel identifiant dans la plage Face1 à Face11, avec un très fort risque qu'une face, pourtant non touchée par la modification, porte un identifiant différent.

    Et vous voyez le problème arriver : si une des opérations suivantes dans l'historique était de faire un perçage sur la Face6 qui est maintenant devenue la Face3… Toute la modélisation part en vrille.

    Ce problème de dénomination topologique est documenté sur le wiki de FreeCAD : problème de dénomination topologique.

    Pour éviter cela, il était conseillé de suivre un ensemble de bonnes pratiques de modélisation sous FreeCAD : Édition de fonctions. Il faudra certainement suivre l'évolution de cette page avec cette sortie.

    Cette version 1.0 marque donc l'intégration de codes correctifs de cette problématique. Les notes de version indiquent tout de même que tout n'est pas résolu, et qu'il y aura d'autres améliorations dans les prochaines versions. Cette petite vidéo en anglais vous montre la différence de comportement entre la version 0.21 et 0.22dev (qui a servi de base à la 1.0).

    Les autres améliorations

    Un outil d'assemblage par défaut avec solveur dynamique

    Le terme assemblage désigne la fonctionnalité de regrouper plusieurs éléments afin d'obtenir un objet fonctionnel. Ce peut être, par exemple, une boîte constituée d'un couvercle sur charnières maintenues par des vis avec des rangements amovibles à l'intérieur. Ou bien un moteur thermique avec ses carters, vilebrequin, bielles, pistons, soupapes, etc. Il est parfois utile de pouvoir fournir des indications de positionnement et/ou de liberté des éléments entre eux, et de pouvoir animer le tout.
    Ces opérations d'assemblage n'étaient pas intégrées dans FreeCAD avant la version 1.0. Elles étaient néanmoins possibles grâce aux ateliers. Plusieurs ont été créés pour cela avec chacun leurs spécificités et leurs approches mais aussi une incompatibilité entre eux : A2plus, Assembly3 ou Assembly4.
    Cette version 1.0 propose un nouvel atelier mais intégré par défaut. Il a été mis au point par la société Ondsel (voir plus bas). Il est encore jeune, et il est encore trop tôt pour savoir s'il finira par s'imposer par rapport à l'existant déjà en place. Un tutoriel concernant l'atelier d'assemblage est d'ores et déjà disponible pour une introduction à cette nouvelle fonctionnalité de la v1.0.

    L'atelier sketcher amélioré

    Cet atelier permet de dessiner les esquisses techniques utilisées dans la conception mécanique. C'est dans celui-ci que sont dessinés les « plans 2D » avec les cotes et les contraintes dimensionnelles et spatiales. Cette version apporte un nombre conséquent d'améliorations et de nouvelles fonctionnalités rendant son utilisation plus facile, plus puissante et plus rapide. Le mieux est de regarder les notes de version animées.

    Les ateliers Arch et BIM sont morts, vive la prise en charge native du format ouvert IFC

    Si le titre est cryptique, c'est que l'on parle de BTP et d'outils destinés aux équipes de Maîtrise d'Œuvre impliquées dans la conception d'une opération construction (Architectes, Bureaux d'Études). Comme ce n'est pas forcément le lot commun des visiteurs de LinuxFr.org, résumons la situation:

    • L'atelier Arch, pour Architecture, exploite depuis longtemps les capacités de création 3D de FreeCAD pour dessiner facilement, fondations, murs, planchers, fenêtres, portes etc. Cet atelier se basait sur le format natif des fichiers FreeCAD, *.FcStd.

    • Dans l'atelier BIM (pour Building Information Model <= l'article Wikipedia_FR est bien écrit pour qui veut comprendre l'essentiel), on retrouve un certain nombre d'outils de dessin et de création d'objets qui s'avèrent redondants pour certains avec ceux de l'outil Arch tout en implémentant les paradigmes bien plus vastes qu'induit l'approche BIM d'un projet de construction <=> pas uniquement de la géométrie, mais aussi du prix, des données mécaniques, physiques, des fiches produit, du planning …

    • L'approche BIM tend à se généraliser dès lors que la complexité et le coût du projet le justifient. Elle repose (en théorie) sur un format d'échange IFC (pour Industry Foundation Class).
      Il est ouvert et au format texte.
      Oui avec vim, c'est possible de bidouiller ;)
      mais un fichier IFC fait rapidement quelques centaines de Mo voire quelques Go …

    L'Association "Building Smart" en définit les caractéristiques. Tous les logiciels sur le marché savent ouvrir et exporter dans ce format, à la norme IFC 2.3 ad minima et IFC 4.2 voire 4.3 pour les up to date.

    L'atelier BIM de FreeCAD utilisait jusqu'à présent IfcOpenShell, une application tierce Open Source pour convertir un fichier du format *.ifc vers du *.FcStd en passant (sans doute) par du OpenScad dans le processus.

    Titre de l'image
    Une image qui devrait parler au LinuxFrien (!) pour la classe IFC Material-Constituent-Set,

    Pour la version 1.0 de FreeCAD, Yorik Van Havre, développeur historique de FreeCAD, (par ailleurs, architecte et Président la FreeCAD Project Association) a entrepris de fusionner ces deux ateliers, d'en faire une fonctionnalité native de FreeCAD, c'est-à-dire qui se passe du vaillant IfcOpenShell (grâce notamment au travail fait sur Blender-Bim) pour que FreeCAD puisse ouvrir et enregistrer directement au format IFC sans conversion inutile.

    L'atelier FEM

    Cet atelier d'analyse par éléments finis comporte également des améliorations considérées comme majeures avec cette version 1.0, détaillées dans un article de blog sur l'atelier FEM de FreeCAD.

    Les avancées majeures sont liées à la prise en charge de fonctionnalités de CalculiX, un des solveurs utilisés par cet atelier : symétrie cyclique, analyses 2D et contraintes de corps rigide.

    Le reste

    Comme à chaque nouvelle version, beaucoup de choses ont été apportées, que ce soit dans l'interface, ou dans la plupart des ateliers intégrés. Les notes de version de la v1.0, comme très souvent détaillées en images, permettent de voir l'évolution de ce logiciel.

    FreeCAD a également annoncé son nouveau logo, choisi après un appel à concourir auprès de la communauté (lien). Le logo en SVG est disponible sur cette page.

    L'essai commercial d'Ondsel

    Outre la création en 2021 de l'association FPA (voir plus haut), d'autres développeurs, notamment Brad Collette, mainteneur de longue date de l'atelier Path et auteur de deux livres sur FreeCAD, ont créé début 2023 la société américaine ONDSEL sous la forme d'une Public Benefit Corporation (PBC) qui pourrait se traduire par « une entreprise d'intérêt pour la société ». Malheureusement, après environ 2 ans, Brad Collette informe de l'arrêt de la société ONDSEL, faute d'avoir trouvé un marché.

    La société voulait s'appuyer sur FreeCAD pour « apporter des fonctionnalités commerciales qui rendent FreeCAD plus utile aux utilisateurs commerciaux ». (Source)

    Pour cela, ONDSEL a produit sa propre version de FreeCAD avec ses propres choix esthétiques et ergonomiques, et a fourni un cloud pour simplifier le travail en équipe et le partage.
    À noter qu'ONDSEL indiquait soumettre ses améliorations à FreeCAD pour intégration et que son cloud était disponible sous forme de module dans FreeCAD. Ces améliorations se retrouvent dans cette version 1.0 de FreeCAD, notamment le nouvel outil intégré d'assemblage ainsi que les très nombreuses nouvelles fonctionnalités de l'atelier Sketcher.

    La société ONDSEL avait détaillé sa relation avec le projet FreeCAD indiquant notamment leur mode de collaboration. Ils avaient également un blog en anglais intéressant, où ils abordent plusieurs thématiques, notamment sur l'évolution de CATIA ou bien la liste des nouveautés agrémentée de nombreuses animations.

    Dans l'annonce de cet arrêt, Brad Collette revient également sur ce qu'ils ont apporté au projet FreeCAD. Tout ce qu'ils ont développé était en open source et déjà intégré pour la plupart à FreeCAD. Les fondateurs d'ONDSEL continueront de contribuer au projet directement.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌