❌

Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraĂźchir la page.
À partir d’avant-hierFlux principal

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

GIMP 3.0 RC1 est sorti

Note : cette dĂ©pĂȘche est une traduction de l'annonce officielle de la sortie de GIMP 3.0 RC1 du 6 novembre 2024 (en anglais).

Nous sommes trĂšs heureux de partager la premiĂšre version candidate de la trĂšs attendue GIMP 3.0 ! Nous avons travaillĂ© dur depuis notre derniĂšre mise Ă  jour de dĂ©veloppement pour la prĂ©parer, et nous avons hĂąte que tout le monde puisse enfin voir le rĂ©sultat.

GIMP 3.0 RC1: écran de démarrage

Nouvel écran de démarrage de la version candidate, par Sevenix (CC by-sa 4.0) - GIMP 3.0 RC1

Alors, qu’est-ce qu’une « version candidate Â» (release candidate, RC, en anglais) exactement ? Une version candidate est quelque chose qui pourrait ĂȘtre prĂȘt Ă  ĂȘtre GIMP 3.0, mais nous voulons que la communautĂ© la plus large la teste en premier et rapporte les problĂšmes qu’elle trouve. Si les retours des utilisateurs ne rĂ©vĂšlent que des bugs mineurs et faciles Ă  corriger, nous rĂ©soudrons ces problĂšmes et publierons le rĂ©sultat sous la forme de GIMP 3.0. Cependant, nous espĂ©rons et nous nous attendons Ă  ce qu’un public beaucoup plus large essaie la 3.0 RC1 — y compris de nombreuses personnes qui n’ont utilisĂ© que la 2.10 jusqu’à prĂ©sent. Si des bugs et des rĂ©gressions importants sont dĂ©couverts et nĂ©cessitent des modifications de code substantielles, nous devrons peut-ĂȘtre publier une deuxiĂšme version candidate pour des tests plus approfondis.

Sommaire

Nouveaux graphismes

IcĂŽnes de Wilber

Le logo actuel de Wilber a Ă©tĂ© crĂ©Ă© par Jakub Steiner pour GIMP 2.6 en 2008 ! Bien qu’il s’agisse toujours d’un logo fantastique, les tendances en matiĂšre de design ont quelque peu changĂ© au cours des seize derniĂšres annĂ©es et l’apparence plus dĂ©taillĂ©e de Wilber dĂ©tonne sur les ordinateurs de bureau modernes.

C’est pourquoi, en collaboration avec d’autres contributeurs, Aryeom a dĂ©veloppĂ© notre nouveau logo pour GIMP 3.0 !

New Wilber Icon

Nouvelle icĂŽne de Wilber, par Aryeom (CC by-sa 4.0)

Si vous souhaitez en savoir plus sur les choix de conception, d’utilisation et les variantes de conception, veuillez consulter notre guide du logo. Nous avons Ă©galement documentĂ© l’histoire du logo Wilber.

Écran de dĂ©marrage (Splash Screen)

Notre magnifique nouvel Ă©cran d’accueil (prĂ©sentĂ© en haut de cet article) a Ă©tĂ© crĂ©Ă© par le contributeur et artiste de longue date Sevenix ! Vous pouvez voir plus de ses rĂ©alisations sur sa page d’art personnelle.

À l’avenir, nous prĂ©voyons de changer plus souvent l’image de dĂ©marrage pour mettre en valeur toutes sortes d’Ɠuvres crĂ©Ă©es avec GIMP (photographie, illustration, design
).
À ce sujet, nous avons aussi crĂ©Ă© une page d’archive des Ă©crans de dĂ©marrage pour garder en mĂ©moire les Ɠuvres prĂ©sentes et passĂ©es contribuĂ©es par des artistes au projet.

AmĂ©liorations du thĂšme d’icĂŽnes Legacy

L’une des principales amĂ©liorations apportĂ©es par le portage GTK3 est que les icĂŽnes vectorielles de l’interface utilisateur s’adaptent dĂ©sormais plus proprement Ă  vos prĂ©fĂ©rences. Cependant, notre thĂšme d’icĂŽnes Legacy Ă©tait principalement constituĂ© d’images raster (PNG), il ne pouvait donc pas tirer parti du systĂšme de mise Ă  l’échelle de GTK3. Le contributeur Denis Rangelov a relevĂ© le dĂ©fi de taille de recrĂ©er les icĂŽnes d’outils Legacy en SVG. DĂ©sormais, les deux thĂšmes d’icĂŽnes de GIMP sont superbes sur les Ă©crans HiDPI !

Vectorized Legacy Icon theme

IcĂŽnes d’outils du thĂšme Legacy Icon Ă  l’échelle par Denis Rangelov (CC by-sa 4.0)

Le travail n’est pas terminĂ©, car de nombreuses icĂŽnes ne sont toujours pas adaptatives et certaines icĂŽnes sont toujours manquantes. Denis a exprimĂ© son intĂ©rĂȘt Ă  continuer d’amĂ©liorer le thĂšme d’icĂŽnes Legacy, nous espĂ©rons donc le renommer Classic lorsque ce projet sera terminĂ©, pour montrer qu’il est dĂ©sormais bien maintenu.

Invasion de l’espace colorimĂ©trique

L’un des changements clĂ©s de la version 2.99.18 a Ă©tĂ© l’amĂ©lioration massive de la gestion des couleurs dans GIMP. Comme ce travail n’était pas entiĂšrement terminĂ© dans la version 2.99.18, il a constituĂ© un obstacle majeur Ă  la sortie de la version 3.0 RC1.

Depuis cette version, nous avons trouvĂ© et corrigĂ© un certain nombre de bugs et de zones manquantes qui devaient ĂȘtre compatibles avec l’espace colorimĂ©trique. Nous avons Ă©galement examinĂ© les rapports de l’experte en couleurs Elle Stone pour nous assurer que les valeurs de couleur affichĂ©es par GIMP sont aussi prĂ©cises que possible. En mĂȘme temps, il est trĂšs important de garantir que les fichiers de projet XCF crĂ©Ă©s dans GIMP 2.10 et avant s’afficheront de la mĂȘme maniĂšre lorsqu’ils sont ouverts dans 3.0. Par exemple, l’un des premiers logos Google a Ă©tĂ© crĂ©Ă© dans GIMP — et si vous ouvrez le fichier de projet XCF d’origine dans GIMP 3.0 RC1, il apparaĂźt toujours de la mĂȘme maniĂšre qu’à sa crĂ©ation en 1998 !
Par consĂ©quent, nous avons examinĂ© en profondeur les diffĂ©rents modes de calque pour garantir que l’engagement en matiĂšre de compatibilitĂ© soit conservĂ© pour cette version.

L’invasion de l’espace colorimĂ©trique est un projet de longue haleine, qui se poursuivra aprĂšs la sortie de GIMP 3.0.

Finalisation de l’API publique

Une autre tĂąche qui devait ĂȘtre terminĂ©e avant la sortie de la version 3.0 est de finaliser l’API publique. Depuis notre dernier article, nous avons terminĂ© les changements majeurs restants — le remplacement de toutes les instances de nos structures de couleurs personnalisĂ©es GimpRGB par la GeglColor mieux gĂ©rĂ©e en termes de couleurs et l’amĂ©lioration de nos formats de tableau afin que le nombre d’élĂ©ments n’ait pas Ă  ĂȘtre spĂ©cifiĂ© sĂ©parĂ©ment. Ce travail a Ă©tĂ© un long processus de la part de Jehan et Lloyd Konneker, avec beaucoup de tests de bon fonctionnement et de retours de la part d'Anders Jonsson.

En outre, un certain nombre de fonctions ont Ă©tĂ© ajoutĂ©es, renommĂ©es ou supprimĂ©es de l’API publique par rapport Ă  la version 2.10. Par exemple, un ancien patch de Massimo Valentini ajoute gimp-context-get-emulate-brush-dynamics et gimp-context-set-emulate-brush-dynamics, qui permettent aux dĂ©veloppeurs de scripts et de greffons d’utiliser le paramĂštre Émuler la dynamique du pinceau lors de la peinture. D’autre part, les diffĂ©rentes fonctions gauss ont toutes Ă©tĂ© regroupĂ©es en une seule fonction, plug-in-gauss. Bien que ce changement nĂ©cessite quelques mises Ă  jour dans les scripts existants, les dĂ©veloppeurs ont dĂ©sormais un contrĂŽle plus direct sur l’effet de flou gaussien plutĂŽt que de s’appuyer sur des valeurs prĂ©dĂ©finies cachĂ©es.

L’API Ă©tant dĂ©sormais stable, les dĂ©veloppeurs de greffons et de scripts peuvent commencer Ă  porter leurs scripts 2.10 basĂ©s sur cette version. Vous pouvez trouver la documentation initiale de l’API sur notre site de dĂ©veloppement. Nous avons l’intention d’ajouter davantage de tutoriels et de guides de portage sur le site pendant la phase de publication. Nous vous encourageons Ă©galement Ă  consulter les greffons Script-fu et Python dans notre rĂ©fĂ©rentiel pour voir des exemples fonctionnels de la nouvelle API.

Mises Ă  jour de l’édition non destructive

Depuis notre derniÚre mise à jour, nous avons continué à apporter des améliorations et des corrections de bugs à notre code de filtre non destructif. Bon nombre de ces problÚmes ont été signalés par Sam Lester lors du développement et des tests de ses filtres GEGL tiers.

Bien que les filtres non destructifs aient Ă©tĂ© un ajout trĂšs populaire Ă  GIMP 3.0, certains des premiers utilisateurs ont demandĂ© que nous fournissions un moyen de revenir au flux de travail destructif d’origine. Par consĂ©quent, nous avons ajoutĂ© une case Ă  cocher facultative « Fusionner les filtres Â» au bas des filtres NDE. Si cette case est cochĂ©e, le filtre sera immĂ©diatement fusionnĂ© aprĂšs sa validation. Notez que les filtres ne peuvent pas ĂȘtre appliquĂ©s de maniĂšre destructive sur des groupes de calques â€” dans ces cas, l’option de fusion des filtres n’est pas disponible.

Example of Merge Filter checkbox

Exemple de filtre avec la case Ă  cocher « Merge Filter Â» (Fusionner les filtres) - GIMP 3.0 RC1

Dans le mĂȘme ordre d’idĂ©es, Jehan a Ă©galement implĂ©mentĂ© le stockage de la version des filtres dans les fichiers de projet XCF de GIMP. Cela nous permettra de mettre Ă  jour les filtres Ă  l’avenir sans affecter l’apparence des anciens fichiers de projet lorsqu’ils sont ouverts. Des travaux supplĂ©mentaires seront nĂ©cessaires dans GEGL pour implĂ©menter complĂštement cette fonctionnalitĂ©, mais cela peut ĂȘtre fait aprĂšs la version 3.0 sans affecter les fichiers de projets existants.

Interface utilisateur

GIMP 3.0 RC1 contient plusieurs mises Ă  jour de l’interface utilisateur. Par exemple, davantage d’aspects du GUI peuvent dĂ©sormais tirer parti des fonctionnalitĂ©s de sĂ©lection multiple implĂ©mentĂ©es par Jehan dans les versions antĂ©rieures de 2.99.

Nous avons Ă©galement restaurĂ© la possibilitĂ© d’utiliser la molette de dĂ©filement de la souris pour parcourir les diffĂ©rents onglets de dialogue ancrables. Cette fonctionnalitĂ© existait dans GTK2 mais supprimĂ©e dans GTK3. À la demande d’un utilisateur, nous avons rĂ©implĂ©mentĂ© cette fonctionnalitĂ© dans GIMP lui-mĂȘme sur la base d’une implĂ©mentation similaire dans geany.

Au cours du dĂ©veloppement, nous avons reçu un rapport indiquant que le dĂ©filement des crĂ©dits dans notre boĂźte de dialogue À Propos pouvait provoquer une gĂȘne en raison de son mouvement. Par consĂ©quent, nous avons ajoutĂ© un code pour vĂ©rifier le paramĂštre « Animation rĂ©duite Â» de votre systĂšme d’exploitation et dĂ©sactiver ces animations dans GIMP selon vos paramĂštres de prĂ©fĂ©rence.

Greffons

Comme nous sommes en pĂ©riode de gel des fonctionnalitĂ©s depuis la derniĂšre version 2.99, la plupart des modifications apportĂ©es aux greffons ont Ă©tĂ© des mises Ă  jour d’API et des corrections de bugs (certaines d’entre elles pour des problĂšmes qui Ă©taient assez anciens). Cependant, quelques amĂ©liorations plus petites ont Ă©tĂ© implĂ©mentĂ©es.

BMP

Le format BMP prend dĂ©sormais en charge les images 64 bits par pixel. Le nouveau contributeur Rupert Weber nous a aidĂ© Ă  ajouter la prise en charge de l’importation correcte de ce format BMP. Il a Ă©galement soumis des correctifs avec plus de corrections pour notre greffon BMP et notre pipeline de test.

TIFF

Depuis GIMP 2.99.16, nous pouvons importer des fichiers TIFF avec des calques au format Photoshop. Cependant, le programme Alias/Autodesk Sketchbook a crĂ©Ă© sa propre norme pour enregistrer les calques, ce qui n’était pas compatible. Comme cela a Ă©tĂ© signalĂ© comme un bug dans notre outil de suivi des problĂšmes, nous avons Ă©galement ajoutĂ© la prise en charge du chargement de calques Ă  partir de fichiers TIFF enregistrĂ©s au format Sketchbook.

GEGL et babl

GEGL et babl ont tous deux connu un certain nombre de mises à jour depuis leurs derniÚres versions en février.

GEGL 0.4.50 introduit plusieurs nouveaux filtres créés par Sam Lester.

  • Lueur intĂ©rieure (Inner Glow)

  • Biseau (Bevel)

  • Styles GEGL (GEGL Styles)

"GEGL Styles" effect in GIMP 3.0 RC1

Vous pouvez y accĂ©der via l’outil OpĂ©rations GEGL ou en les recherchant avec le raccourci d’action de recherche /.

Øyvind KolĂ„s a apportĂ© un certain nombre de corrections de bugs et d’amĂ©liorations Ă  la stabilitĂ© de GEGL. Plusieurs modifications ont Ă©galement Ă©tĂ© apportĂ©es en rapport avec l’invasion de l’espace colorimĂ©trique dans GIMP, comme l’ajout de mĂ©thodes pratiques pour obtenir et dĂ©finir les GeglColor dans les modĂšles de couleurs HSV(A) et HSL(A), implĂ©mentĂ©es par Alx Sa. Jacob Boerema et son Ă©tudiant du Google Summer of Code (GSoC) Varun Samaga B L ont fusionnĂ© un certain nombre d’amĂ©liorations Ă  la version OpenCL des filtres. Bien que GIMP n’active toujours pas OpenCL par dĂ©faut, leur travail nous rapproche beaucoup de la possibilitĂ© de le faire. Nous discuterons de ces amĂ©liorations dans un prochain article.

babl 0.1.110 a Ă©galement reçu quelques contributions au cours de ce cycle. Jehan a implĂ©mentĂ© de nouveaux processus de conversion entre les modĂšles de couleurs RVB et HSL, ce qui amĂ©liore les performances d’un certain nombre de filtres par rapport Ă  GIMP 2.99.18. Il a Ă©galement corrigĂ© certaines parties du code qui se comportaient diffĂ©remment selon que votre processeur prenait en charge SSE2 ou non. Øyvind KolĂ„s a amĂ©liorĂ© la prĂ©cision de plusieurs sections de code lors de la conversion de valeurs Ă  virgule flottante en valeurs entiĂšres. De plus, Lukas Oberhuber a trouvĂ© et corrigĂ© une fuite de mĂ©moire et Jacob Boerema a corrigĂ© un problĂšme oĂč les images avec Not a Number/NaN pouvaient provoquer un plantage.

Statistiques de sortie

Depuis GIMP 2.99.18, dans le dĂ©pĂŽt principal de GIMP :

  • 384 rapports ont Ă©tĂ© fermĂ©s comme CORRIGÉS.
  • 442 demandes de fusion ont Ă©tĂ© acceptĂ©es.
  • 1892 commits ont Ă©tĂ© poussĂ©s.
  • 31 traductions ont Ă©tĂ© mises Ă  jour : basque, biĂ©lorusse, brĂ©silien portugais, anglais britannique, bulgare, catalan, chinois (Chine), chinois (TaĂŻwan), danois, nĂ©erlandais, galicien, gĂ©orgien, allemand, grec, hongrois, islandais, italien, corĂ©en, letton, norvĂ©gien nynorsk, polonais, portugais, russe, serbe, serbe (latin), slovĂšne, espagnol, suĂ©dois, turc, ukrainien, vietnamien.

72 personnes ont contribuĂ© Ă  des modifications ou des correctifs au code de base de GIMP 3.0.0 RC1 (l’ordre
est dĂ©terminĂ© par le nombre de commits ; certaines personnes sont dans plusieurs groupes) :

  • 27 dĂ©veloppeurs pour coder le code principal : Jehan, Alx Sa, Jacob Boerema, bootchk, Anders Jonsson, Øyvind KolĂ„s, Cheesequake, cheesequake, Niels De Graef, Idriss Fekir, Simon Budig, lillolollo, lloyd konneker, Andre Klapper, Andrzej Hunt, Bruno, Joachim Priesner, Nils Philippsen, Alfred Wingate, Bruno Lopes, Elle Stone, Kamil Burda, Luca Bacci, Mark Sweeney, Massimo Valentini, Oleg Kapitonov, Stanislav Grinkov, megakite.
  • 15 dĂ©veloppeurs de greffons ou modules : Alx Sa, Jehan, Lloyd Konneker, bootchk, Jacob Boerema, Anders Jonsson, Nils Philippsen, Andrzej Hunt, Andre Klapper, Rupert, Bruno Lopes, Daniel NovomeskĂœ, Mark Sweeney, Stanislav Grinkov, lillolollo .
  • 42 traducteurs : Martin, Yuri Chornoivan, Luming Zh, Rodrigo LledĂł, KolbjĂžrn StuestĂžl, Ekaterine Papava, Cheng-Chia Tseng, Sabri Ünal, Marco Ciampa, Tim Sabsch, Jordi Mas, Alexander Shopov, Anders Jonsson, Alan Mortensen, Asier Sarasua Garmendia, Sveinn Ă­ Felli, Andi Chandler, BalĂĄzs Úr, dimspingos, Juliano de Souza Camargo, Ngọc QuĂąn Tráș§n, Vasil Pupkin, Alexandre Prokoudine, Bruce Cowan, JĂŒrgen Benvenuti, Nathan Follens, ĐœĐžĐ»ĐŸŃˆ ĐŸĐŸĐżĐŸĐČоћ, BalĂĄzs MeskĂł, Christian Kirbach, Daniel, Emin Tufan Cetin, Fran Dieguez, Guntupalli Karunakar, Hugo Carvalho, Jehan, Philipp Kiemle, Piotr Drąg, Robin Mehdee, RĆ«dolfs Mazurs, Seong-ho Cho, VĂ­ttor Paulo Vieira da Costa, Ayesha Akhtar.
  • 7 crĂ©ateurs de ressources (icĂŽnes, thĂšmes, curseurs, Ă©cran de dĂ©marrage, mĂ©tadonnĂ©es
 mĂȘme si une bonne partie d’entre eux ont Ă©tĂ© dĂ©placĂ©s vers le rĂ©fĂ©rentiel gimp-data) : Alx Sa, Jehan, Bruno Lopes, Anders Jonsson, Jacob Boerema, bootchk, nb1 .
  • 10 contributeurs Ă  la documentation : Jehan, Bruno, Lloyd Konneker, Alx Sa, Bruno Lopes, Anders Jonsson, bootchk, Lukas Oberhuber, Andre Klapper, Jacob Boerema.
  • 11 contributeurs pour la compilation, l’empaquetage ou l’intĂ©gration continue : Bruno Lopes, Jehan, bootchk, Alx Sa, Lloyd Konneker, Jacob Boerema, Niels De Graef, Alfred Wingate, Lukas Oberhuber, Michael Schumacher, Anders Jonsson.

Contributions sur d’autres dĂ©pĂŽts dans GIMPverse  :

  • babl 0.1.110 est composĂ© de 22 commits par 7 contributeurs : Øyvind KolĂ„s, Jehan, Bruno Lopes, Anders Jonsson, Biswapriyo Nath, Jacob Boerema, Lukas Oberhuber.
  • GEGL 0.4.50 est composĂ© de 204 commits par 33 contributeurs : Øyvind KolĂ„s, Sam Lester, Martin, Varun Samaga B L, Yuri Chornoivan, Luming Zh, Rodrigo LledĂł, Jehan, Jordi Mas, Anders Jonsson, KolbjĂžrn StuestĂžl, Marco Ciampa, Sabri Ünal, Bruno Lopes, Alan Mortensen, Asier Sarasua Garmendia, Ekaterine Papava, Bruce Cowan, Lukas Oberhuber, Tim Sabsch, psykose, Alexandre Prokoudine, Alx Sa, Andi Chandler, Andre Klapper, ArtSin, Daniel Șerbănescu, Jacob Boerema, Joe Locash, Morgane Glidic, Niels De Graef, dimspingos, lillolollo.
  • ctx a enregistrĂ© 616 commits depuis la sortie de la version 2.99.18 par 2 contributeurs : Øyvind KolĂ„s, Ian Geiser.
  • gimp-data (nouveau rĂ©fĂ©rentiel contenant des images, des splashes, des icĂŽnes et d’autres donnĂ©es binaires pour le logiciel) ont eu 76 commits par 7 contributeurs : Jehan, Aryeom, Bruno, Alx Sa, Denis Rangelov, Anders Jonsson, Bruno Lopes.
  • La version gimp-macos-build (scripts d’empaquetage pour macOS) a eu 41 commits par 3 contributeurs : Lukas Oberhuber, Bruno Lopes, Jehan.
  • La version flatpak a comptĂ© 38 commits de 4 contributeurs : Bruno Lopes, Jehan, Hubert FiguiĂšre, Will Thompson.
  • Notre site Web principal a enregistrĂ© 60 commits depuis la sortie de la version 2.10.38 par 5 contributeurs : Jehan, Alx Sa, Andre Klapper, Bruno Lopes et Denis Rangelov.
  • Notre site Web de dĂ©veloppeur a enregistrĂ© 33 commits depuis la sortie de la version 2.10.38 par 5 contributeurs : Bruno Lopes, Jehan, Lloyd Konneker, Alx Sa, Lukas Oberhuber.
  • Notre documentation 3.0 a enregistrĂ© 928 commits depuis la version 2.99.18 par 14 contributeurs : Andre Klapper, KolbjĂžrn StuestĂžl, Jacob Boerema, Alan Mortensen, Yuri Chornoivan, Jordi Mas, Marco Ciampa, Anders Jonsson, Sabri Ünal, dimspingos, Alx Sa, Andi Chandler, Daniel, Nathan Follens.

N’oublions pas de remercier toutes les personnes qui nous aident Ă  trier dans Gitlab, Ă  signaler les bugs et Ă  discuter des amĂ©liorations possibles avec nous.
Notre communautĂ© est Ă©galement profondĂ©ment reconnaissante envers les guerriers d’Internet qui gĂšrent nos divers canaux de discussion ou comptes de rĂ©seaux sociaux tels que Ville PĂ€tsi, Liam Quin, Michael Schumacher et Sevenix !

Note : compte tenu du nombre de parties dans GIMP et de la façon dont nous obtenons des statistiques via le script git, des erreurs peuvent se glisser dans ces statistiques. N’hĂ©sitez pas Ă  nous dire si nous avons oubliĂ© ou mal classĂ© des contributeurs ou des contributions.

Modifications futures du processus de publication

Nous sommes bien conscients que le chemin vers GIMP 3.0 a Ă©tĂ© long et que les utilisateurs de GIMP 2.10 n’ont pas eu accĂšs Ă  toutes les nouvelles fonctionnalitĂ©s sur lesquelles nous avons travaillĂ© au fil des ans. À l’avenir, nous restructurerons notre processus de dĂ©veloppement pour rĂ©duire le temps entre les versions. Comme mentionnĂ© briĂšvement dans notre feuille de route 3.0, nous voulons nous concentrer sur des versions plus petites et axĂ©es sur les fonctionnalitĂ©s. Cela signifie que nous visons la sortie de GIMP 3.2 dans l’annĂ©e qui suit la sortie finale de 3.0, plutĂŽt qu’en 2050 comme on le dit souvent en plaisantant ! Des micro-versions avec des corrections de bugs peuvent survenir entre-temps.

Des versions plus petites avec quelques « grosses Â» fonctionnalitĂ©s nous permettront Ă©galement de tester plus en profondeur chaque changement, amĂ©liorant encore la stabilitĂ© de chaque version. Au cours du processus de dĂ©veloppement de la version 3.0, des dĂ©veloppeurs comme Jacob Boerema, Lloyd Konneker, Bruno Lopes et Jehan ont crĂ©Ă© et amĂ©liorĂ© nos processus de tests automatisĂ©s pour dĂ©tecter et identifier les bugs plus tĂŽt. Nous parlerons plus en dĂ©tail de ces amĂ©liorations dans de futurs articles.

Autour de GIMP

Miroirs de téléchargement

Depuis notre derniÚre actualité, 8 nouveaux miroirs ont été proposés à GIMP par :

  • Sahil Dhiman, Inde
  • FCIX, en RĂ©publique Dominicaine, en Australie et 2 aux USA.
  • Taiwan Digital Streaming Co., TaĂŻwan
  • OSSPlanet, TaĂŻwan
  • Shrirang Kahale, Inde

Cela nous amĂšne Ă  un total de 56 miroirs du monde entier !

World Map of GIMP Mirror locations

Carte des miroirs GIMP dans le monde, générée à partir de MirrorBits

Les miroirs sont importants, car ils aident le projet en répartissant la charge des dizaines de milliers de téléchargements quotidiens. De plus, en ayant des miroirs répartis dans le monde entier, nous faisons en sorte que tout le monde puisse avoir un accÚs rapide au téléchargement de GIMP.

Modifications de l’infrastructure

Bruno Lopes a vĂ©ritablement pris des initiatives pour amĂ©liorer notre processus de construction et d’empaquetage sur plusieurs plateformes.

Au cours de l’étĂ©, il a crĂ©Ă© une version expĂ©rimentale d’AppImage (comme dĂ©taillĂ© dans un article d’actualitĂ© prĂ©cĂ©dent). Si vous souhaitez l’amĂ©liorer davantage et, espĂ©rons-le, le rendre disponible en tĂ©lĂ©chargement standard, veuillez nous contacter ! Bruno a Ă©galement crĂ©Ă© des scripts de construction flatpak pour rendre le processus de crĂ©ation de votre propre flatpak GIMP beaucoup plus facile.

Beaucoup de travail a Ă©tĂ© fait pour amĂ©liorer notre prĂ©sence sur le Microsoft Store pour la version 3.0. Notre application GIMP 2.10 n’était pas entiĂšrement intĂ©grĂ©e Ă  la plateforme du store en raison de certaines limitations — il s’agit en rĂ©alitĂ© simplement d’un wrapper pour notre installateur GIMP existant. Par consĂ©quent, elle ne se mettait pas automatiquement Ă  jour pour les utilisateurs et il n’était pas possible d’automatiser les installations avec des outils comme Microsoft Intune. GrĂące aux nombreux efforts de Bruno, nous aurons une nouvelle application GIMP dans le Microsoft Store qui rĂ©sout ces problĂšmes (et bien d’autres) pour la version finale de GIMP 3.0. À partir de maintenant, nous disposons Ă©galement d’une version sĂ©parĂ©e de GIMP (Preview) qui vous permet d’installer des versions de dĂ©veloppement de maniĂšre similaire au flatpak BĂȘta sur Linux. Vous pouvez l’essayer sur ce lien vers le Microsoft Store pour GIMP (Preview).

(Pour des raisons techniques et de maintenance dĂ©crites ici, les binaires 32 bits ne seront pas disponibles dans les nouveaux paquets MSIX de GIMP, ce qui supprime malheureusement la prise en charge du greffon TWAIN hĂ©ritĂ© dans les paquets x64 et arm64 utilisĂ©s pour la numĂ©risation rapide. Si vous dĂ©pendez de ceux-ci, le programme d’installation .exe prend toujours en charge les processeurs 32 bits. Cependant, la prise en charge de cette architecture devrait ĂȘtre abandonnĂ©e Ă  l’avenir)

En outre, l’installateur Windows standard a Ă©tĂ© mis Ă  jour pour une conception plus moderne. Il vous permet Ă©galement d’installer des paquets de langue individuels et de dĂ©marrer GIMP immĂ©diatement aprĂšs la fin de l’installation. Pour les plus fĂ©rus de technologie, les scripts de build Windows ont Ă©galement Ă©tĂ© portĂ©s pour utiliser PowerShell, et les scripts de build croisĂ©s peuvent dĂ©sormais s’exĂ©cuter localement.

En raison des changements et des mises Ă  jour de notre infrastructure de crĂ©ation de logiciels, nous avons dĂ» augmenter la configuration minimale requise pour le systĂšme d’exploitation MacOS Ă  Big Sur (MacOS 11).

Accord d’hĂ©bergement fiscal de la Fondation GNOME

Plus tÎt cette année, la Fondation GNOME a annoncé un accord de parrainage fiscal avec GIMP. Tout cela est dû au travail acharné de Jehan pendant de nombreux mois. Nos objectifs avec cet accord sont de pouvoir proposer un financement stable pour les développeurs intéressés par un travail à long terme sur GIMP par le biais de bourses, et de fournir des moyens plus faciles pour les gens de contribuer au développement de GIMP. Ce travail est toujours en cours, nous ferons donc une annonce plus détaillée une fois que tout sera stabilisé.

Traductions

GrĂące Ă  des traducteurs bĂ©nĂ©voles, nous disposons dĂ©sormais d’une traduction de GIMP en bengali ! Si vous souhaitez traduire GIMP dans votre propre langue ou participer Ă  une traduction existante, vous pouvez dĂ©couvrir comment ici.

Télécharger GIMP 3.0 RC1

Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

  • Paquets Linux flatpaks pour x86 et ARM (64 bits) avec des nightly-builds permettant de suivre l’avancement des dĂ©veloppements
  • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
  • Paquet MSIX (aperçu GIMP) pour x86 (64 bits uniquement) et ARM (64 bits)
  • Paquets macOS DMG pour le matĂ©riel Intel
  • Paquets macOS DMG pour le matĂ©riel Apple Silicon

D’autres paquets rĂ©alisĂ©s par des tiers sont Ă©videmment attendus (paquets de distributions Linux ou *BSD, etc.).

Et ensuite ?

Nous entrons maintenant dans la derniĂšre Ă©tape de cette version majeure : les candidats Ă  la version finale ! Bien qu’il soit toujours possible d’espĂ©rer obtenir une Release Candidate correcte du premier coup, l’expĂ©rience nous dit que cette RC1 — qui est le rĂ©sultat de plus de 6 ans de travail — comportera possiblement des problĂšmes, des bugs, probablement des plantages dĂ©sagrĂ©ables. C’est lĂ  que nous avons besoin de vous tous ! Nous comptons sur tout le monde pour trouver et signaler les problĂšmes afin que la version 3.0.0 puisse vraiment ĂȘtre considĂ©rĂ©e comme stable. đŸ€—

Certains petits bugs peuvent ĂȘtre considĂ©rĂ©s comme secondaires (bien que nous acceptions toujours les rapports pour tous les bugs, mĂȘme les plus petits !), car la perfection n’existe pas vraiment dans les logiciels. Il y a d’autres choses en particulier que nous voulons vraiment dĂ©tecter, comme :

  • toute incohĂ©rence ou problĂšme dans l’API (elle restera stable pour toute la sĂ©rie v3, donc s’il y a des problĂšmes Ă  trouver, c’est maintenant ; nous voulons un framework de greffon robuste) ;
  • bugs lors de la lecture ou du rendu de fichiers XCF existants crĂ©Ă©s par d’anciennes versions stables de GIMP ;
  • plantages ;
  • rĂ©gressions ;
  • migration correcte de la configuration Ă  partir des versions stables prĂ©cĂ©dentes.

Nous ne donnons pas d’estimation de date pour la sortie de la version 3.0.0, tout d’abord parce que nous ne pouvons pas le savoir avec certitude, ensuite parce qu’à chaque fois que nous le faisons, les mĂ©dias semblent simplement survoler chaque avertissement de notre texte et transformer nos mots en promesses indĂ©fectibles. Sachez simplement que nous voulons Ă©galement que cela se produise le plus tĂŽt possible, c’est-Ă -dire lorsque nous pourrons considĂ©rer que notre logiciel est suffisamment stable.

N’oubliez pas que vous pouvez faire un don et financer personnellement les dĂ©veloppeurs de GIMP, afin de donner en retour et d’accĂ©lĂ©rer le dĂ©veloppement de GIMP. L’engagement de la communautĂ© aide le projet Ă  se renforcer ! đŸ’ȘđŸ„ł

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sauvegardes (encore !) et restitution

Ben oui, ce sujet m’intĂ©resse car je suis motivĂ© par la prĂ©servation de ce que je considĂšre comme prĂ©cieux dans les donnĂ©es que je crĂ©e ou rĂ©cupĂšre sur mon PC. En tant que bidouilleur j’ai moi aussi crĂ©Ă© un outil pour cela. Il correspond Ă  mon besoin et j'en suis satisfait. Voici mon cheminement.

J’ai fait une recherche sur LinuxFR.org avec le mot sauvegarde et j’ai trouvĂ© des articles et des rĂ©actions toutes trĂšs intĂ©ressantes. Les besoins, les solutions, les mises en Ɠuvre sont trĂšs variĂ©es. Chacun choisit ou crĂ©e selon son ressenti et finit par ĂȘtre satisfait de ce qu’il fait. Chacun partage son expĂ©rience, en espĂ©rant qu’elle profitera Ă  d’autres. À mon tour.

Le meilleur outil de sauvegarde est celui qu’on utilise et en lequel on a confiance.

tape-drive

Je te propose un jeu : demande Ă  un utilisateur de PC, smartphone
 si la destruction inopinĂ©e de son appareil entraĂźnerait des pertes de fichiers irrĂ©mĂ©diables qui pourraient l’affecter (photos familiales, documents
). Demande ensuite s’il fait des copies et/ou des sauvegardes. Pour beaucoup, tu seras cataloguĂ© comme vilain geek alarmiste. Il y a du travail de prise de conscience !

    Sommaire

    Notion de sauvegarde

    Une analyse trĂšs courte de la fonction sauvegarde serait « ranger quelque part des donnĂ©es qui permettront de restituer ce que je considĂšre comme prĂ©cieux Â».
    Les mots clĂ©s sont « ranger Â» « quelque part Â» « donnĂ©es Â» « restituer Â» « prĂ©cieux Â».
    On a deux verbes « ranger Â» « restituer Â», deux localisations de donnĂ©es « quelque part Â» « ce qui est prĂ©cieux Â», et une notion de filtrage dans le mot « prĂ©cieux Â».

    Un autre point de vue serait de dire qu’une information prĂ©cieuse doit rĂ©sider en deux endroits, pour que la dĂ©faillance de l’un puisse ĂȘtre compensĂ©e par l’autre. Une des consĂ©quences consiste Ă  doubler les archivages : la libĂ©ration des espaces prĂ©cieux par la suppression de donnĂ©es inactives doit ĂȘtre prĂ©cĂ©dĂ©e de l’archivage des donnĂ©es Ă  supprimer vers deux supports distincts. Une autre consĂ©quence est d’utiliser un mĂ©dia spĂ©cifique pour recevoir les sauvegardes (autre que celui oĂč sont les donnĂ©es Ă  sauver).

    La dĂ©faillance peut ĂȘtre de plusieurs origines : matĂ©rielle, corruption du mĂ©dia, utilisateur qui efface/Ă©crase


    Que demande-t-on Ă  un outil de sauvegarde ?

    Si je rédigeais un cahier des charges pour un outil de sauvegarde, je ferais les listes suivantes. Je suis dans mon contexte de PC isolé, ayant accÚs éventuellement à un petit serveur sur le réseau local.

    Fonctionnalités de base :

    • sauver juste ce qui a Ă©tĂ© modifiĂ© depuis la sauvegarde prĂ©cĂ©dente => opĂ©ration rapide,
    • compression des fichiers archives => prend peu de place sur l’espace de sauvegarde,
    • facile Ă  lancer et rapide en exĂ©cution => sera lancĂ© souvent => sĂ©curisation accrue,
    • filtrage => possibilitĂ© de conserver dans les espaces sauvĂ©s des fichiers qui n’encombreront pas les sauvegardes,
    • robuste => confiance.

    Fonctionnalités nécessaires :

    • vĂ©rification de l’intĂ©gritĂ© des fichiers archives engendrĂ©s,
    • restitution facile malgrĂ© le grand nombre de fichiers archives Ă  exploiter,
    • restitution qui permette de rĂ©gĂ©nĂ©rer (ailleurs) l’espace sauvegardĂ© dans le mĂȘme Ă©tat que ce qu’il Ă©tait au moment d’une des opĂ©rations de sauvegarde (accĂšs aux Ă©tats antĂ©rieurs),
    • recherche/extraction de fichiers dans le grand nombre de fichiers archives obtenus,
    • traçage pour vĂ©rifier le bon dĂ©roulement des opĂ©rations.

    On peut ajouter aussi :

    • algorithme ouvert et source fourni,
    • qui s’accommode de tous types de support de stockage,
    • qui utilise des formats standard,
    • qui a toutes ses fonctionnalitĂ©s accessibles en ligne de commande.

    Le dernier point permettra d’utiliser l’outil comme une commande classique. On pourra le lancer dans un script bash qui adaptera l’usage au besoin spĂ©cifique du moment (ajout de montage/dĂ©montage du mĂ©dia de sauvegarde, rsync rĂ©seau des fichiers gĂ©nĂ©rĂ©s
). C’est une commoditĂ© qui me manque quand je suis coincĂ© dans l’usage d’un outil cliquodrome.

    Un script shell écrit sur un coin de table (au début)

    J’ai rencontrĂ© le shell lors de mon premier contact avec Unix, en 1987. Au dĂ©but j’ai eu le sentiment de rĂ©gresser par rapport Ă  la syntaxe COM des Vax/VMS. Depuis, j’ai appris Ă  apprĂ©cier le bash, bien plus commode que ses ancĂȘtres sh csh. Une des philosophies du shell est de combiner des commandes simples et robustes pour en faire une rĂ©ponse Ă  un besoin. Par exemple ls | wc -l renvoie le nombre de fichiers/rĂ©pertoires du rĂ©pertoire courant. Toutefois, il y a des cas sournois oĂč le rĂ©sultat est faux, on verra plus loin ce que je qualifie de piĂšges.

    Avec les pipelines, les redirections, les variables, les traitements de chaĂźnes de caractĂšres, et tout le reste, on peut construire Ă  l’infini des sĂ©quences d’opĂ©rations qui s’appuient sur des commandes simples Ă  lancer mais puissantes (genre outil de compression, outil de parcours d’une arborescence de fichiers
). Beaucoup des fonctionnalitĂ©s du systĂšme GNU sont construites comme cela. Un bidouilleur systĂšme ne peut pas ignorer le bash. En plus, emacs permet un accĂšs trĂšs commode aux man. Je n’ai jamais eu de projet ou de besoin qui me pousse Ă  maĂźtriser Perl ou Python. Je pense qu’ils sont encore plus puissants que bash.

    Comme j’aime bien bidouiller, Ă  la fin du 20e siĂšcle j’avais dans l’idĂ©e de faire un outil de sauvegarde basique qui s’appuie sur un pipeline : une commande find qui sĂ©lectionne les fichiers modifiĂ©s, tar pour les copier et gzip pour compresser. J’ai fait divers essais. En 2021, je m’y suis mis sĂ©rieusement et j’ai dĂ©couvert beaucoup de subtilitĂ©s du bash.

    Un des problĂšmes des sauvegardes incrĂ©mentales est de deviner si un fichier doit ĂȘtre sauvĂ©, sans avoir Ă  comparer son contenu avec la version sauvĂ©e derniĂšrement (ça coĂ»te trop cher). Il faut se baser sur les paramĂštres du systĂšme de fichiers. Il faut bien choisir ces paramĂštres (on surveille leur changement), au risque de rater certains fichiers ou alors d’en sĂ©lectionner trop. Je me suis arrĂȘtĂ© sur la date de modification du statut et le numĂ©ro d'inode.

    Scripts bash tzsauv

    Je pense ĂȘtre arrivĂ© au bout des spĂ©cifications avec l’outil tzsauv que j’ai Ă©crit en bash. Il est disponible sur mon site.
    Je m’en sers quotidiennement. Selon les jours, j’envoie les fichiers archives sur le 2ᔉ disque ou sur clĂ© USB. Je fais aussi un miroir du rĂ©pertoire disque des fichiers archives vers GoogleDrive (ceinture et bretelles). Je fais aussi une sauvegarde Ă  longue pĂ©riodicitĂ© (six mois) sur une clĂ© USB dĂ©diĂ©e (double ceinture).

    Les opĂ©rations principales utilisent les commandes standard find sed tar zstd md5sum, le bash sert Ă  enchaĂźner tout ça et sert aux dialogues. Pour installer, il suffit de copier deux scripts sur le mĂ©dia de sauvegarde (SauverTZ_ProjXY_01.bash tzsauv.bash, total 96k, ajouter Ă©ventuellement l’aide Alire.txt), et modifier quelques paramĂštres dans l’un des scripts (le script lanceur SauverTZ_*.bash). Le lancement peut se faire en ligne de commande ou via l’explorateur de fichiers par Clic-Droit/Actions/LancerDansKonsole.

    L’interprĂ©tation du bash prend des ressources, mais je pense qu’elles sont nĂ©gligeables par rapport Ă  celles prises par les E/S et les commandes standard citĂ©es ci-dessus. Le compresseur zstd semble ĂȘtre trĂšs performant, en temps et en taux de compression. De plus, il est multithread, ce qui lui permet de tirer avantage des processeurs actuels qui gagnent en puissance en augmentant le nombre de cƓurs. Le paramĂ©trage de tzsauv permet de choisir parmi plusieurs formats d’archives.

    Pour la sauvegarde vers le 2e disque, j’ai copiĂ© sur le Bureau le lanceur de Konsole, puis j’ai renommĂ© la copie et dans ses PropriĂ©tĂ©s/Application j’ai modifiĂ© l’argument (-e ./SauverTZ_ProjXY_01.bash) et le dossier de travail. Du coup, avec juste un double-clic je lance la sauvegarde en mode interactif (-> question « â€Š TOTALE o/n/q ? Â»). Elle est pas belle la vie ?

    Subtilités et piÚges

    Je fais rĂ©guliĂšrement des petits programmes bash pour explorer des dĂ©tails de fonctionnement soit du bash, soit des commandes. Les man ont beau ĂȘtre dĂ©taillĂ©s, ils ne peuvent pas tout dire. Pour un bug de tar je suis allĂ© jusqu’à consulter le source C, le corriger par plaisir et vĂ©rifier que c’était OK. La remontĂ©e du bug n’a pas abouti (personne n’utilise l’option -u de tar ! C’est de la tĂ©trapilectomie, je suis xyloglotte mais pas encore alopĂ©cique).

    Si tu lances sous bash ls | wc -l puis touch -- 'a'$'\n''b' puis de nouveau ls | wc -l, le nombre renvoyĂ© aura augmentĂ© de deux alors que tu n’as ajoutĂ© qu’un seul fichier. C’est normal car le nom du fichier ajoutĂ© tient sur deux lignes ! Solution : ls -q | wc -l ou ls --zero | tr '\n\0' '\0\n' | wc -l. Pour voir le rĂ©sultat de ls -q envoyĂ© Ă  wc -l via le pipeline, entrer ls -q | cat.

    Les deux seuls caractĂšres interdits dans les noms de fichiers/rĂ©pertoires *unix* sont « / Â» et « \0 Â» (Ă  mĂ©diter).

    Je t’invite Ă  crĂ©er sous bash un fichier piĂšge par echo "abcd" > $' xyza\x01b\x02c\x03d\x04e\x05f\x06g\x07h\x08i\x09j\x0ak\x0bl\x0cm\x0dn\x0eo\x0fESC\x1bDEL\x7f\x80\xff\x26\x22\x27\x60\x5c SPC ', Ă  le sauver avec ton outil, puis Ă  le restituer. Tu verras si ça passe et si le nombre de fichiers est correct. Pour le dĂ©truire rm -i *xyza* devrait convenir.
    Essaye aussi avec un sous-répertoire mkdir $' xyzp\x01b\x02c\x03d\x04e\x05f\x06g\x07h\x08i\x09j\x0ak\x0bl\x0cm\x0dn\x0eo\x0fESC\x1bDEL\x7f\x80\xff\x26\x22\x27\x60\x5c SPC '. Mets-y un fichier, puis fais une sauvegarde totale, modifie le fichier et fais une incrémentale. Ensuite fais un essai de restitution. Joue aussi à modifier le nom du répertoire parent du sous-répertoire piÚge.
    Pour jouer avec ces choses dangereuses, je te conseille de faire une zone Ă  part, ne fais pas courir de risque Ă  ta production. Sur ma Mageia9.2-official, le navigateur Dolphin n’arrive pas Ă  dĂ©truire le rĂ©pertoire piĂšge. Je passe par la ligne de commande.

    J’ai rencontrĂ© tout plein de piĂšges et j’en ai imaginĂ© d’autres : un fichier de nom -f, un rĂ©pertoire de nom -, comment dĂ©truire le fichier ? Comment faire un cd vers le rĂ©pertoire ?
    Solutions : rm -f -- -f et cd -- -/ et si le nom du rĂ©pertoire est dans la variable var cd -- "${var%/}/" (prĂ©voir le cas oĂč var="/").
    J’ai dĂ©couvert que zstd en mode filtre lancĂ© par tar, se met en erreur s’il existe un sous-rĂ©pertoire de nom - dans le rĂ©pertoire courant (c’est trĂšs particulier, en effet). L’examen des sources de tar et de zstd m’a confirmĂ© le problĂšme, la solution m’a parue simple (inverser l’ordre de deux tests dans le source de zstd) mais la remontĂ©e de bug n’a pas abouti. Ce n’est pas grave, je sais maintenant qu’il ne faut pas utiliser tar ... --zstd ..., et je mets plutĂŽt zstd -c[d] dans un pipeline.

    J’en raconte un maximum dans le fichier notes01.bash. Toute cette expĂ©rience me permet de crĂ©er des scripts bash robustes.

    Conclusion

    Ton outil de sauvegarde est le meilleur, car il te convient.
    Fais-toi une idée claire

    • de tous tes espaces contenant des fichiers prĂ©cieux Ă  tes yeux,
    • de tous tes espaces de sauvegarde,
    • des mĂ©canismes de sauvegarde et de restitution.

    Cela participe Ă  la confiance.

    N’oublie pas de faire de temps en temps un contrĂŽle d’intĂ©gritĂ© des archives et un exercice de restitution. C’est un peu de travail, juste pour vĂ©rifier qu’une mise Ă  jour, ou une donnĂ©e inhabituelle, ou autre chose, n’a pas mis en dĂ©faut la capacitĂ© Ă  restituer comme tu l’entends.

    Si la restitution est rendue impossible, c’est comme si tu n’avais jamais sauvegardĂ© !

    La confiance, en informatique ça se surveille du coin de l’Ɠil
    L’informatique est une science exacte pour la machine, pas pour l’homme ; il compense par l’humilitĂ© et l’empirisme

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌