README: describe ODFStudio project and branches
Signed-off-by: REGIS PERDREAU <regis.perdreau@gmail.com> Change-Id: I541eb84b0531e85f2860b3deefb02bc59a7e66d2
This commit is contained in:
@@ -1,150 +1,102 @@
|
||||
# ODFStudio
|
||||
|
||||
**ODFStudio est basé sur LibreOffice.**
|
||||
Il vise à développer en France une capacité concrète à comprendre,
|
||||
expérimenter et contribuer autour de sa base de code, de l'ODF et de
|
||||
l'interopérabilité documentaire.
|
||||
**ODFStudio est un fork de LibreOffice porté par La Mouette ODF.**
|
||||
|
||||
## LibreOffice
|
||||
Dans la lignée de LibreOffice Mimo, la suite bureautique portée par les
|
||||
ministères français et abandonnée en 2025, nous avons souhaité créer
|
||||
un dérivé de LibreOffice plus proche de la communauté française.
|
||||
Le projet vise donc à développer en France la compréhension, l'expérimentation et
|
||||
la contribution autour de la base de code de LibreOffice, du format
|
||||
ODF et de l'interopérabilité documentaire.
|
||||
|
||||
[](https://scan.coverity.com/projects/211) [](https://www.bestpractices.dev/projects/307) [](https://weblate.documentfoundation.org/engage/libo_ui-master/?utm_source=widget)
|
||||
ODFStudio reste proche du développement amont de LibreOffice tout en fournissant
|
||||
un espace permettant d'expérimenter, d'intégrer et de maintenir des évolutions
|
||||
propres au projet que vous soyez un particulier, une entreprise, une collectivité.
|
||||
|
||||
<img align="right" width="150" src="https://opensource.org/wp-content/uploads/2009/06/OSIApproved.svg">
|
||||
## Branches
|
||||
|
||||
LibreOffice is an integrated office suite based on copyleft licenses
|
||||
and compatible with most document formats and standards. Libreoffice
|
||||
is backed by The Document Foundation, which represents a large
|
||||
independent community of enterprises, developers and other volunteers
|
||||
moved by the common goal of bringing to the market the best software
|
||||
for personal productivity. LibreOffice is open source, and free to
|
||||
download, use and distribute.
|
||||
Le dépôt comporte notamment deux branches principales :
|
||||
|
||||
A quick overview of the LibreOffice code structure.
|
||||
- "main" — branche de développement d'ODFStudio. Elle suit le développement
|
||||
amont de LibreOffice et accueille les développements, expérimentations et
|
||||
travaux d'intégration propres à ODFStudio.
|
||||
- "stable/26.2" — branche stable basée sur LibreOffice 26.2. Elle est utilisée
|
||||
pour construire et maintenir la série ODFStudio 26.2.x destinée à la
|
||||
distribution.
|
||||
|
||||
## Overview
|
||||
Les évolutions développées dans ODFStudio peuvent être spécifiques au projet,
|
||||
expérimentales ou avoir vocation à être proposées au projet LibreOffice
|
||||
lorsqu'elles sont pertinentes pour l'amont.
|
||||
|
||||
You can develop for LibreOffice in one of two ways, one
|
||||
recommended and one much less so. First the somewhat less recommended
|
||||
way: it is possible to use the SDK to develop an extension,
|
||||
for which you can read the [API docs](https://api.libreoffice.org/)
|
||||
and [Developers Guide](https://wiki.documentfoundation.org/Documentation/DevGuide).
|
||||
This re-uses the (extremely generic) UNO APIs that are also used by
|
||||
macro scripting in StarBasic.
|
||||
## Objectifs
|
||||
|
||||
The best way to add a generally useful feature to LibreOffice
|
||||
is to work on the code base however. Overall this way makes it easier
|
||||
to compile and build your code, it avoids any arbitrary limitations of
|
||||
our scripting APIs, and in general is far more simple and intuitive -
|
||||
if you are a reasonably able C++ programmer.
|
||||
ODFStudio s'intéresse notamment à :
|
||||
|
||||
## The Build Chain and Runtime Baselines
|
||||
- l'interopérabilité autour du format OpenDocument (ODF) ;
|
||||
- la compréhension et la documentation de la base de code LibreOffice ;
|
||||
- l'accessibilité ;
|
||||
- l'expérimentation de nouvelles fonctionnalités ;
|
||||
- l'amélioration des outils de développement, de test et d'analyse ;
|
||||
- la transmission des compétences nécessaires pour contribuer à une suite
|
||||
bureautique libre de cette ampleur.
|
||||
|
||||
These are the current minimal operating system and compiler versions to
|
||||
run and compile LibreOffice, also used by the TDF builds:
|
||||
## Développement
|
||||
|
||||
* Windows:
|
||||
* Runtime: Windows 10
|
||||
* Build: [wsl-as-helper](https://wiki.documentfoundation.org/Development/BuildingOnWSLWindows) + Visual Studio 2022
|
||||
* macOS:
|
||||
* Runtime: 11
|
||||
* Build: 13 or later + Xcode 14.3 or later (using latest version available for a given version of macOS)
|
||||
* Linux:
|
||||
* Runtime: RHEL 9 or CentOS 9 and comparable
|
||||
* Build: either GCC 13; or Clang 18 with libstdc++ 11
|
||||
* iOS (only for LibreOfficeKit):
|
||||
* Runtime: 14.5 (only support for newer i devices == 64 bit)
|
||||
* Build: Xcode 12.5 and iPhone SDK 14.5
|
||||
* Android:
|
||||
* Build: NDK 27 and SDK 30.0.3
|
||||
* Emscripten / WASM:
|
||||
* Runtime: a browser with SharedMemory support (threads + atomics)
|
||||
* Build: Qt 5.15 with Qt supported Emscripten 1.39.8
|
||||
* See [README.wasm](static/README.wasm.md)
|
||||
ODFStudio est construit à partir du code source de LibreOffice et conserve donc
|
||||
son architecture, son système de compilation et l'essentiel de ses prérequis de
|
||||
développement.
|
||||
|
||||
Java is required for building many parts of LibreOffice. In TDF Wiki article
|
||||
[Development/Java](https://wiki.documentfoundation.org/Development/Java), the
|
||||
exact modules that depend on Java are listed.
|
||||
Pour comprendre l'organisation du code et préparer un environnement de
|
||||
compilation, consulter la documentation du projet LibreOffice :
|
||||
|
||||
The baseline for Java is Java Development Kit (JDK) Version 17 or later.
|
||||
- Documentation développeur : <https://docs.libreoffice.org/>
|
||||
- Construction de LibreOffice :
|
||||
<https://wiki.documentfoundation.org/Development/How_to_build>
|
||||
- Guide développeur :
|
||||
<https://wiki.documentfoundation.org/Documentation/DevGuide>
|
||||
- API LibreOffice : <https://api.libreoffice.org/>
|
||||
|
||||
The baseline for Python is version 3.11. It follows the version available
|
||||
in SUSE Linux Enterprise Desktop and the Maintenance Support version of
|
||||
Red Hat Enterprise Linux.
|
||||
Chaque module du dépôt contient également généralement un fichier `README.md`
|
||||
décrivant son rôle et son organisation.
|
||||
|
||||
If you want to use Clang with the LibreOffice compiler plugins, the minimal
|
||||
version of Clang is 18. Since Xcode doesn't provide the compiler plugin
|
||||
headers, you have to compile your own Clang to use them on macOS.
|
||||
Parmi les principaux modules :
|
||||
|
||||
You can find the TDF configure switches in the `distro-configs/` directory.
|
||||
| Module | Description |
|
||||
| --- | --- |
|
||||
| `vcl/` | toolkit graphique et abstraction du rendu |
|
||||
| `framework/` | infrastructure UNO et interface générale de l'application |
|
||||
| `sfx2/` | infrastructure historique commune aux applications |
|
||||
| `svx/` | fonctions communes liées notamment au modèle graphique |
|
||||
| `sw/` | Writer |
|
||||
| `sc/` | Calc |
|
||||
| `sd/` | Draw et Impress |
|
||||
| `desktop/` | initialisation et démarrage de l'application |
|
||||
|
||||
To setup your initial build environment on Windows and macOS, we provide
|
||||
the LibreOffice Development Environment
|
||||
([LODE](https://wiki.documentfoundation.org/Development/lode)) scripts.
|
||||
## Relation avec LibreOffice
|
||||
|
||||
For more information see the build instructions for your platform in the
|
||||
[TDF wiki](https://wiki.documentfoundation.org/Development/How_to_build).
|
||||
LibreOffice est un logiciel libre développé par une communauté internationale
|
||||
et soutenu par The Document Foundation.
|
||||
|
||||
## The Important Bits of Code
|
||||
ODFStudio est basé sur LibreOffice mais constitue un projet distinct. Les
|
||||
modifications propres à ODFStudio ne doivent pas être attribuées au projet
|
||||
LibreOffice ou à The Document Foundation.
|
||||
|
||||
Each module should have a `README.md` file inside it which has some
|
||||
degree of documentation for that module; patches are most welcome to
|
||||
improve those. We have those turned into a web page here:
|
||||
Les licences du code d'origine et des composants provenant de LibreOffice
|
||||
restent applicables.
|
||||
|
||||
<https://docs.libreoffice.org/>
|
||||
## Contributions
|
||||
|
||||
However, there are two hundred modules, many of them of only
|
||||
peripheral interest for a specialist audience. So - where is the
|
||||
good stuff, the code that is most useful. Here is a quick overview of
|
||||
the most important ones:
|
||||
Les contributions sont les bienvenues : code, tests, documentation, analyse de
|
||||
bugs, interopérabilité, accessibilité ou expérimentation.
|
||||
|
||||
Module | Description
|
||||
----------|-------------------------------------------------
|
||||
[sal/](sal) | this provides a simple System Abstraction Layer
|
||||
[tools/](tools) | this provides basic internal types: `Rectangle`, `Color` etc.
|
||||
[vcl/](vcl) | this is the widget toolkit library and one rendering abstraction
|
||||
[framework/](framework) | UNO framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from `/uiconfig/` files
|
||||
[sfx2/](sfx2) | legacy core framework used by Writer/Calc/Draw: document model / load/save / signals for actions etc.
|
||||
[svx/](svx) | drawing model related helper code, including much of Draw/Impress
|
||||
Le développement d'ODFStudio utilise Gerrit pour la revue de code.
|
||||
|
||||
Then applications
|
||||
|
||||
Module | Description
|
||||
----------|-------------------------------------------------
|
||||
[desktop/](desktop) | this is where the `main()` for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop
|
||||
[sw/](sw/) | Writer
|
||||
[sc/](sc/) | Calc
|
||||
[sd/](sd/) | Draw / Impress
|
||||
|
||||
There are several other libraries that are helpful from a graphical perspective:
|
||||
|
||||
Module | Description
|
||||
----------|-------------------------------------------------
|
||||
[basegfx/](basegfx) | algorithms and data-types for graphics as used in the canvas
|
||||
[canvas/](canvas) | new (UNO) canvas rendering model with various backends
|
||||
[cppcanvas/](cppcanvas) | C++ helper classes for using the UNO canvas
|
||||
[drawinglayer/](drawinglayer) | View code to render drawable objects and break them down into primitives we can render more easily.
|
||||
|
||||
## Rules for #include Directives (C/C++)
|
||||
|
||||
Use the `"..."` form if and only if the included file is found next to the
|
||||
including file. Otherwise, use the `<...>` form. (For further details, see the
|
||||
mail [Re: C[++]: Normalizing include syntax ("" vs
|
||||
<>)](https://lists.freedesktop.org/archives/libreoffice/2017-November/078778.html).)
|
||||
|
||||
The UNO API include files should consistently use double quotes, for the
|
||||
benefit of external users of this API.
|
||||
|
||||
`loplugin:includeform (compilerplugins/clang/includeform.cxx)` enforces these rules.
|
||||
Lorsqu'une modification concerne également LibreOffice de manière générale,
|
||||
sa contribution au projet amont est encouragée.
|
||||
|
||||
|
||||
## Finding Out More
|
||||
|
||||
Beyond this, you can read the `README.md` files, send us patches, ask
|
||||
on the mailing list libreoffice@lists.freedesktop.org (no subscription
|
||||
required) or poke people on IRC `#libreoffice-dev` on irc.libera.chat -
|
||||
we're a friendly and generally helpful mob. We know the code can be
|
||||
hard to get into at first, and so there are no silly questions.
|
||||
|
||||
## SAST Tools
|
||||
|
||||
[PVS-Studio](https://pvs-studio.com/en/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.
|
||||
## Soutien financier.
|
||||
Si le logiciel est gratuit, certaines ressources informatiques ne le sont pas, nous avons donc une page de don.
|
||||
Le fork est maintenu par des bénévoles de l'association La Mouette ODF.
|
||||
https://www.helloasso.com/associations/la-mouette-odf/formulaires/1
|
||||
https://www.helloasso.com/beta/associations/la-mouette-odf/adhesions/adherez-a-la-mouette-2026-2027
|
||||
|
||||
Reference in New Issue
Block a user