From 2bd5649faecea62111fad5c2b142141ce1599073 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 28 May 2001 07:33:06 +0000 Subject: [PATCH] *** empty log message *** --- Fltk/GUI.cpp | 20 +++- Mesh/Print_Mesh.cpp | 4 +- demos/.gmsh-options | 262 ++++++++++++++++++++++++++++++++++++++++++++ doc/BUGS | 7 +- 4 files changed, 286 insertions(+), 7 deletions(-) create mode 100644 demos/.gmsh-options diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 8392ec5ebe..1f03359b28 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.81 2001-05-25 08:43:24 geuzaine Exp $ +// $Id: GUI.cpp,v 1.82 2001-05-28 07:33:06 geuzaine Exp $ // To make the interface as visually consistent as possible, please: // - use the BH, BW, WB, IW values for button heights/widths, window borders, etc. @@ -2508,9 +2508,25 @@ void GUI::create_getdp_window(){ o->labelsize(CTX.fontsize); o->callback(getdp_ok_cb); - g[0]->end(); + g[1]->end(); } + { + g[2] = new Fl_Group(WB, WB+BH, width-2*WB, height-3*WB-2*BH, "About"); + g[2]->labelsize(CTX.fontsize); + Fl_Browser *o = new Fl_Browser(2*WB, 2*WB+1*BH, width-4*WB, height-5*WB-2*BH); + o->add(""); + o->add("@c@b@.GetDP"); + o->add("@c@.A General environment for the treatment"); + o->add("@c@.of Discrete Problems"); + o->add(""); + o->add("@c@.Exerimental solver plug-in for Gmsh"); + o->add(""); + o->add("@c@.Visit http://www.geuz.org/getdp/ for more info"); + o->textsize(CTX.fontsize); + + g[2]->end(); + } o->end(); } diff --git a/Mesh/Print_Mesh.cpp b/Mesh/Print_Mesh.cpp index a33f4f32cc..a534a4fe23 100644 --- a/Mesh/Print_Mesh.cpp +++ b/Mesh/Print_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Print_Mesh.cpp,v 1.19 2001-04-26 17:58:00 remacle Exp $ +// $Id: Print_Mesh.cpp,v 1.20 2001-05-28 07:33:06 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -320,7 +320,7 @@ void process_msh_elements (Mesh * M){ fprintf (mshfile, "%d\n", MSH_ELEMENT_NUM - 1); if (MSH_ELEMENT_NUM == 1) - Msg (WARNING, "No elements (did You forget to define Physical entities?)"); + Msg (WARNING, "No elements (did you forget to define physical entities?)"); MSH_ADD = 1; MSH_ELEMENT_NUM = 1; diff --git a/demos/.gmsh-options b/demos/.gmsh-options new file mode 100644 index 0000000000..7e5388245b --- /dev/null +++ b/demos/.gmsh-options @@ -0,0 +1,262 @@ +// Gmsh Option File +// +// This file takes configuration options (preferences) that +// should be loaded each time Gmsh is launched. You can create +// this file by hand, or let Gmsh generate it for you (with +// the 'Options->Save options' menu button). This file can +// also be automatically regenerated every time you quit +// Gmsh if the option 'General.SaveOptions' is set. If +// this file isn't found, defaults are used. +// +// +// General options +// +General.TextEditor = "emacs %s &"; // System command to launch a text editor +General.InitialModule = 0; // Module launched on startup (0=automatic, 1=geometry, 2=mesh, 3=solver, 4=post-processing) +General.CenterWindows = 1; // Center new windows on the menu window +General.Shininess = 0.4; // Material shininess (must be > 0) +General.ColorScheme = 0; // Default color scheme (0, 1 or 2) +General.Verbosity = 2; // Level of information printed during processing (0=no information) +General.Terminal = 0; // Should information be printed on the terminal (if available)? +General.Orthographic = 1; // Orthographic projection mode (0=perspective projection) +General.FastRedraw = 1; // Fast redraw (no mesh or view display) when moving the model +General.Axes = 0; // Display the axes linked to the model +General.SmallAxes = 1; // Display the small axes +General.DoubleBuffer = 1; // Use a double buffered graphic window (on Unix, should be set to 0 when working on a remote host without GLX) +General.DisplayLists = 0; // Use OpenGL display lists (useful with real time manipulation of 'big' post-processing views) +General.AlphaBlending = 0; // Enable alpha blending (transparency) in post-processing views +General.Trackball = 1; // Use trackball rotation mode +General.ZoomFactor = 1.1; // 'Speed' of the middle mouse button zoom +General.DefaultPlugins = 0; // Load default plugins on startup +General.MovingLight = 0; // Use a moving (i.e. which follows the model) light source +General.Light0 = 1; // Enable light source 0 +General.Light0X = 0.5; // X position of light source 0 +General.Light0Y = 0.3; // Y position of light source 0 +General.Light0Z = 1; // Z position of light source 0 +General.Light1 = 0; // Enable light source 1 +General.Light1X = 0.5; // X position of light source 1 +General.Light1Y = 0.3; // Y position of light source 1 +General.Light1Z = 1; // Z position of light source 1 +General.Light2 = 0; // Enable light source 2 +General.Light2X = 0.5; // X position of light source 2 +General.Light2Y = 0.3; // Y position of light source 2 +General.Light2Z = 1; // Z position of light source 2 +General.Light3 = 0; // Enable light source 3 +General.Light3X = 0.5; // X position of light source 3 +General.Light3Y = 0.3; // Y position of light source 3 +General.Light3Z = 1; // Z position of light source 3 +General.Light4 = 0; // Enable light source 4 +General.Light4X = 0.5; // X position of light source 4 +General.Light4Y = 0.3; // Y position of light source 4 +General.Light4Z = 1; // Z position of light source 4 +General.Light5 = 0; // Enable light source 5 +General.Light5X = 0.5; // X position of light source 5 +General.Light5Y = 0.3; // Y position of light source 5 +General.Light5Z = 1; // Z position of light source 5 +General.Color.Background = {120,120,120}; // Background color +General.Color.Foreground = {255,255,255}; // Foreground color +General.Color.Text = {255,255,255}; // Text color +General.Color.Axes = {255,255,0}; // Axes color +General.Color.SmallAxes = {255,255,255}; // Small axes color +// +// Geometry options +// +Geometry.Normals = 0; // Size of the vectors normal to the surfaces +Geometry.Tangents = 0; // Size of the vectors tangent to the curves +Geometry.Points = 1; // Display geometry points? +Geometry.Lines = 1; // Display geometry curves? +Geometry.Surfaces = 0; // Display geometry surfaces? +Geometry.Volumes = 0; // Display geometry volumes? (not implemented yet) +Geometry.PointsNumbers = 1; // Display points numbers? +Geometry.LinesNumbers = 0; // Display curve numbers? +Geometry.SurfacesNumbers = 0; // Display surface numbers? +Geometry.VolumesNumbers = 0; // Display volume numbers? (not implemented yet) +Geometry.Aspect = 0; // Not used +Geometry.Highlight = 0; // Not used +Geometry.OldCircle = 0; // Use old circle description (compatibility option for old Gmsh geometries) +Geometry.ScalingFactor = 1; // Global geometry scaling factor +Geometry.ColorScheme = 0; // Default geometry color scheme (0, 1 or 2) +Geometry.Color.Points = {255,119,0}; // Normal geometry point color +Geometry.Color.Lines = {0,0,255}; // Normal geometry curve color +Geometry.Color.Surfaces = {196,196,196}; // Normal geometry surface color +Geometry.Color.Volumes = {128,128,128}; // Normal geometry volume color +Geometry.Color.PointsSelect = {255,0,0}; // Selected geometry point color +Geometry.Color.LinesSelect = {255,0,0}; // Selected geometry curve color +Geometry.Color.SurfacesSelect = {255,0,0}; // Selected geometry surface color +Geometry.Color.VolumesSelect = {255,0,0}; // Selected geometry volume color +Geometry.Color.PointsHighlight = {0,255,0}; // Highlighted geometry point color +Geometry.Color.LinesHighlight = {0,0,255}; // Highlighted geometry curve color +Geometry.Color.SurfacesHighlight = {128,128,128}; // Highlighted geometry surface color +Geometry.Color.VolumesHighlight = {128,128,128}; // Highlighted geometry volume color +Geometry.Color.Tangents = {255,255,0}; // Tangent geometry vectors color +Geometry.Color.Normals = {255,0,0}; // Normal geometry vectors color +// +// Mesh options +// +Mesh.Quality = 0; // Target quality for tetrahedral elements (not fully functional) +Mesh.Normals = 0; // Size of the normal vectors +Mesh.Tangents = 0; // Size of the tangent vectors +Mesh.Explode = 1; // Display mesh with non adjacent elements (factor between 0 and 1) +Mesh.ScalingFactor = 1; // Global scaling factor applied to the saved mesh +Mesh.CharacteristicLengthFactor = 1; // Factor applied to all charcteristic lenghts (and background meshes) +Mesh.RandomFactor = 0.0001; // Random factor used in 2D and 3D meshing algorithm (test other values when the algorithm fails) +Mesh.GammaInf = 0; // Only display elements whose Gamma factor is greater than GammaInf +Mesh.GammaSup = 0; // Only display elements whose Gamma factor is smaller than GammaSup +Mesh.RadiusInf = 0; // Only display elements whose Radius is greater than RadiusInf +Mesh.RadiusSup = 0; // Only display elements whose Radius is smaller than RadiusSup +Mesh.Points = 1; // Display mesh vertices? +Mesh.Lines = 1; // Display mesh vertices on curves? +Mesh.Surfaces = 1; // Display surface mesh? +Mesh.Volumes = 1; // Display volume mesh? +Mesh.PointsNumbers = 0; // Display mesh vertices numbers? +Mesh.LinesNumbers = 0; // Display mesh line numbers? +Mesh.SurfacesNumbers = 0; // Display mesh surface numbers? +Mesh.VolumesNumbers = 0; // Display mesh elements numbers? +Mesh.Aspect = 0; // Mesh apsect (0=wireframe, 1=hidden lines, 2=solid) +Mesh.Format = 1; // Mesh output format (1=MSH, 2=UNV) +Mesh.Smoothing = 0; // Number of smoothing steps applied to the final mesh +Mesh.Algorithm = 1; // 2D mesh algorithm (1=isotropic, 2=anisotropic) +Mesh.PointInsertion = 1; // Point insertion method for isotropic 2D algorithm (1=center of circ. circle, 2=voronoi, 3=cog) +Mesh.SpeedMax = 0; // Disable dubious point insertion tests +Mesh.MinimumCirclePoints = 7; // Minimum number of points used to mesh a circle +Mesh.ConstrainedBackgroundMesh = 0; // Should the background mesh be constrained by the characteristic lengths associated with the geometry? +Mesh.Degree = 1; // Element order +Mesh.Dual = 0; // Display the dual mesh obtained by barycentric subdivision +Mesh.Interactive = 0; // Show the construction of the 2D mesh in real time (only with the anisotropic algorithm) +Mesh.ColorScheme = 0; // Default mesh color scheme (0, 1 or 2) +Mesh.ColorCarousel = 1; // Use a 'color by region number' scheme +Mesh.Color.Points = {0,123,59}; // Mesh vertex color +Mesh.Color.PointsSupp = {255,0,255}; // Mesh high order vertex color +Mesh.Color.Lines = {0,255,0}; // Mesh line color +Mesh.Color.Triangles = {160,150,255}; // Mesh triangle color (if ColorCarousel=0) +Mesh.Color.Quadrangles = {130,120,225}; // Mesh quadrangle color (if ColorCarousel=0) +Mesh.Color.Tetrahedra = {160,150,255}; // Mesh tetrahedron color (if ColorCarousel=0) +Mesh.Color.Hexahedra = {130,120,225}; // Mesh hexahedron color (if ColorCarousel=0) +Mesh.Color.Prisms = {232,210,23}; // Mesh prism color (if ColorCarousel=0) +Mesh.Color.Pyramids = {217,113,38}; // Mesh pyramid color (if ColorCarousel=0) +Mesh.Color.Normals = {128,128,128}; // Normal mesh vector color +Mesh.Color.Tangents = {128,128,128}; // Tangent mesh vector color +Mesh.Color.One = {232,210,23}; // First color in color carousel +Mesh.Color.Two = {226,167,29}; // Second color in color carousel +Mesh.Color.Three = {217,113,38}; // Third color in color carousel +Mesh.Color.Four = {201,54,54}; // Fourth color in color carousel +Mesh.Color.Five = {169,12,86}; // Fifth color in color carousel +Mesh.Color.Six = {114,2,141}; // Sixth color in color carousel +Mesh.Color.Seven = {67,30,188}; // Seventh color in color carousel +Mesh.Color.Eight = {44,86,211}; // Eighth color in color carousel +Mesh.Color.Nine = {32,145,223}; // Nitnth color in color carousel +Mesh.Color.Ten = {25,193,230}; // tenth color in color carousel +// +// Solver options +// +Solver.GetDPCommand = "getdp"; // System command to launch the GetDP solver (should _not_ contain the '&' character) +Solver.GetDPPopupMessages = 1; // Automatically display GetDP messages +Solver.GetDPMergeViews = 1; // Automatically merge any post-processing view created by GetDP +// +// Post-processing options +// +PostProcessing.Scales = 1; // Show value scales +PostProcessing.Link = 0; // Link post-processing views (0=no, 1=visible views, 2=all views) +PostProcessing.Smoothing = 0; // Apply (non-reversible) smoothing to post-processing view when merged +PostProcessing.AnimationDelay = 0.25; // Delay (in seconds) between to animation frames +// +// View options +// +View.Format = "%.3e"; // Number format (in standard C form) +View.ArrowScale = 50; // Size of the vector (e.g. arrow size in pixels) +View.IntervalsType = 2; // Type of interval display (1=iso, 2=discrete, 3=continuous, 4=numeric) +View.NbIso = 15; // Number of intervals +View.Light = 0; // Enable light sources? +View.ShowElement = 0; // Show element boundaries? +View.ShowTime = 1; // Show time value (or time step) if NbTimeStep > 1? +View.ShowScale = 1; // Show value scale? +View.DrawPoints = 1; // Display post-processing points? +View.DrawLines = 1; // Display post-processing lines? +View.DrawTriangles = 1; // Display post-processing triangles? +View.DrawTetrahedra = 1; // Display post-processing tetrahedra? +View.DrawScalars = 1; // Display scalar values? +View.DrawVectors = 1; // Display vector values? +View.DrawTensors = 1; // Display tensor values? +View.TransparentScale = 1; // Display a 'transparent' value scale? +View.ScaleType = 1; // Value scale type (1=linear, 2=logarithmic) +View.RangeType = 1; // Value scale range type (1=default, 2=custom) +View.ArrowType = 2; // Vector display type (1=segment, 2=arrow, 3=pyramid, 4=cone, 5=displacement) +View.ArrowLocation = 1; // Arrow location (1=cog, 2=vertex) +View.ColorTable = { +{17, 246, 238, 255}, {17, 246, 238, 255}, {17, 245, 238, 255}, {17, 245, 238, 255}, +{17, 244, 238, 255}, {17, 244, 238, 255}, {18, 243, 237, 255}, {18, 243, 237, 255}, +{18, 242, 237, 255}, {18, 241, 237, 255}, {18, 241, 237, 255}, {18, 240, 237, 255}, +{18, 239, 237, 255}, {19, 238, 236, 255}, {19, 238, 236, 255}, {19, 237, 236, 255}, +{19, 236, 236, 255}, {19, 235, 236, 255}, {19, 234, 236, 255}, {19, 233, 236, 255}, +{20, 232, 235, 255}, {20, 231, 235, 255}, {20, 230, 235, 255}, {20, 229, 235, 255}, +{20, 228, 235, 255}, {21, 227, 234, 255}, {21, 225, 234, 255}, {21, 224, 234, 255}, +{21, 223, 234, 255}, {21, 222, 234, 255}, {22, 220, 233, 255}, {22, 219, 233, 255}, +{22, 217, 233, 255}, {22, 216, 233, 255}, {22, 214, 233, 255}, {23, 213, 232, 255}, +{23, 211, 232, 255}, {23, 209, 232, 255}, {23, 207, 232, 255}, {24, 206, 231, 255}, +{24, 204, 231, 255}, {24, 202, 231, 255}, {24, 200, 231, 255}, {25, 198, 230, 255}, +{25, 196, 230, 255}, {25, 194, 230, 255}, {25, 192, 230, 255}, {26, 189, 229, 255}, +{26, 187, 229, 255}, {26, 185, 229, 255}, {27, 183, 228, 255}, {27, 180, 228, 255}, +{27, 178, 228, 255}, {28, 175, 227, 255}, {28, 173, 227, 255}, {28, 170, 227, 255}, +{29, 168, 226, 255}, {29, 165, 226, 255}, {30, 162, 225, 255}, {30, 159, 225, 255}, +{30, 157, 225, 255}, {31, 154, 224, 255}, {31, 151, 224, 255}, {32, 148, 223, 255}, +{32, 145, 223, 255}, {32, 142, 223, 255}, {33, 139, 222, 255}, {33, 136, 222, 255}, +{34, 133, 221, 255}, {34, 130, 221, 255}, {35, 127, 220, 255}, {35, 124, 220, 255}, +{36, 121, 219, 255}, {37, 118, 218, 255}, {37, 115, 218, 255}, {38, 112, 217, 255}, +{38, 108, 217, 255}, {39, 105, 216, 255}, {40, 102, 215, 255}, {40, 99, 215, 255}, +{41, 96, 214, 255}, {42, 93, 213, 255}, {43, 89, 212, 255}, {43, 86, 212, 255}, +{44, 83, 211, 255}, {45, 80, 210, 255}, {46, 77, 209, 255}, {47, 74, 208, 255}, +{48, 71, 207, 255}, {49, 68, 206, 255}, {50, 65, 205, 255}, {51, 62, 204, 255}, +{52, 59, 203, 255}, {53, 56, 202, 255}, {54, 53, 201, 255}, {56, 50, 199, 255}, +{57, 47, 198, 255}, {58, 45, 197, 255}, {59, 42, 196, 255}, {61, 40, 194, 255}, +{62, 37, 193, 255}, {64, 35, 191, 255}, {65, 32, 190, 255}, {67, 30, 188, 255}, +{69, 28, 186, 255}, {71, 25, 184, 255}, {72, 23, 183, 255}, {74, 21, 181, 255}, +{76, 19, 179, 255}, {78, 17, 177, 255}, {81, 16, 174, 255}, {83, 14, 172, 255}, +{85, 12, 170, 255}, {87, 11, 168, 255}, {90, 9, 165, 255}, {92, 8, 163, 255}, +{95, 7, 160, 255}, {98, 6, 157, 255}, {100, 5, 155, 255}, {103, 4, 152, 255}, +{106, 3, 149, 255}, {109, 2, 146, 255}, {112, 2, 143, 255}, {115, 1, 140, 255}, +{118, 1, 137, 255}, {121, 1, 134, 255}, {124, 1, 131, 255}, {127, 0, 127, 255}, +{131, 1, 124, 255}, {134, 1, 121, 255}, {137, 1, 118, 255}, {140, 1, 115, 255}, +{143, 2, 112, 255}, {146, 2, 109, 255}, {149, 3, 106, 255}, {152, 4, 103, 255}, +{155, 5, 100, 255}, {157, 6, 98, 255}, {160, 7, 95, 255}, {163, 8, 92, 255}, +{165, 9, 90, 255}, {168, 11, 87, 255}, {170, 12, 85, 255}, {172, 14, 83, 255}, +{174, 16, 81, 255}, {177, 17, 78, 255}, {179, 19, 76, 255}, {181, 21, 74, 255}, +{183, 23, 72, 255}, {184, 25, 71, 255}, {186, 28, 69, 255}, {188, 30, 67, 255}, +{190, 32, 65, 255}, {191, 35, 64, 255}, {193, 37, 62, 255}, {194, 40, 61, 255}, +{196, 42, 59, 255}, {197, 45, 58, 255}, {198, 47, 57, 255}, {199, 50, 56, 255}, +{201, 53, 54, 255}, {202, 56, 53, 255}, {203, 59, 52, 255}, {204, 62, 51, 255}, +{205, 65, 50, 255}, {206, 68, 49, 255}, {207, 71, 48, 255}, {208, 74, 47, 255}, +{209, 77, 46, 255}, {210, 80, 45, 255}, {211, 83, 44, 255}, {212, 86, 43, 255}, +{212, 89, 43, 255}, {213, 93, 42, 255}, {214, 96, 41, 255}, {215, 99, 40, 255}, +{215, 102, 40, 255}, {216, 105, 39, 255}, {217, 108, 38, 255}, {217, 112, 38, 255}, +{218, 115, 37, 255}, {218, 118, 37, 255}, {219, 121, 36, 255}, {220, 124, 35, 255}, +{220, 127, 35, 255}, {221, 130, 34, 255}, {221, 133, 34, 255}, {222, 136, 33, 255}, +{222, 139, 33, 255}, {223, 142, 32, 255}, {223, 145, 32, 255}, {223, 148, 32, 255}, +{224, 151, 31, 255}, {224, 154, 31, 255}, {225, 157, 30, 255}, {225, 159, 30, 255}, +{225, 162, 30, 255}, {226, 165, 29, 255}, {226, 168, 29, 255}, {227, 170, 28, 255}, +{227, 173, 28, 255}, {227, 175, 28, 255}, {228, 178, 27, 255}, {228, 180, 27, 255}, +{228, 183, 27, 255}, {229, 185, 26, 255}, {229, 187, 26, 255}, {229, 189, 26, 255}, +{230, 192, 25, 255}, {230, 194, 25, 255}, {230, 196, 25, 255}, {230, 198, 25, 255}, +{231, 200, 24, 255}, {231, 202, 24, 255}, {231, 204, 24, 255}, {231, 206, 24, 255}, +{232, 207, 23, 255}, {232, 209, 23, 255}, {232, 211, 23, 255}, {232, 213, 23, 255}, +{233, 214, 22, 255}, {233, 216, 22, 255}, {233, 217, 22, 255}, {233, 219, 22, 255}, +{233, 220, 22, 255}, {234, 222, 21, 255}, {234, 223, 21, 255}, {234, 224, 21, 255}, +{234, 225, 21, 255}, {234, 227, 21, 255}, {235, 228, 20, 255}, {235, 229, 20, 255}, +{235, 230, 20, 255}, {235, 231, 20, 255}, {235, 232, 20, 255}, {236, 233, 19, 255}, +{236, 234, 19, 255}, {236, 235, 19, 255}, {236, 236, 19, 255}, {236, 237, 19, 255}, +{236, 238, 19, 255}, {236, 238, 19, 255}, {237, 239, 18, 255}, {237, 240, 18, 255}, +{237, 241, 18, 255}, {237, 241, 18, 255}, {237, 242, 18, 255}, {237, 243, 18, 255}, +{237, 243, 18, 255}, {238, 244, 17, 255}, {238, 244, 17, 255}, {238, 245, 17, 255}, +{238, 245, 17, 255}, {238, 246, 17, 255}, {238, 246, 17, 255} +}; +// +// Print options +// +Print.Font = "Courier"; // Font used for postscript printing +Print.Format = 10; // Print format +Print.EpsQuality = 2; // Postscript quality (1=simple sort, 2=recursive sort) +Print.JpegQuality = 85; // JPEG quality (between 1 and 100) +Print.GifDither = 0; // Apply dithering to GIF output +Print.GifSort = 1; // Sort the colormap in GIF output +Print.GifInterlace = 0; // Interlace GIF output +Print.GifTransparent = 0; // Output transparent GIF image +Print.FontSize = 12; // Font size used for postscript printing diff --git a/doc/BUGS b/doc/BUGS index dda0f2d884..793f6c967c 100644 --- a/doc/BUGS +++ b/doc/BUGS @@ -1,8 +1,9 @@ -$Id: BUGS,v 1.1 2001-03-04 16:28:12 geuzaine Exp $ +$Id: BUGS,v 1.2 2001-05-28 07:33:06 geuzaine Exp $ * Si la coherence des surfaces n'est pas recouvree en une etape, et qu'on fait une seconde passe qui marche, les volumes ne sont pas retrouves-< pas de maillage final. -* il faudrait initialiser les statistiques qd on loade un maillage -avec Read_Mesh. +* Comme le code se stabilise, je pense qu'il serait grand temps de +penser a desallouer les structures. On pourrait alors cloturer une +version 1 "stable". -- GitLab