diff --git a/docusaurus.config.js b/docusaurus.config.js index 264c9cc..bdd4a3e 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -22,7 +22,7 @@ const config = { i18n: { defaultLocale: 'en', - locales: ['en'], + locales: ['en', 'fr'], }, markdown: { @@ -93,6 +93,10 @@ const config = { position: 'left', label: 'Documentation', }, + { + type: 'localeDropdown', + position: 'right', + }, ], }, footer: { @@ -110,7 +114,7 @@ const config = { [ require.resolve('@cmfcmf/docusaurus-search-local'), { - language: 'en', + language: ['en', 'fr'], indexDocs: true, indexBlog: false, indexPages: true, diff --git a/i18n/fr/code.json b/i18n/fr/code.json new file mode 100644 index 0000000..41f8218 --- /dev/null +++ b/i18n/fr/code.json @@ -0,0 +1,385 @@ +{ + "theme.ErrorPageContent.title": { + "message": "Cette page a planté.", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "Retour au début de la page", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "Archive", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "Archive", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "Pagination de la liste des articles du blog", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "Nouvelles entrées", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "Anciennes entrées", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "Pagination des articles du blog", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "Article plus récent", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "Article plus ancien", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.tags.tagsPageLink": { + "message": "Voir tous les tags", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "system mode", + "description": "The name for the system color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "mode clair", + "description": "The name for the light color mode" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "mode sombre", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel": { + "message": "Basculer entre le mode sombre et clair (actuellement {mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "Fil d'Ariane", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "Pages de documentation", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "Précédent", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "Suivant", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "Un document tagué|{count} documents tagués", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged} avec \"{tagName}\"", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "Version: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "Ceci est la documentation de la prochaine version {versionLabel} de {siteTitle}.", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "Ceci est la documentation de {siteTitle} {versionLabel}, qui n'est plus activement maintenue.", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "Pour une documentation à jour, consultez la {latestVersionLink} ({versionLabel}).", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "dernière version", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "Éditer cette page", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "Lien direct vers {heading}", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " le {date}", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " par {user}", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "Dernière mise à jour{atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "Versions", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.NotFound.title": { + "message": "Page introuvable", + "description": "The title of the 404 page" + }, + "theme.tags.tagsListLabel": { + "message": "Tags :", + "description": "The label alongside a tag list" + }, + "theme.admonition.caution": { + "message": "attention", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "danger", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "info", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "remarque", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "astuce", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "attention", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "Fermer", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "Navigation article de blog récent", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "Développer la catégorie '{label}' de la barre latérale", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "Réduire la catégorie '{label}' de la barre latérale", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.IconExternalLink.ariaLabel": { + "message": "(opens in new tab)", + "description": "The ARIA label for the external link icon" + }, + "theme.NavBar.navAriaLabel": { + "message": "Main", + "description": "The ARIA label for the main navigation" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "Langues", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.NotFound.p1": { + "message": "Nous n'avons pas trouvé ce que vous recherchez.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "Veuillez contacter le propriétaire du site qui vous a lié à l'URL d'origine et leur faire savoir que leur lien est cassé.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "Sur cette page", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "Lire plus", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "En savoir plus sur {title}", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "Une minute de lecture|{readingTime} minutes de lecture", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.CodeBlock.copy": { + "message": "Copier", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.copied": { + "message": "Copié", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "Copier le code", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "Activer/désactiver le retour à la ligne", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.docs.breadcrumbs.home": { + "message": "Page d'accueil", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "Réduire le menu latéral", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "Réduire le menu latéral", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "Docs sidebar", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "Fermer la barre de navigation", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← Retour au menu principal", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "Ouvrir/fermer la barre de navigation", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "Expand the dropdown", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "Collapse the dropdown", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "Déplier le menu latéral", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "Déplier le menu latéral", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "cmfcmf/d-s-l.searchBar.placeholder": { + "message": "Rechercher...", + "description": "Placeholder shown in the searchbar" + }, + "cmfcmf/d-s-l.searchBar.clearButtonTitle": { + "message": "Effacer", + "description": "Title of the button to clear the current search input" + }, + "cmfcmf/d-s-l.searchBar.detachedCancelButtonText": { + "message": "Annuler", + "description": "Text of the button to close the detached search window" + }, + "cmfcmf/d-s-l.searchBar.submitButtonTitle": { + "message": "Chercher", + "description": "Title of the button to submit a new search" + }, + "cmfcmf/d-s-l.searchBar.noResults": { + "message": "Pas de résultat.", + "description": "message shown if no results are found" + }, + "theme.blog.post.plurals": { + "message": "Un article|{count} articles", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "{nPosts} tagués avec « {tagName} »", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "Auteurs", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "Voir tous les auteurs", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "Cet auteur n'a pas encore écrit d'articles.", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "Page non répertoriée", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "Cette page n'est pas répertoriée. Les moteurs de recherche ne l'indexeront pas, et seuls les utilisateurs ayant un lien direct peuvent y accéder.", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "Page brouillon", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "Cette page est un brouillon. Elle ne sera visible qu'en développement et sera exclue de la version de production.", + "description": "The draft content banner message" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "1 élément|{count} éléments", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "Réessayer", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "Aller au contenu principal", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "Tags", + "description": "The title of the tag list page" + }, + "homepage.categories.gettingStarted.title": { + "message": "Guide de Démarrage" + }, + "homepage.categories.gettingStarted.description": { + "message": "Configurez votre environnement de développement et préparez-vous à contribuer aux projets TrizTech." + }, + "homepage.categories.workflow.title": { + "message": "Workflow & Processus" + }, + "homepage.categories.workflow.description": { + "message": "Notre workflow de développement standard — de l'attribution des tâches au branching, rebasing et merging." + }, + "homepage.categories.git.title": { + "message": "Opérations Git" + }, + "homepage.categories.git.description": { + "message": "Maîtrisez les opérations Git sur différents outils comme Apache NetBeans, les IDE JetBrains et la ligne de commande." + }, + "homepage.categories.database.title": { + "message": "Opérations de Base de Données" + }, + "homepage.categories.database.description": { + "message": "Guides pour la gestion des bases de données SQL Server, y compris les opérations de sauvegarde, de restauration et de récupération avancées." + }, + "homepage.hero.subtitle": { + "message": "La source unique de vérité pour l'onboarding, les workflows, les standards et tout ce dont l'équipe d'ingénierie a besoin — le tout en un seul endroit." + }, + "homepage.hero.button": { + "message": "Parcourir la Documentation" + }, + "homepage.categories.title": { + "message": "Documentation" + }, + "homepage.categories.subtitle": { + "message": "Accès rapide à chaque section de notre base de connaissances." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current.json b/i18n/fr/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..3554377 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,94 @@ +{ + "version.label": { + "message": "Suivant", + "description": "The label for version current" + }, + "sidebar.docsSidebar.category.Getting Started": { + "message": "Guide de Démarrage", + "description": "The label for category 'Getting Started' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Getting Started.link.generated-index.description": { + "message": "Tout ce dont vous avez besoin pour être opérationnel en tant que nouveau membre de l'équipe.", + "description": "The generated-index page description for category 'Getting Started' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Environment Setup Guide": { + "message": "Configuration de l'Environnement", + "description": "The label for category 'Environment Setup Guide' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Environment Setup Guide.link.generated-index.description": { + "message": "Guide complet pour configurer l'environnement de développement TrizStock à partir de zéro.", + "description": "The generated-index page description for category 'Environment Setup Guide' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Workflow & Processes": { + "message": "Workflow & Processus", + "description": "The label for category 'Workflow & Processes' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Workflow & Processes.link.generated-index.description": { + "message": "Workflows et processus de développement standard utilisés au sein de l'équipe.", + "description": "The generated-index page description for category 'Workflow & Processes' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Developer Task Workflow": { + "message": "Workflow de Tâche", + "description": "The label for category 'Developer Task Workflow' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Developer Task Workflow.link.generated-index.description": { + "message": "Workflow standard de l'attribution des tâches à l'achèvement en utilisant la stratégie rebase-then-merge.", + "description": "The generated-index page description for category 'Developer Task Workflow' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Git Operations": { + "message": "Opérations Git", + "description": "The label for category 'Git Operations' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Git Operations.link.generated-index.description": { + "message": "Guides pour effectuer des opérations Git à l'aide de divers outils et environnements.", + "description": "The generated-index page description for category 'Git Operations' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Apache NetBeans": { + "message": "Apache NetBeans", + "description": "The label for category 'Apache NetBeans' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Apache NetBeans.link.generated-index.description": { + "message": "Guide étape par étape pour les opérations Git dans l'IDE Apache NetBeans.", + "description": "The generated-index page description for category 'Apache NetBeans' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.JetBrains IDEs": { + "message": "IDEs JetBrains", + "description": "The label for category 'JetBrains IDEs' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.JetBrains IDEs.link.generated-index.description": { + "message": "Guide étape par étape pour les opérations Git dans les IDEs JetBrains (IntelliJ IDEA, WebStorm, PyCharm, etc.).", + "description": "The generated-index page description for category 'JetBrains IDEs' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Command-Line": { + "message": "Ligne de Commande", + "description": "The label for category 'Command-Line' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Command-Line.link.generated-index.description": { + "message": "Guide pour effectuer des opérations Git à l'aide de l'interface en ligne de commande.", + "description": "The generated-index page description for category 'Command-Line' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Database Operations": { + "message": "Opérations de Base de Données", + "description": "The label for category 'Database Operations' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Database Operations.link.generated-index.description": { + "message": "Guides pour la gestion des bases de données SQL Server, y compris les opérations de sauvegarde, de restauration et de récupération.", + "description": "The generated-index page description for category 'Database Operations' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Backup & Restore Guide": { + "message": "Sauvegarde & Restauration", + "description": "The label for category 'Backup & Restore Guide' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Backup & Restore Guide.link.generated-index.description": { + "message": "Guide étape par étape pour la sauvegarde et la restauration des bases de données SQL Server à l'aide de SSMS.", + "description": "The generated-index page description for category 'Backup & Restore Guide' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Dead PC Recovery": { + "message": "Récupération PC en Panne", + "description": "The label for category 'Dead PC Recovery' in sidebar 'docsSidebar'" + }, + "sidebar.docsSidebar.category.Dead PC Recovery.link.generated-index.description": { + "message": "Guide pour extraire les fichiers de base de données d'un PC défaillant ou ne démarrant pas.", + "description": "The generated-index page description for category 'Dead PC Recovery' in sidebar 'docsSidebar'" + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/_category_.json new file mode 100644 index 0000000..247cb9f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Opérations de Base de Données", + "position": 4, + "link": { + "type": "generated-index", + "description": "Guides pour la gestion des bases de données SQL Server, y compris les opérations de sauvegarde, de restauration et de récupération avancées." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/_category_.json new file mode 100644 index 0000000..75e8a22 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Récupération PC en Panne", + "position": 2, + "link": { + "type": "generated-index", + "description": "Extraire les données de base de données d'un PC client qui ne démarre pas ou dont les services sont défaillants." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/index.md new file mode 100644 index 0000000..31d6549 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/index.md @@ -0,0 +1,17 @@ +--- +sidebar_position: 1 +title: "Aperçu" +--- + +# Aperçu + +--- + +Ce guide explique comment extraire physiquement les fichiers de base de données du PC d'un client lorsque la machine est en panne ou que le service de base de données ne peut pas démarrer, afin que les données puissent être sauvegardées sur une clé USB et restaurées sur une machine fonctionnelle. + +Il existe deux situations possibles lorsque vous arrivez sur le site d'un client : + +| **Situation** | **Ce que cela signifie** | **Procédure** | +| ----------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------- | +| **A — Windows démarre, mais le service DB ne démarre pas** | Vous pouvez naviguer normalement dans le système | Aller directement à la Partie A | +| **B — Windows ne démarre pas du tout** | Vous avez besoin d'une clé USB Linux pour le disque | Aller d'abord à la Partie B, puis suivre l'extraction | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/windows-boots.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/windows-boots.md new file mode 100644 index 0000000..f1e61b1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/windows-boots.md @@ -0,0 +1,68 @@ +--- +sidebar_position: 2 +title: "Partie A — Windows Démarre" +--- + +# Partie A — Windows Démarre, le Service est Arrêté + +--- + +Dans ce cas, vous pouvez travailler directement dans l'Explorateur Windows ou une invite de commande. Le service de base de données n'a pas besoin d'être en cours d'exécution pour copier les fichiers. + +--- + +## A1 — SQL Server : Localiser et Copier les Fichiers + +Les bases de données SQL Server se composent de trois types de fichiers maximum, dont vous avez tous besoin : + +| **Fichier** | **Extension** | **Contient** | +| --------------------------- | ------------- | ----------------------------------------- | +| Fichier de données principal | `.mdf` | Le schéma et les données de la base | +| Fichier de données secondaire| `.ndf` | Données de débordement (pas toujours présent) | +| Journal de transactions | `.ldf` | Historique des transactions | + +**Emplacements par défaut selon la version de SQL Server :** + +| **Version** | **Chemin des données par défaut** | +| --------------- | ----------------------------------------------------------------------- | +| SQL Server 2012 | `C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\` | +| SQL Server 2014 | `C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\` | +| SQL Server 2016 | `C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\` | +| SQL Server 2017 | `C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\` | +| SQL Server 2019 | `C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\` | +| SQL Server 2022 | `C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\` | +| SQL Server 2025 | `C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\` | + +**Étapes :** +1. Ouvrez l'**Explorateur Windows** et accédez au chemin des données correspondant à la version de SQL Server installée (voir tableau ci-dessus). +2. Identifiez les fichiers appartenant à la base de données cible. Ils porteront le nom de la base de données, par ex. `ClientDB.mdf`, `ClientDB_log.ldf`. +3. Copiez **les trois types de fichiers** (`.mdf`, `.ndf` si présent, `.ldf`) sur votre clé USB. Ne les renommez pas. +4. Vérifiez que la copie s'est terminée sans erreur avant d'éjecter la clé USB. + +**Notes :** +- **Chemins personnalisés :** Le client a peut-être installé SQL Server avec un chemin de données personnalisé. Si les fichiers ne sont pas dans les chemins ci-dessus, vérifiez le Registre Windows à : `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLServer`. Recherchez les clés `DefaultData` et `DefaultLog`. +- **Ne pas copier les bases de données système** (`master`, `model`, `msdb`, `tempdb`). Copiez uniquement les fichiers de base de données utilisateur du client. + +--- + +## A2 — PostgreSQL : Localiser et Copier les Fichiers + +PostgreSQL stocke toutes les bases de données dans un répertoire unique appelé `PGDATA`. Contrairement à SQL Server, vous ne copiez pas des fichiers individuels — vous copiez **tout le répertoire de données**. + +**Emplacements par défaut selon la version de PostgreSQL :** + +| **Version** | **Chemin des données par défaut** | +| ------------- | -------------------------------------- | +| PostgreSQL 12 | `C:\Program Files\PostgreSQL\12\data\` | +| PostgreSQL 13 | `C:\Program Files\PostgreSQL\13\data\` | +| PostgreSQL 14 | `C:\Program Files\PostgreSQL\14\data\` | +| PostgreSQL 15 | `C:\Program Files\PostgreSQL\15\data\` | +| PostgreSQL 16 | `C:\Program Files\PostgreSQL\16\data\` | + +**Étapes :** +- Ouvrez l'**Explorateur Windows** et accédez au dossier `data` de la version installée de PostgreSQL (voir tableau ci-dessus). +- Copiez **tout le dossier `data`** sur votre clé USB. Ce dossier unique contient tout le nécessaire. +- Notez le numéro de version de PostgreSQL d'après le chemin du dossier — vous en aurez besoin lors de la restauration. + +**Notes :** +- **Notez la version.** Pour chaque base de données du cluster, il existe un sous-répertoire dans `PGDATA/base`, nommé d'après l'OID de la base de données. Comme ces identifiants internes sont spécifiques à chaque version, le répertoire de données doit être restauré sur une machine exécutant la **version exacte de PostgreSQL**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/windows-dead.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/windows-dead.md new file mode 100644 index 0000000..60d7387 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/dead-pc-recovery/windows-dead.md @@ -0,0 +1,101 @@ +--- +sidebar_position: 3 +title: "Partie B — Windows ne Démarre Pas" +--- + +# Partie B — Windows ne Démarre Pas (Live USB Linux) + +--- + +Si le PC du client ne démarre pas sous Windows, vous utiliserez un environnement Linux live pour accéder au disque dur et copier les fichiers de la base de données. + +--- + +## B1 — Démarrer sur la Clé USB Linux Live + +1. Insérez votre clé USB Ubuntu amorçable dans le PC en panne. +2. Allumez le PC et entrez dans le **Menu de Démarrage** (généralement `F8`, `F11` ou `F12` — varie selon le fabricant). +3. Sélectionnez votre clé USB dans le menu de démarrage. +4. Lorsque Ubuntu se charge, choisissez **"Try Ubuntu"** (ne pas installer). + +--- + +## B2 — Monter le Disque Windows + +Ubuntu peut monter le disque Windows automatiquement. Sinon : +1. Ouvrez l'application **Files** (gestionnaire de fichiers). Le disque Windows devrait apparaître dans la barre latérale gauche — cliquez dessus pour le monter. +2. S'il n'apparaît pas, ouvrez un **Terminal** et exécutez : + +```bash +# Lister tous les disques et partitions disponibles +sudo fdisk -l +``` + +Recherchez une partition de type `NTFS` avec la taille correspondant au disque principal du client (par ex., `/dev/sda3`). Ensuite, montez-la : + +```bash +sudo mkdir -p /mnt/windows +sudo mount -t ntfs-3g /dev/sda3 /mnt/windows +``` + +Remplacez `/dev/sda3` par le nom de partition correct obtenu via `fdisk -l`. + +3. Vérifiez que le disque est monté : + +```bash +ls /mnt/windows +``` + +Vous devriez voir les dossiers Windows habituels : `Users`, `Program Files`, `Windows`, etc. + +--- + +## B3 — Monter la Clé USB + +1. Branchez votre clé USB de support. Ubuntu la montera automatiquement sous `/media/ubuntu/`. +2. Trouvez le point de montage exact : + +```bash +ls /media/ubuntu/ +``` + +Notez le nom du dossier (ce sera le nom de la clé USB, par ex., `SUPPORT_USB`). Votre chemin USB complet sera quelque chose comme `/media/ubuntu/SUPPORT_USB`. + +--- + +## B4 — SQL Server : Copier les Fichiers depuis le Disque HS + +Accédez au répertoire de données de SQL Server et copiez les fichiers : + +```bash +# Ajustez le dossier de version MSSQL (MSSQL14=2017, MSSQL15=2019, MSSQL16=2022) +ls "/mnt/windows/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/MSSQL/DATA/" +``` + +Vous verrez tous les fichiers `.mdf`, `.ndf` et `.ldf` listés. Copiez les fichiers de base de données du client sur la clé USB : + +```bash +# Créer un dossier sur la clé USB pour l'organisation +mkdir -p /media/ubuntu/SUPPORT_USB/Recuperation_SQLServer + +# Copier les fichiers de la base de données cible (remplacez ClientDB par le nom réel) +sudo cp "/mnt/windows/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/MSSQL/DATA/ClientDB.mdf" \ /media/ubuntu/SUPPORT_USB/Recuperation_SQLServer/ + +sudo cp "/mnt/windows/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/MSSQL/DATA/ClientDB_log.ldf" \ /media/ubuntu/SUPPORT_USB/Recuperation_SQLServer/ + +# Si un fichier secondaire existe, copiez-le également +sudo cp "/mnt/windows/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/MSSQL/DATA/ClientDB.ndf" \ /media/ubuntu/SUPPORT_USB/Recuperation_SQLServer/ 2>/dev/null || true +``` + +--- + +## B5 — PostgreSQL : Copier les Fichiers depuis le Disque HS + +```bash +# Créer un dossier sur la clé USB +mkdir -p /media/ubuntu/SUPPORT_USB/Recuperation_PostgreSQL + +# Copier tout le répertoire de données (ajustez le numéro de version si nécessaire) +sudo cp -r "/mnt/windows/Program Files/PostgreSQL/15/data" \ + /media/ubuntu/SUPPORT_USB/Recuperation_PostgreSQL/ +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/_category_.json new file mode 100644 index 0000000..f6efeeb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Sauvegarde & Restauration", + "position": 1, + "link": { + "type": "generated-index", + "description": "Guides complets pour la sauvegarde, la restauration et la planification des bases de données SQL Server via SSMS." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/backing-up.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/backing-up.md new file mode 100644 index 0000000..a55395e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/backing-up.md @@ -0,0 +1,102 @@ +--- +sidebar_position: 2 +title: "Sauvegarder une Base de Données" +--- + +# Sauvegarder une Base de Données + +--- + +Avant d'effectuer une sauvegarde, choisissez le type approprié à votre situation : + +| Type | **Ce qu'il capture** | **Quand l'utiliser** | +| ----------------------- | --------------------------------------------------------- | -------------------------------------------------------- | +| **Complète (Full)** | L'intégralité de la base de données | Référence hebdomadaire ; requis avant tout autre type | +| **Différentielle** | Les changements depuis la dernière sauvegarde complète | Quotidiennement ; plus rapide et léger qu'une complète | +| **Journal (Log)** | Toute l'activité du journal depuis la dernière sauvegarde | Horaire ou plus ; permet la récupération point-in-time | + +--- + +## Sauvegarde Complète (Full) + +1. Ouvrez SSMS et connectez-vous à votre instance SQL Server. +2. Dans le panneau **Explorateur d'objets**, développez le nœud **Databases**. +3. Faites un clic droit sur la base de données que vous souhaitez sauvegarder, puis sélectionnez **Tasks → Back Up…** + +![Menu de sauvegarde SSMS](img/1.png) + +4. La fenêtre **Back Up Database** s'ouvre. Sous **Backup type**, assurez-vous que **Full** est sélectionné. + +![Type de sauvegarde Full](img/2.png) + +5. Sous **Destination**, vous verrez un chemin de sauvegarde par défaut. Pour le modifier : + 1. Cliquez sur **Remove** pour effacer le chemin existant. + 2. Cliquez sur **Add**, puis saisissez ou parcourez jusqu'au dossier et au nom de fichier souhaités (par ex., `MaBase_Full_2025-04-22.bak`). + 3. Cliquez sur **OK**. + +![Destination de la sauvegarde](img/3.png) + +6. Cliquez sur **OK** pour lancer la sauvegarde. + +![Lancer la sauvegarde](img/4.png) + +7. Une fenêtre de confirmation apparaîtra une fois l'opération terminée avec succès. + +![Succès de la sauvegarde](img/5.png) + +--- + +## Sauvegarde Différentielle + +Suivez les mêmes étapes que pour une sauvegarde complète, avec une modification à l'étape 4 : sous **Backup type**, sélectionnez **Differential** au lieu de Full. + +![Type de sauvegarde Differential](img/6.png) + +**REMARQUE :** Une sauvegarde différentielle nécessite qu'une sauvegarde complète ait déjà été effectuée pour la même base de données. + +--- + +## Sauvegarde du Journal de Transactions (Log) + +1. Faites un clic droit sur la base de données **→ Tasks → Back Up…** +2. Sous **Backup type**, sélectionnez **Transaction Log**. +3. Définissez le chemin et le nom du fichier de destination (par ex., `MaBase_Log_2025-04-22_10h00.trn`). + +![Type de sauvegarde Transaction Log](img/7.png) + +4. Cliquez sur **OK** pour lancer la sauvegarde. + +![Lancer la sauvegarde du journal](img/8.png) + +**REMARQUE :** Cette option n'est disponible que lorsque la base de données utilise le mode de récupération **Full** ou **Bulk-Logged**. Pour vérifier : faites un clic droit sur votre base de données **→ Properties → Options →** vérifiez le champ **Recovery model**. + +![Vérifier le mode de récupération](img/9.png) + +--- + +## Planification des Sauvegardes Automatiques + +Vous pouvez automatiser les sauvegardes récurrentes directement depuis la fenêtre de sauvegarde, sans aucun script : +1. Configurez votre sauvegarde comme décrit dans les étapes ci-dessus, mais **ne cliquez pas encore sur OK**. + +![Configurer la sauvegarde](img/10.png) + +2. En haut de la fenêtre, cliquez sur **Script → Script Action to Job**. + +![Script vers Job](img/11.png) + +3. La fenêtre **New Job** s'ouvre. Allez à la page **Schedules** et cliquez sur **New**. + +![Nouveau planning](img/12.png) + +4. Définissez votre planning (fréquence, heure de début, récurrence) et cliquez sur **OK**. + +![Définir le planning](img/13.png) + +5. Cliquez à nouveau sur **OK** pour enregistrer le job. L'Agent SQL Server exécutera la sauvegarde automatiquement selon le planning défini. + +![Enregistrer le job](img/14.png) + +**REMARQUE :** L'Agent SQL Server doit être en cours d'exécution pour que les jobs planifiés s'exécutent. Vous pouvez vérifier son état dans l'Explorateur d'objets (il apparaît comme un nœud en bas de l'arborescence). + +![État de l'Agent SQL Server](img/15.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/1.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/1.png new file mode 100644 index 0000000..efa52af Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/10.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/10.png new file mode 100644 index 0000000..1647139 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/10.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/11.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/11.png new file mode 100644 index 0000000..5322adf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/11.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/12.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/12.png new file mode 100644 index 0000000..7c7b2ef Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/12.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/13.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/13.png new file mode 100644 index 0000000..e07a21d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/13.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/14.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/14.png new file mode 100644 index 0000000..dc2588c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/14.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/15.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/15.png new file mode 100644 index 0000000..0d733a2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/15.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/16.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/16.png new file mode 100644 index 0000000..67712ce Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/16.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/17.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/17.png new file mode 100644 index 0000000..7d9d843 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/17.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/18.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/18.png new file mode 100644 index 0000000..afb8314 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/18.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/19.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/19.png new file mode 100644 index 0000000..3e1466a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/19.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/2.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/2.png new file mode 100644 index 0000000..d1b56dc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/20.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/20.png new file mode 100644 index 0000000..d21af3b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/20.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/21.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/21.png new file mode 100644 index 0000000..132b21e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/21.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/22.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/22.png new file mode 100644 index 0000000..9fd171a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/22.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/23.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/23.png new file mode 100644 index 0000000..8e34682 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/23.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/24.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/24.png new file mode 100644 index 0000000..9b3735d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/24.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/25.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/25.png new file mode 100644 index 0000000..a897bff Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/25.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/26.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/26.png new file mode 100644 index 0000000..b1049b5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/26.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/27.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/27.png new file mode 100644 index 0000000..6491150 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/27.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/28.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/28.png new file mode 100644 index 0000000..7f2ffa1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/28.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/3.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/3.png new file mode 100644 index 0000000..ae105b6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/4.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/4.png new file mode 100644 index 0000000..10055bd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/5.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/5.png new file mode 100644 index 0000000..395063c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/6.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/6.png new file mode 100644 index 0000000..b8d24a4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/7.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/7.png new file mode 100644 index 0000000..c11b821 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/8.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/8.png new file mode 100644 index 0000000..0039fa5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/9.png b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/9.png new file mode 100644 index 0000000..e51f50a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/img/9.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/index.md new file mode 100644 index 0000000..547d688 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/index.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 1 +title: "Aperçu" +--- + +# Aperçu + +--- + +SQL Server Management Studio (SSMS) est l'outil graphique officiel pour gérer SQL Server. Ce guide explique comment sauvegarder et restaurer une base de données entièrement via son interface, sans nécessiter de scripts. + +Toutes les opérations de sauvegarde et de restauration de ce guide produisent ou consomment des fichiers `.bak`, qui est le format de sauvegarde natif de SQL Server. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/reference.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/reference.md new file mode 100644 index 0000000..55646b8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/reference.md @@ -0,0 +1,29 @@ +--- +sidebar_position: 4 +title: "Référence" +--- + +# Référence + +--- + +## Permissions Requises + +| **Opération** | **Rôle Requis** | +| ------------- | -------------------------------------------------- | +| Sauvegarde | Rôle de base de données `db_backupoperator` ou `sysadmin` | +| Restauration | Rôle de serveur `sysadmin` ou `dbcreator` | + +--- + +## Référence Rapide + +| Tâche | Chemin SSMS | +| --------------------------------- | --------------------------------------------------------- | +| Sauvegarde complète | Clic droit DB → Tasks → Back Up → Type: Full | +| Sauvegarde différentielle | Clic droit DB → Tasks → Back Up → Type: Differential | +| Sauvegarde journal transactions | Clic droit DB → Tasks → Back Up → Type: Transaction Log | +| Planifier une sauvegarde | Dans la fenêtre Back Up → Script → Script Action to Job | +| Restaurer une base de données | Clic droit Databases → Restore Database | +| Restauration point-in-time | Restore Database → General → Timeline… | +| Restaurer sous nouveau nom/serveur| Restore Database → General (renommer) + Files (relocaliser)| diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/restoring.md b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/restoring.md new file mode 100644 index 0000000..2eef32e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/database-operations/sql-server-backup-restore/restoring.md @@ -0,0 +1,93 @@ +--- +sidebar_position: 3 +title: "Restaurer une Base de Données" +--- + +# Restaurer une Base de Données + +--- + +**AVERTISSEMENT :** La restauration d'une base de données **remplace son contenu actuel**. Confirmez toujours que vous ciblez le bon serveur et la bonne base de données avant de procéder. Fermez au préalable toutes les connexions actives vers la base de données cible. + +--- + +## Restauration depuis une Sauvegarde Complète (Full) + +1. Dans l'**Explorateur d'objets**, faites un clic droit sur le nœud **Databases** (pas sur une base spécifique) et sélectionnez **Restore Database…** + +![Menu de restauration SSMS](img/16.png) + +2. La fenêtre **Restore Database** s'ouvre sur la page **General**. Sous **Source**, sélectionnez **Device**, puis cliquez sur le bouton … (Parcourir). + +![Source de restauration Device](img/17.png) + +3. Dans la boîte de dialogue **Select backup devices**, cliquez sur **Add**. + +![Ajouter un périphérique de sauvegarde](img/18.png) + +4. Accédez à votre fichier `.bak`, sélectionnez-le et cliquez sur **OK**. Cliquez ensuite à nouveau sur **OK** pour fermer la boîte de dialogue. + +![Sélectionner le fichier BAK](img/19.png) + +5. Les détails de la sauvegarde s'afficheront dans la grille **Backup sets to restore**. Vérifiez que la bonne sauvegarde est cochée. +6. Sous **Destination**, confirmez le nom de la base dans le champ **Database**. Vous pouvez taper un nouveau nom ici pour restaurer sous une base différente. + +![Vérifier les jeux de restauration](img/20.png) + +7. Allez à la page **Options** (panneau de gauche). Cochez **Close existing connections to the destination database** pour éviter les conflits de connexion pendant la restauration. +8. Cliquez sur **OK** pour commencer. + +![Options de restauration](img/21.png) + +9. Un message de confirmation apparaîtra en cas de succès. + +![Succès de la restauration](img/22.png) + +--- + +## Restauration depuis une Sauvegarde Complète + Différentielle + +1. Suivez les étapes 1 à 4 ci-dessus, mais lors de l'ajout des périphériques de sauvegarde, ajoutez **à la fois** le fichier de sauvegarde complète et le fichier de sauvegarde différentielle. + +![Ajouter plusieurs fichiers de sauvegarde](img/23.png) + +2. SSMS détectera automatiquement les types de sauvegarde et les affichera dans le bon ordre dans la grille **Backup sets to restore**. +3. Assurez-vous que les entrées complète et différentielle sont **toutes les deux** cochées. + +![Plusieurs jeux de restauration](img/24.png) + +4. Allez dans **Options**, cochez **Close existing connections to the destination database**. +5. Cliquez sur **OK** pour restaurer. + +--- + +## Récupération Point-in-Time (Journaux de Transactions) + +1. Suivez les étapes 1 à 4 ci-dessus, en ajoutant le fichier de sauvegarde complète **et tous les fichiers de journaux de transactions** (`.trn`) dans la boîte de dialogue **Select backup devices**. + +![Ajouter les fichiers journaux](img/25.png) + +2. SSMS listera tous les jeux de sauvegarde dans la séquence correcte dans la grille. Vérifiez que toutes les entrées nécessaires sont cochées. +3. Pour restaurer à un point précis dans le temps, cliquez sur le bouton **Timeline…** en haut de la page **General**. Dans la boîte de dialogue **Backup Timeline**, déplacez le curseur ou saisissez une date et une heure précises, puis cliquez sur **OK**. + +![Chronologie de restauration](img/26.png) + +4. Allez dans **Options**, cochez **Close existing connections to the destination database**. +5. Cliquez sur **OK** pour lancer la restauration. + +--- + +## Restaurer sur un Serveur Différent ou sous un Autre Nom + +Pour restaurer une sauvegarde sur un serveur différent, ou sous un nom de base de données différent : +1. Connectez SSMS au **serveur cible** (pas celui d'origine). +2. Suivez les étapes de restauration de la section ci-dessus. +3. À l'étape 6, remplacez le nom dans le champ **Database** par le nouveau nom souhaité. + +![Renommer la base de données](img/27.png) + +4. Allez à la page **Files** (panneau de gauche). Vous verrez les chemins des fichiers d'origine listés. Cochez **Relocate all files to folder** et spécifiez les dossiers de données et de journaux sur le serveur cible. + +![Relocaliser les fichiers](img/28.png) + +5. Cliquez sur **OK** pour restaurer. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/_category_.json new file mode 100644 index 0000000..7978b0e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Guide de Démarrage", + "position": 1, + "link": { + "type": "generated-index", + "description": "Tout ce dont vous avez besoin pour être opérationnel en tant que nouveau membre de l'équipe." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/01-java-and-maven.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/01-java-and-maven.md new file mode 100644 index 0000000..627cd79 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/01-java-and-maven.md @@ -0,0 +1,87 @@ +--- +sidebar_position: 2 +title: "Java et Maven" +--- + +# Java et Maven + +--- + +# Étape 1 — Installer le Java SE Development Kit (JDK) 8 + +1. Téléchargez le **JDK 8** depuis : + - [Les assets de release Gitea](http://145.239.66.197:3000/othmane/team-resources/releases/tag/jdk-8u481-windows-x64) + - [L'archive officielle d'Oracle](https://www.oracle.com/asean/java/technologies/javase/javase8u211-later-archive-downloads.html) si vous avez un compte. +2. Lancez l'installateur et terminez l'installation. Notez le chemin d'installation (par ex., `C:\Program Files\Java\jdk1.8.0_xxx`). +3. Configurez la variable d'environnement `JAVA_HOME` : + - Ouvrez **Démarrer → Rechercher → "Modifier les variables d'environnement système"**. + - Cliquez sur **Variables d'environnement**. + - Sous **Variables système**, cliquez sur **Nouvelle** : + - Nom de la variable : `JAVA_HOME` + - Valeur de la variable : `C:\Program Files\Java\jdk1.8.0_xxx` _(votre chemin JDK réel)_ + - Trouvez la variable **`Path`** sous Variables système → cliquez sur **Modifier → Nouveau**, et ajoutez : `%JAVA_HOME%\bin` + - Cliquez sur **OK** sur toutes les fenêtres. +4. Ouvrez une **nouvelle** fenêtre de terminal et vérifiez : + +```bash +java -version +javac -version +``` + +Les deux doivent retourner `1.8.x`. Si `javac` n'est pas trouvé, `JAVA_HOME` ou le `PATH` n'a pas été configuré correctement. + +--- + +# Étape 2 — Installer Apache Maven + +1. Téléchargez Maven : _(Téléchargez l'**archive binaire zip**)_ + - [Les assets de release Gitea](http://145.239.66.197:3000/othmane/team-resources/releases/tag/apache-maven-3.9.15-bin) + - [Apache](https://maven.apache.org/download.cgi) +2. Extrayez-le dans un chemin stable sans espaces (par ex., `C:\dev\maven`). +3. Configurez les variables d'environnement : + - Créez une nouvelle variable système : + - Nom de la variable : `MAVEN_HOME` + - Valeur de la variable : `C:\dev\maven` _(votre chemin d'extraction)_ + - Ajoutez `%MAVEN_HOME%\bin` à la variable système **`Path`** (de la même manière qu'à l'Étape 1). +4. Ouvrez un **nouveau** terminal et vérifiez : + +```bash +mvn -version +``` + +Il devrait afficher la version de Maven et confirmer qu'il utilise votre JDK 8. + +--- + +# Étape 3 — Configurer Maven pour le Registre Privé Gitea + +Le projet TrizStock comporte plusieurs dépendances héritées qui ne sont pas disponibles sur Maven Central. Elles sont hébergées sur le registre Maven privé de l'équipe dans Gitea. Sans cette configuration, votre build ne parviendra pas à résoudre ces dépendances. + +1. Accédez au fichier de paramètres utilisateur de Maven. S'il n'existe pas, créez-le : + +```text +C:\Users\VOTRE_NOM_D_UTILISATEUR_WINDOWS\.m2\settings.xml +``` + +2. Téléchargez le `settings.xml.template` depuis le [dépôt de ressources](http://145.239.66.197:3000/othmane/team-resources/src/branch/main/_global/maven/settings.xml.template) de l'équipe. +3. Copiez le contenu du template dans votre `settings.xml` et remplacez les espaces réservés par vos identifiants Gitea réels : + +```xml + + + + gitea + othmane + 54465f0ce0fec1a357eb7d9f7055e3df873db114 + + + +``` + +Vérifiez que le registre est accessible en exécutant la commande suivante dans un terminal (une fois le projet cloné — voir Étape 7) : + +```bash +mvn dependency:resolve +``` + +Toutes les dépendances, y compris les plus anciennes, devraient être résolues sans erreur. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/02-tomcat-server.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/02-tomcat-server.md new file mode 100644 index 0000000..8d48737 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/02-tomcat-server.md @@ -0,0 +1,22 @@ +--- +sidebar_position: 3 +title: "Serveur Tomcat" +--- + +# Serveur Tomcat + +--- + +# Étape 4 — Installer Apache Tomcat 9 + +1. Téléchargez **Tomcat 9** (distribution zip — ne **pas** utiliser l'installateur Windows) : + - [Les assets de release Gitea](http://145.239.66.197:3000/othmane/team-resources/releases/tag/apache-tomcat-9.0.117) + - [Apache](https://tomcat.apache.org/download-90.cgi) +2. Extrayez-le dans un chemin stable sans espaces (par ex., `C:\dev\tomcat9`). +3. **N'ajoutez pas Tomcat au PATH de votre système.** NetBeans le gérera directement et a seulement besoin de connaître le répertoire. + +> 📝 **Remarque — Tomcat n'est pas installé en tant que service Windows dans cette configuration.** +> +> L'utilisation de la distribution zip signifie que Tomcat est entièrement géré par NetBeans pendant le développement — il démarre et s'arrête automatiquement lorsque vous lancez ou arrêtez votre projet depuis l'IDE. Il ne s'exécute pas en arrière-plan, n'apparaît pas dans `services.msc` et ne démarre pas avec Windows. C'est un choix délibéré pour un environnement de développement. +> +> Si vous avez besoin de lancer Tomcat en dehors de NetBeans (par ex., pour un déploiement manuel ou des tests), vous pouvez le démarrer directement en exécutant `C:\dev\tomcat9\bin\startup.bat` depuis un terminal, et l'arrêter avec `shutdown.bat`. Vous pouvez également l'enregistrer séparément en tant que service Windows si nécessaire — demandez à votre chef d'équipe. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/03-database-setup.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/03-database-setup.md new file mode 100644 index 0000000..95dc51d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/03-database-setup.md @@ -0,0 +1,87 @@ +--- +sidebar_position: 4 +title: "Configuration de la Base de Données" +--- + +# Configuration de la Base de Données + +--- + +# Étape 5 — Installer Microsoft SQL Server 2012 et SSMS + +## 5.1 — Installer SQL Server 2012 + +1. Obtenez l'installateur de SQL Server 2012 (`SQLEXPR_x64_ENU.exe`) depuis : + - [Les assets de release Gitea](http://145.239.66.197:3000/othmane/team-resources/releases/tag/SQLEXPR_x64_ENU) + - [Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=56042) +2. Lancez l'installateur et choisissez **New SQL Server stand-alone installation**. +3. Sur l'écran **"Database Engine Configuration"**, sous **Authentication Mode**, sélectionnez **Mixed Mode** (Authentification SQL Server et Authentification Windows). +4. Définissez le **mot de passe du compte SA** lorsque vous y êtes invité. Utilisez le mot de passe standard de l'équipe : `Root123456`. +5. Terminez l'installation. + +## 5.2 — Activer TCP/IP et le Port 1433 + +SQL Server désactive le protocole TCP/IP par défaut sur les nouvelles installations. L'application en a besoin pour se connecter. + +1. Ouvrez le **SQL Server Configuration Manager** (recherchez-le dans le menu Démarrer). +2. Développez **SQL Server Network Configuration → Protocols for MSSQLSERVER**. +3. Faites un clic droit sur **TCP/IP** → **Enable**. +4. Double-cliquez sur **TCP/IP** → allez dans l'onglet **IP Addresses** → faites défiler jusqu'à **IPAll** → réglez **TCP Port** sur `1433`. +5. Cliquez sur **OK**. + +## 5.3 — Activer le service SQL Server Browser + +1. Dans **SQL Server Configuration Manager**, allez dans **SQL Server Services**. +2. Faites un clic droit sur **SQL Server Browser** → **Properties** → onglet **Service** → réglez **Start Mode** sur **Automatic**. +3. Faites un clic droit sur **SQL Server Browser** → **Start**. + +## 5.4 — Redémarrer le service SQL Server + +1. Dans **SQL Server Services**, faites un clic droit sur **SQL Server (MSSQLSERVER)** → **Restart**. + +## 5.5 — Configurer le Pare-feu Windows + +1. Ouvrez **Pare-feu Windows Defender avec fonctions avancées de sécurité** (recherchez dans le menu Démarrer). +2. Cliquez sur **Règles de trafic entrant → Nouvelle règle**. +3. Sélectionnez **Port → TCP → Ports locaux spécifiques : `1433`**. +4. Sélectionnez **Autoriser la connexion**. +5. Appliquez à tous les profils (Domaine, Privé, Public). +6. Nommez la règle `SQL Server 1433` et cliquez sur **Terminer**. + +## 5.6 — Créer l'identifiant de connexion de l'application + +1. Installez **SQL Server Management Studio (SSMS)**. Téléchargez-le depuis [Microsoft](https://aka.ms/ssmsfullsetup). +2. Ouvrez SSMS et connectez-vous à votre instance locale : + - Nom du serveur : `localhost` + - Authentification : **SQL Server Authentication** + - Login : `sa` + - Mot de passe : `Root123456` + +> 📝 **Remarque — Vérifiez votre `database.properties` avant de continuer.** +> +> Ouvrez votre fichier `database.properties` et vérifiez la valeur de `db.username`. +> - S'il s'agit de **`sa`**, ignorez complètement les étapes 3 à 9. Le compte `sa` existe déjà et a été configuré avec le bon mot de passe (`Root123456`) lors de l'installation. Aucun nouvel identifiant n'a besoin d'être créé. +> - S'il s'agit de **tout autre nom d'utilisateur**, continuez avec les étapes 3 à 9 ci-dessous pour créer cet identifiant. + +3. Dans l'**Explorateur d'objets**, développez **Security → Logins**. +4. Faites un clic droit sur **Logins → New Login**. +5. Définissez le nom de connexion et le mot de passe pour qu'ils correspondent à ce qui se trouve dans `database.properties` (fourni par votre chef d'équipe). +6. Sur la page **General**, assurez-vous que le statut du **Login** en bas est réglé sur **Enabled** (c'est le cas par défaut, mais confirmez qu'il n'est pas sur Disabled). +7. Sur la page **Status**, sous **Login**, confirmez qu'il est sur **Enabled** et sous **Permission to connect to database engine**, confirmez qu'il est sur **Grant**. +8. Sur la page **Server Roles**, cochez **`dbcreator`** et **`public`**. +9. Cliquez sur **OK**. + +--- + +# Étape 6 — Restaurer la Base de Données de Test + +1. Téléchargez le fichier de sauvegarde de la base de données de test du projet Stock depuis les [assets de release Gitea](http://145.239.66.197:3000/othmane/team-resources/releases/tag/life_07-04-2026). +2. Ouvrez **SSMS** et connectez-vous à votre instance locale SQL Server. +3. Dans l'**Explorateur d'objets**, faites un clic droit sur **Databases → Restore Database…** +4. Sélectionnez **Device** comme source, cliquez sur **…** (Parcourir), puis cliquez sur **Add** et accédez au fichier `.bak` téléchargé. Cliquez sur **OK**. +5. Les détails de la sauvegarde s'afficheront dans la grille **Backup sets to restore**. Confirmez que la bonne entrée est cochée. +6. Cliquez sur **OK** pour restaurer. Une fenêtre de succès apparaîtra une fois l'opération terminée. +7. Dans l'**Explorateur d'objets**, faites un clic droit sur **Databases → Refresh**. La base de données `TrizStockLife` devrait maintenant apparaître. +8. Vérifiez que l'identifiant de connexion créé à l'Étape 5.6 a bien accès : + - Développez **TrizStockLife → Security → Users**. + - Si votre identifiant de connexion n'est pas listé, faites un clic droit sur **Users → New User**, et mappez le login à cette base de données avec le rôle **`db_owner`**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/04-git-and-repository.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/04-git-and-repository.md new file mode 100644 index 0000000..9acf0f7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/04-git-and-repository.md @@ -0,0 +1,126 @@ +--- +sidebar_position: 5 +title: "Git et Dépôt" +--- + +# Git et Dépôt + +--- + +# Étape 7 — Installer et Configurer Git + +## 7.1 — Installer Git + +1. Installez **Git** s'il n'est pas déjà installé. [Téléchargez-le ici](https://git-scm.com/download/win). +2. Lancez l'installateur. Lorsqu'on vous demande l'éditeur par défaut, choisissez celui avec lequel vous êtes à l'aise (Notepad convient parfaitement pour un usage occasionnel). +3. Sur l'écran **"Adjusting your PATH environment"**, sélectionnez **"Git from the command line and also from 3rd-party software"** — cela rend Git disponible dans CMD, PowerShell et Cygwin. +4. Terminez le reste de l'installation avec les paramètres par défaut. +5. Vérifiez l'installation en ouvrant un **nouveau** terminal et en exécutant : + +```bash +git --version +``` + +## 7.2 — Configurer votre Identité + +Git exige qu'un nom et un e-mail soient définis avant de pouvoir effectuer un commit. Ceux-ci sont intégrés dans chaque commit que vous créez et doivent correspondre à votre identité Gitea. + +```bash +git config --global user.name "Votre Nom Complet" +git config --global user.email "votre.email@entreprise.com" +``` + +> Utilisez la même adresse e-mail que celle de votre compte Gitea. + +## 7.3 — Configurer les Fins de Ligne (Line Endings) + +Il s'agit d'un **paramètre critique** pour l'équipe. Une configuration incorrecte des fins de ligne provoque des diffs inutiles, pollue l'historique des commits et peut briser l'analyse des fichiers côté serveur. + +Exécutez les commandes suivantes exactement comme écrit : + +```bash +git config --global core.autocrlf false +git config --global core.eol lf +``` + +| Paramètre | Valeur | Raison | +| ---------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `core.autocrlf` | `false` | Désactive la conversion automatique des fins de ligne. Git ne touchera pas aux fins de ligne lors du checkout ou du commit. | +| `core.eol` | `lf` | Impose le LF (`\n`) comme fin de ligne pour tous les fichiers de l'arbre de travail, en cohérence avec le serveur et les environnements Linux. | + +> ⚠️ **Ne sautez pas cette étape.** Si `autocrlf` est laissé à sa valeur Windows par défaut (`true`), Git convertira silencieusement toutes les fins de ligne en CRLF lors du checkout et les ramènera en LF lors du commit. Cela fait apparaître chaque fichier comme modifié sous Windows, même si aucun changement réel n'a été effectué. + +## 7.4 — Configurer le Nom de la Branche par Défaut + +L'équipe utilise `master` comme nom de branche par défaut. Configurez ceci pour éviter tout décalage lors de la création de nouvelles branches locales : + +```bash +git config --global init.defaultBranch master +``` + +## 7.5 — Vérifier votre Configuration + +Exécutez la commande suivante pour confirmer que tous les paramètres ont été appliqués correctement : + +```bash +git config --global --list +``` + +Vous devriez voir au minimum : + +```bash +user.name=Votre Nom Complet +user.email=votre.email@entreprise.com +core.autocrlf=false +core.eol=lf +init.defaultbranch=master +``` + +--- + +# Étape 8 — Cloner le Dépôt du Projet + +1. Ouvrez un terminal et clonez le dépôt Stock : + +```bash +git clone http://145.239.66.197:3000/TrizTech/TrizStockRepository.git +``` + +2. Lorsque vous y êtes invité, entrez votre nom d'utilisateur et votre mot de passe Gitea (ou un jeton si votre instance Gitea l'exige). +3. Accédez au dossier du projet : + +```bash +cd TrizStockRepository +``` + +--- + +# Étape 9 — Configurer `database.properties` + +Le fichier `database.properties` contient les paramètres de connexion à la base de données locale. Il n'est **jamais stocké dans le dépôt** pour des raisons de sécurité. Vous devez le créer manuellement. + +1. Téléchargez le template depuis le [dépôt de ressources](http://145.239.66.197:3000/othmane/team-resources/src/branch/main/uses/stock) de l'équipe. +2. Copiez le template à l'emplacement correct dans votre dépôt local : + +```text +\src\main\resources\database.properties +``` + +3. Ouvrez le fichier dans n'importe quel éditeur de texte et remplissez vos valeurs locales : + +```properties +db.host=localhost +db.port=1433 +db.name=TrizStockLife +db.username=VOTRE_NOM_D_UTILISATEUR_DB +db.password=VOTRE_MOT_DE_PASSE_DB +``` + +4. Vérifiez que `database.properties` est listé dans le fichier `.gitignore` du projet : + +```text +# À la racine du projet, ouvrez .gitignore et confirmez que cette ligne existe : +database.properties +``` + +Si elle n'y est pas, ajoutez-la. **Ne committez jamais ce fichier.** diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/05-ide-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/05-ide-configuration.md new file mode 100644 index 0000000..527df69 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/05-ide-configuration.md @@ -0,0 +1,75 @@ +--- +sidebar_position: 6 +title: "Configuration de l'IDE" +--- + +# Configuration de l'IDE + +--- + +# Étape 10 — Installer et Configurer NetBeans 17 + +## 10.1 — Installer NetBeans + +1. Téléchargez **NetBeans 17** depuis : + - [Les assets de release Gitea](http://145.239.66.197:3000/othmane/team-resources/releases/tag/Apache-NetBeans-17-bin-windows-x64) + - [Apache](https://netbeans.apache.org/front/main/download/nb17/) +2. Lancez l'installateur et terminez l'installation avec les paramètres par défaut. + +## 10.2 — Enregistrer le JDK 8 + +Il se peut que NetBeans détecte un JDK plus récent si vous en avez un d'installé. Assurez-vous qu'il utilise bien le JDK 8 pour ce projet. + +1. Ouvrez NetBeans → **Tools → Java Platforms**. +2. Vérifiez que **JDK 1.8** est listé. Si ce n'est pas le cas, cliquez sur **Add Platform**, sélectionnez **Java Standard Edition**, et accédez au répertoire d'installation de votre JDK 8 (votre chemin `JAVA_HOME`). +3. Cliquez sur **Finish**, puis sur **Close**. + +## 10.3 — Enregistrer Tomcat 9 + +1. Allez dans **Tools → Servers → Add Server**. +2. Sélectionnez **Apache Tomcat or TomEE** et cliquez sur **Next**. +3. Définissez le **Server Location** sur votre répertoire Tomcat 9 (par ex., `C:\dev\tomcat9`). +4. Définissez un nom d'utilisateur et un mot de passe pour le manager Tomcat (vous pouvez utiliser n'importe quelles valeurs pour le développement local, par ex., `admin` / `admin`). +5. Cliquez sur **Finish**. + +## 10.4 — Configurer Maven dans NetBeans + +1. Allez dans **Tools → Options → Java → Maven**. +2. Sous **Maven Home**, cliquez sur **Browse** et pointez vers votre répertoire d'installation Maven (`C:\dev\maven`). N'utilisez pas l'option **"Bundled"**. +3. Cliquez sur **OK**. + +## 10.5 — Ouvrir le Projet + +1. Allez dans **File → Open Project**. +2. Accédez à votre dossier `stock` cloné et sélectionnez-le. NetBeans le reconnaîtra comme un projet Maven. +3. Cliquez sur **Open Project**. + +--- + +# Étape 11 — Build et Vérification + +Cette étape finale confirme que l'ensemble de votre environnement est correctement configuré. + +## 11.1 — Builder le Projet + +1. Dans NetBeans, faites un clic droit sur le projet **Stock** dans le panneau Projets. +2. Sélectionnez **Clean and Build**. +3. Surveillez le panneau **Output** en bas. Le build doit se terminer par : + +```log +BUILD SUCCESS +``` + +Si vous voyez `BUILD FAILURE` avec des erreurs de dépendances, revoyez l'Étape 3 (Maven settings.xml et registre Gitea). + +## 11.2 — Déployer et Lancer + +1. Faites un clic droit sur le projet → **Run**. +2. NetBeans déploiera l'application sur votre instance locale Tomcat 9 et l'ouvrira dans le navigateur. +3. L'application devrait se charger sans aucune erreur de connexion à la base de données. + +## 11.3 — Vérifier la Connectivité à la Base de Données + +1. Connectez-vous à l'application en utilisant les identifiants de test (demandez à votre chef d'équipe l'utilisateur de test par défaut). +2. Naviguez vers n'importe quelle section qui charge des données depuis la base de données (par ex., la page de liste des stocks). +3. Si les données se chargent correctement, votre environnement est pleinement opérationnel. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/06-troubleshooting.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/06-troubleshooting.md new file mode 100644 index 0000000..aa96db7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/06-troubleshooting.md @@ -0,0 +1,36 @@ +--- +sidebar_position: 7 +title: "Dépannage & Références" +--- + +# Dépannage & Références + +--- + +# Dépannage + +| **Symptôme** | **Cause probable** | **Solution** | +| ----------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `java -version` affiche la mauvaise version ou rien | `JAVA_HOME` ou `PATH` mal configurés | Revoir l'Étape 1, ouvrir un **nouveau** terminal après modification | +| `javac` non trouvé | JRE installé au lieu du JDK | Réinstaller en utilisant le lien de téléchargement du JDK | +| `mvn -version` non trouvé | Maven non présent dans le `PATH` | Revoir l'Étape 2 | +| Le build Maven échoue (dépendance non trouvée) | `settings.xml` non configuré ou mauvais identifiants | Revoir l'Étape 3 | +| Impossible de se connecter à SQL Server depuis SSMS | TCP/IP désactivé ou port 1433 bloqué | Revoir les Étapes 5.2 et 5.5 | +| L'application ne se connecte pas à la DB au runtime | Mauvais identifiants dans `database.properties` ou TCP/IP non activé | Revoir les Étapes 5.2 et 9 | +| `database.properties` non trouvé au runtime | Fichier placé dans le mauvais répertoire | Confirmer que le fichier est dans `\src\main\resources\` | +| Tomcat non trouvé dans NetBeans | Serveur non enregistré | Revoir l'Étape 10.3 | +| NetBeans utilise le mauvais JDK | JDK 8 non enregistré comme plateforme Java | Revoir l'Étape 10.2 | +| Le build réussit mais l'application ne démarre pas | Problème de configuration Tomcat | Vérifier le panneau Output de NetBeans pour la stack trace complète | + +--- + +# Liens de Référence + +| **Ressource** | **URL** | +| -------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| Dépôt de ressources de l'équipe | [LIEN](http://145.239.66.197:3000/othmane/team-resources) | +| Dépôt du projet Stock | [LIEN](http://145.239.66.197:3000/TrizTech/TrizStockRepository) | +| Assets de release de la base de données| [LIEN](http://145.239.66.197:3000/othmane/team-resources/releases/tag/life_07-04-2026) | +| Registre Maven Gitea | [LIEN](http://145.239.66.197:3000/othmane/-/packages/) | +| Template `database.properties` | [LIEN](http://145.239.66.197:3000/othmane/team-resources/src/branch/main/uses/stock/database.properties) | +| Template `settings.xml` | [LIEN](http://145.239.66.197:3000/othmane/team-resources/src/branch/main/_global/maven/settings.xml.template) | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/_category_.json new file mode 100644 index 0000000..3c7c7c4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Configuration de l'Environnement", + "position": 1, + "link": { + "type": "generated-index", + "description": "Guide étape par étape pour configurer votre environnement de développement local." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/index.md new file mode 100644 index 0000000..dc22537 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/getting-started/environment-setup/index.md @@ -0,0 +1,27 @@ +--- +sidebar_position: 1 +title: "Prérequis & Aperçu" +--- + +# Prérequis & Aperçu + +--- + +# Avant de Commencer + +Assurez-vous d'avoir les éléments suivants avant de procéder : +- **Droits d'administrateur local** sur votre machine (requis pour la plupart des installations ci-dessous). +- Accès à notre [instance Gitea](http://145.239.66.197:3000/). +- Vos identifiants de compte Gitea (demandez-les à votre chef d'équipe si vous n'en avez pas encore). +- Les identifiants de la base de données de l'application (demandez-les à votre chef d'équipe — ceux-ci ne sont jamais stockés dans un dépôt). + +# Aperçu de la Stack + +| **Composant** | **Version** | **Usage** | +| ---------------------------- | ----------- | -------------------------------- | +| Java SE (JDK) | 8 | Runtime et compilateur | +| Apache Maven | Récente | Gestion des dépendances et build | +| Apache Tomcat | 9 | Serveur d'application Java EE | +| Microsoft SQL Server | 2012 | Moteur de base de données | +| SQL Server Management Studio | Récente | Client GUI de base de données | +| NetBeans IDE | 17 | Environnement de développement | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/_category_.json new file mode 100644 index 0000000..ebbc79e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Opérations Git", + "position": 3, + "link": { + "type": "generated-index", + "description": "Guides pour effectuer des opérations Git à l'aide de divers outils et interfaces." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/_category_.json new file mode 100644 index 0000000..94eb71d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Ligne de Commande", + "position": 1, + "link": { + "type": "generated-index", + "description": "Exécution d'opérations Git à l'aide de commandes terminal standard." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/add-commit.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/add-commit.md new file mode 100644 index 0000000..708fdbb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/add-commit.md @@ -0,0 +1,48 @@ +--- +sidebar_position: 2 +title: "Ajouter & Committer les Changements" +--- + +# Ajouter & Committer les Changements + +--- + +# Ajouter les Changements + +## Objectif + +Sélectionner les fichiers modifiés et les placer dans la zone de staging avant de committer. + +## Étapes + +1. Modifiez un ou plusieurs fichiers dans le projet. +2. Dans le terminal, vérifiez le statut du dépôt : `git status` + +![Statut Git](img/2.png) + +3. Ajoutez les fichiers à la zone de staging : `git add .` + +![Ajout Git](img/3.png) + +4. Vérifiez que les fichiers sont en staging : `git status` + +![Statut Git Staging](img/4.png) + +--- + +# Committer les Changements + +## Objectif + +Enregistrer les changements locaux dans le dépôt Git local. + +## Étapes + +1. Assurez-vous que les fichiers sont en staging. +2. Entrez la commande de commit avec un message : `git commit -m "Votre message de commit"` + +![Commit Git](img/5.png) + +3. Vérifiez le commit : `git log --oneline` + +![Log Git](img/6.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/1.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/1.png new file mode 100644 index 0000000..583ea4d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/2.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/2.png new file mode 100644 index 0000000..e79f5eb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/3.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/3.png new file mode 100644 index 0000000..faf0e8e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/4.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/4.png new file mode 100644 index 0000000..5fa7624 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/5.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/5.png new file mode 100644 index 0000000..9f4df5a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/6.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/6.png new file mode 100644 index 0000000..9199682 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/7.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/7.png new file mode 100644 index 0000000..04c430d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/8.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/8.png new file mode 100644 index 0000000..7a80ae1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/img/8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/index.md new file mode 100644 index 0000000..e8663f7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/index.md @@ -0,0 +1,16 @@ +--- +sidebar_position: 1 +title: "Prérequis" +--- + +# Prérequis + +--- + +## Étapes + +1. Installez Git sur le système. +2. Ouvrez un terminal ou une invite de commande. +3. Accédez au répertoire du projet qui est déjà connecté à un dépôt Git. + +![Fenêtre du terminal](img/1.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/push-pull.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/push-pull.md new file mode 100644 index 0000000..291d1f8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/command-line/push-pull.md @@ -0,0 +1,37 @@ +--- +sidebar_position: 3 +title: "Pousser & Tirer les Changements" +--- + +# Pousser & Tirer les Changements + +--- + +# Pousser (Push) les Changements + +## Objectif + +Envoyer les commits du dépôt local vers le dépôt distant. + +## Étapes + +1. Assurez-vous qu'au moins un commit existe localement. +2. Exécutez la commande de push : `git push` + +![Push Git](img/7.png) + +--- + +# Tirer (Pull) les Changements + +## Objectif + +Récupérer les mises à jour du dépôt distant et les fusionner dans le dépôt local. + +## Étapes + +1. Exécutez la commande de pull : `git pull` + +![Pull Git](img/8.png) + +2. Examinez la sortie pour voir les mises à jour ou les résultats de fusion. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/_category_.json new file mode 100644 index 0000000..e3a3612 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "IDE JetBrains", + "position": 2, + "link": { + "type": "generated-index", + "description": "Utilisation de l'intégration Git native dans les IDE JetBrains (IntelliJ IDEA, WebStorm, etc.)." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/add-commit.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/add-commit.md new file mode 100644 index 0000000..a3cbf96 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/add-commit.md @@ -0,0 +1,58 @@ +--- +sidebar_position: 2 +title: "Ajouter & Committer les Changements" +--- + +# Ajouter & Committer les Changements + +--- + +# Ajouter les Changements + +## Objectif + +Sélectionner les fichiers modifiés et les placer dans la zone de staging avant de committer. + +## Étapes + +1. Modifiez un ou plusieurs fichiers dans le projet. + +![Fichiers modifiés](img/2.png) + +2. Ouvrez la fenêtre de **Commit** en utilisant l'une des méthodes suivantes : + 1. Cliquez sur l'icône **Commit** dans la barre d'outils de gauche. + 2. Ou appuyez sur : **Ctrl + K** + +![Ouverture de la fenêtre de commit](img/3.png) + +3. La fenêtre de Commit s'ouvre. + +![Fenêtre de commit JetBrains](img/4.png) + +4. Sélectionnez les fichiers à inclure à l'aide des cases à cocher. +5. Assurez-vous que les fichiers apparaissent dans la section **Changes**. + +![Fichiers sélectionnés](img/5.png) + +--- + +# Committer les Changements + +## Objectif + +Enregistrer les changements locaux dans le dépôt Git local. + +## Étapes + +1. Assurez-vous que les fichiers sont sélectionnés (staged). +2. Entrez un message de commit dans le champ **Commit Message**. +3. Cliquez sur le bouton **Commit**. + +![Bouton de commit JetBrains](img/6.png) + +4. Après un commit réussi, vous devriez recevoir la notification suivante. + +![Notification de commit](img/7.png) + +**NOTES :** +- Il n'y a aucun moyen de changer ou de vérifier le nom du committer dans les IDE JetBrains ; vous devez le faire via la ligne de commande. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/1.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/1.png new file mode 100644 index 0000000..5afb616 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/10.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/10.png new file mode 100644 index 0000000..1eab469 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/10.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/11.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/11.png new file mode 100644 index 0000000..5d332ac Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/11.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/12.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/12.png new file mode 100644 index 0000000..3c124f9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/12.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/13.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/13.png new file mode 100644 index 0000000..527d740 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/13.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/2.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/2.png new file mode 100644 index 0000000..8660229 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/3.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/3.png new file mode 100644 index 0000000..4bcd02f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/4.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/4.png new file mode 100644 index 0000000..1376793 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/5.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/5.png new file mode 100644 index 0000000..ff94324 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/6.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/6.png new file mode 100644 index 0000000..ca994da Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/7.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/7.png new file mode 100644 index 0000000..48e9ba1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/8.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/8.png new file mode 100644 index 0000000..6114986 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/9.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/9.png new file mode 100644 index 0000000..e3bb0d9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/img/9.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/index.md new file mode 100644 index 0000000..f2157e1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/index.md @@ -0,0 +1,15 @@ +--- +sidebar_position: 1 +title: "Prérequis" +--- + +# Prérequis + +## Étapes + +1. Ouvrez un IDE JetBrains. +2. Ouvrez le projet qui est déjà connecté à un dépôt Git. +3. Assurez-vous que le projet apparaît dans le panneau **Projet**. +4. Assurez-vous que l'intégration Git est activée. + +![Panneau de projet JetBrains](img/1.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/push-pull.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/push-pull.md new file mode 100644 index 0000000..f812f65 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/jetbrains/push-pull.md @@ -0,0 +1,52 @@ +--- +sidebar_position: 3 +title: "Pousser & Tirer les Changements" +--- + +# Pousser & Tirer les Changements + +--- + +# Pousser (Push) les Changements + +## Objectif + +Envoyer les commits du dépôt local vers le dépôt distant. + +## Étapes + +1. Utilisez l'une des méthodes suivantes : + 1. Cliquez sur : **Git → Push** + 2. Ou appuyez sur : **Ctrl + Shift + K** + +![Menu Push Git](img/8.png) + +2. Vérifiez le dépôt distant et la branche, puis cliquez sur le bouton **Push**. + +![Dialogue de Push](img/9.png) + +3. Après un push réussi, vous devriez recevoir la notification suivante. + +![Notification de Push](img/10.png) + +--- + +# Tirer (Pull) les Changements + +## Objectif + +Récupérer les mises à jour du dépôt distant et les fusionner dans le dépôt local. + +## Étapes + +1. Cliquez sur : **Git → Pull** + +![Menu Pull Git](img/11.png) + +2. Vérifiez la branche distante puis cliquez sur **Pull**. + +![Dialogue de Pull](img/12.png) + +3. Après un pull réussi, vous devriez recevoir la notification suivante. + +![Notification de Pull](img/13.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/_category_.json new file mode 100644 index 0000000..0c26067 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Apache NetBeans", + "position": 3, + "link": { + "type": "generated-index", + "description": "Utilisation de l'intégration Git native dans Apache NetBeans." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/add-commit.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/add-commit.md new file mode 100644 index 0000000..5c442a8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/add-commit.md @@ -0,0 +1,53 @@ +--- +sidebar_position: 2 +title: "Ajouter & Committer les Changements" +--- + +# Ajouter & Committer les Changements + +--- + +# Ajouter les Changements + +## Objectif + +Sélectionner les fichiers modifiés et les placer dans la zone de staging avant de committer. + +## Étapes + +1. Modifiez un ou plusieurs fichiers dans le projet. + +![Fichiers modifiés](img/2.png) + +2. Faites un clic droit sur le projet ou le fichier. +3. Sélectionnez : **Git → Add** + +![Menu Add Git](img/3.png) + +4. Cliquez sur le bouton **Add**. + +--- + +# Committer les Changements + +## Objectif + +Enregistrer les changements locaux dans le dépôt Git local. + +## Étapes + +1. Modifiez un ou plusieurs fichiers dans le projet. + +![Fichiers modifiés pour commit](img/4.png) + +2. Faites un clic droit sur le projet ou le fichier. +3. Sélectionnez : **Git → Commit** + +![Menu Commit Git](img/5.png) + +4. La fenêtre de dialogue de commit s'ouvre. +5. Examinez la liste des fichiers modifiés. +6. Entrez un message de commit dans le champ **Commit Message**. +7. Cliquez sur le bouton **Commit**. + +![Dialogue de commit](img/6.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/1.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/1.png new file mode 100644 index 0000000..a928953 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/10.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/10.png new file mode 100644 index 0000000..2de0b24 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/10.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/11.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/11.png new file mode 100644 index 0000000..9cbdc4c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/11.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/12.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/12.png new file mode 100644 index 0000000..d5b17da Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/12.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/13.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/13.png new file mode 100644 index 0000000..64fa2ba Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/13.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/14.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/14.png new file mode 100644 index 0000000..84ceed5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/14.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/15.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/15.png new file mode 100644 index 0000000..3eaba79 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/15.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/2.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/2.png new file mode 100644 index 0000000..9e31443 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/3.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/3.png new file mode 100644 index 0000000..865059a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/4.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/4.png new file mode 100644 index 0000000..9e31443 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/5.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/5.png new file mode 100644 index 0000000..aaf89b8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/6.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/6.png new file mode 100644 index 0000000..bef90b2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/7.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/7.png new file mode 100644 index 0000000..655cd56 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/8.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/8.png new file mode 100644 index 0000000..f1f448c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/9.png b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/9.png new file mode 100644 index 0000000..dbec2fd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/img/9.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/index.md new file mode 100644 index 0000000..c561bb9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/index.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 1 +title: "Prérequis" +--- + +# Prérequis + +## Étapes + +1. Ouvrez NetBeans. +2. Ouvrez le projet qui est déjà connecté à un dépôt Git. +3. Assurez-vous que le projet apparaît dans la fenêtre **Projets**. + +![Fenêtre de projets NetBeans](img/1.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/push-pull.md b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/push-pull.md new file mode 100644 index 0000000..6bdc607 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/git-operations/netbeans/push-pull.md @@ -0,0 +1,89 @@ +--- +sidebar_position: 3 +title: "Pousser & Tirer les Changements" +--- + +# Pousser & Tirer les Changements + +--- + +# Pousser (Push) les Changements + +## Objectif + +Envoyer les commits du dépôt local vers le dépôt distant. + +## Étapes + +1. Assurez-vous qu'au moins un commit existe localement. +2. Faites un clic droit sur le projet. +3. Sélectionnez : **Git → Remote → Push** + +![Menu Push Git](img/7.png) + +4. La fenêtre de dialogue de Push s'ouvre. +5. Vérifiez le dépôt distant puis cliquez sur **Next**. + +![Dialogue de Push Étape 1](img/8.png) + +6. Vérifiez les branches locales puis cliquez sur **Next**. + +![Dialogue de Push Étape 2](img/9.png) + +7. Cliquez sur les branches distantes puis cliquez sur **Finish**. + +![Dialogue de Push Étape 3](img/10.png) + +--- + +# Pousser les Changements (Upstream) + +## Objectif + +Envoyer les commits du dépôt local vers le dépôt distant défini comme "upstream". + +## Étapes + +1. Assurez-vous qu'au moins un commit existe localement. +2. Faites un clic droit sur le projet. +3. Sélectionnez : **Git → Remote → Push to Upstream** + +![Push vers Upstream](img/11.png) + +--- + +# Tirer (Pull) les Changements + +## Objectif + +Récupérer les mises à jour du dépôt distant et les fusionner dans le dépôt local. + +## Étapes + +1. Faites un clic droit sur le projet. +2. Sélectionnez : **Git → Remote → Pull** + +![Menu Pull Git](img/12.png) + +3. Vérifiez le dépôt distant puis cliquez sur **Next**. + +![Dialogue de Pull Étape 1](img/13.png) + +4. Vérifiez les branches distantes puis cliquez sur **Next**. + +![Dialogue de Pull Étape 2](img/14.png) + +--- + +# Tirer les Changements (Upstream) + +## Objectif + +Récupérer les mises à jour du dépôt distant "upstream" et les fusionner dans le dépôt local. + +## Étapes + +1. Faites un clic droit sur le projet. +2. Sélectionnez : **Git → Remote → Pull from Upstream** + +![Pull depuis Upstream](img/15.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/workflow/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/_category_.json new file mode 100644 index 0000000..6c40f5c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Workflow & Processus", + "position": 2, + "link": { + "type": "generated-index", + "description": "Guides détaillant nos standards de développement, de l'onboarding au cycle de vie complet des tâches." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/01-development-and-rebasing.md b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/01-development-and-rebasing.md new file mode 100644 index 0000000..f670f23 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/01-development-and-rebasing.md @@ -0,0 +1,69 @@ +--- +sidebar_position: 2 +title: "Développement & Rebasage" +--- + +# Développement & Rebasage + +--- + +## Étape 5 — Travailler sur la Tâche + +- Implémentez les modifications requises par la tâche sur votre branche de fonctionnalité. +- Committez votre travail au fur et à mesure avec des messages de commit clairs et descriptifs : + +```bash +git add . +git commit -m "# - Description courte de ce qui a été fait" +``` + +Par exemple : + +```bash +git commit -m "#42 - Ajout de la fonctionnalité d'exportation de stock vers Excel" +``` + +> Vous pouvez avoir autant de commits que nécessaire sur votre branche de fonctionnalité. + +## Étape 6 — Mettre à Jour `dev` à Nouveau Avant le Rebasage + +Avant de rebaser, récupérez les derniers changements du dépôt distant afin que votre rebasage soit basé sur l'état le plus actuel de `dev` : + +```bash +git checkout dev +git pull +``` + +> Cette étape est cruciale. Si un autre développeur a poussé sur `dev` pendant que vous travailliez, vous avez besoin de ces changements avant de rebaser, sinon vous risquez d'introduire des conflits ou d'écraser du travail. + +## Étape 7 — Revenir sur Votre Branche de Fonctionnalité + +```bash +git checkout feature/ +``` + +## Étape 8 — Rebaser la Branche de Fonctionnalité sur `dev` + +```bash +git rebase dev +``` + +Cela rejoue vos commits par-dessus le dernier `dev`, comme si vous aviez commencé votre travail à partir de l'état actuel de la branche. Le résultat est un historique propre et linéaire, sans commits de fusion (merge commits) inutiles provenant d'états intermédiaires. + +> Si des conflits surviennent pendant le rebasage : +> 1. Git fera une pause et montrera quels fichiers présentent des conflits. +> 2. Ouvrez les fichiers en conflit, résolvez les conflits manuellement. +> 3. Ajoutez les fichiers résolus à la zone de staging : +> ```bash +> git add +> ``` +> 4. Continuez le rebasage : +> ```bash +> git rebase --continue +> ``` +> 5. Répétez jusqu'à ce que le rebasage soit terminé. +> +> Si vous devez abandonner et recommencer : +> ```bash +> git rebase --abort +> ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/02-merging-and-completing.md b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/02-merging-and-completing.md new file mode 100644 index 0000000..3f2a914 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/02-merging-and-completing.md @@ -0,0 +1,62 @@ +--- +sidebar_position: 3 +title: "Fusion & Achèvement" +--- + +# Fusion & Achèvement + +--- + +## Étape 9 — Basculer sur `dev` pour Fusionner + +```bash +git checkout dev +``` + +## Étape 10 — Fusionner la Branche de Fonctionnalité dans `dev` + +```bash +git merge feature/ +``` + +Parce que la branche de fonctionnalité vient d'être rebasée sur `dev`, cette fusion sera un "fast-forward" et produira un commit de fusion propre au sommet de `dev`. + +## Étape 11 — Pousser les Deux Branches vers le Dépôt Distant + +Poussez à la fois la branche `dev` et la branche de fonctionnalité vers le dépôt distant en une seule opération depuis NetBeans, ou via le terminal : + +```bash +git push origin dev +git push origin feature/ +``` + +> Les deux branches doivent être poussées. Pousser `dev` rend votre travail disponible pour le reste de l'équipe. Pousser la branche de fonctionnalité permet de garder le dépôt distant synchronisé et préserve l'historique complet de la tâche pour référence. + +## Étape 12 — Copier le Hash du Commit de Fusion depuis Gitea + +1. Ouvrez Gitea et accédez à la branche **`dev`** du dépôt Stock. +2. Le commit le plus récent au sommet de la branche est le commit de fusion produit à l'Étape 10. +3. Copiez le hash du commit affiché à côté de celui-ci. + +> Ce hash identifie exactement ce qui a été fusionné et quand. C'est la référence définitive du travail effectué dans cette tâche. + +## Étape 13 — Mettre à Jour la Tâche sur Gitea + +Retournez sur le ticket qui vous est assigné et postez un commentaire contenant : +- Le **hash du commit de fusion** copié à l'Étape 12. +- Une **description de ce qui a été fait** — ce qui a été implémenté, les décisions prises, tout ce qui est pertinent pour le réviseur ou pour une référence future. + +Exemple de commentaire : + +```text +Commit : a3f1c7d + +Implémentation de la fonctionnalité d'export Excel pour la page de liste des stocks. +Ajout d'une nouvelle classe ExportService, reliée au StockController existant, +et utilisation de la bibliothèque aspose-cells pour la génération du fichier. +Testé avec des jeux de données allant jusqu'à 10 000 lignes. +``` + +## Étape 14 — Arrêter le Chronomètre + +Arrêtez votre chronomètre. La tâche est terminée. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/03-reference-and-troubleshooting.md b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/03-reference-and-troubleshooting.md new file mode 100644 index 0000000..d45620f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/03-reference-and-troubleshooting.md @@ -0,0 +1,63 @@ +--- +sidebar_position: 4 +title: "Référence & Dépannage" +--- + +# Référence & Dépannage + +--- + +# Référence Rapide + +Pour les développeurs expérimentés, voici la séquence complète des commandes dans l'ordre : + +```bash +# Récupérer le dernier dev +git checkout dev +git pull + +# Créer et basculer sur la branche de fonctionnalité +git checkout -b feature/ + +# ... faites votre travail, committez au fur et à mesure ... + +# Récupérer le dernier dev à nouveau avant de rebaser +git checkout dev +git pull + +# Revenir sur la branche de fonctionnalité et rebaser +git checkout feature/ +git rebase dev + +# Fusionner dans dev +git checkout dev +git merge feature/ + +# Pousser les deux branches +git push origin dev +git push origin feature/ +``` + +Ensuite, allez sur Gitea : copiez le hash du commit de fusion au sommet de `dev`, postez-le sur la tâche avec une description, et arrêtez le chronomètre. + +--- + +# Référence de Nommage des Branches + +| Type | Format | Exemple | +|---|---|---| +| Branche de développement | `dev` | `dev` | +| Branche de fonctionnalité | `feature/` | `feature/42` | + +--- + +# Erreurs Courantes à Éviter + +| Erreur | Pourquoi c'est un problème | +| ------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| Créer une branche de `dev` sans faire de pull d'abord | Votre branche commence sur du code périmé, causant des conflits plus tard | +| Sauter le deuxième `git pull` avant de rebaser | Vous rebasez sur un `dev` obsolète et manquez les changements de vos coéquipiers | +| Oublier de rebaser avant de fusionner | Produit un historique désordonné avec des commits de fusion intermédiaires inutiles | +| Pousser seulement `dev` et non la branche de fonctionnalité | La branche de fonctionnalité sur le dépôt distant n'est plus synchronisée | +| Pousser seulement la branche de fonctionnalité et non `dev` | Votre travail n'atteint jamais l'équipe | +| Ne pas poster le hash du commit sur la tâche | La tâche n'a plus de lien traçable vers le code qui l'implémente | diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/_category_.json b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/_category_.json new file mode 100644 index 0000000..a91d1fb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Workflow de Tâche", + "position": 1, + "link": { + "type": "generated-index", + "description": "Le cycle de vie complet d'une tâche — de l'assignation à l'achèvement avec Gitea et Git." + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/index.md b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/index.md new file mode 100644 index 0000000..62ed2d7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/workflow/task-workflow/index.md @@ -0,0 +1,56 @@ +--- +sidebar_position: 1 +title: "Aperçu & Démarrage du Travail" +--- + +# Aperçu & Démarrage du Travail + +> **Audience :** Tous les développeurs de l'équipe. Ce document décrit le workflow standard à suivre à partir du moment où une tâche est assignée jusqu'au moment où elle est marquée comme terminée. + +--- + +# Aperçu + +L'équipe utilise un workflow de type **rebase-then-merge** (rebasage puis fusion). Chaque tâche est développée de manière isolée sur sa propre branche de fonctionnalité, rebasée sur le dernier `dev` avant la fusion, puis les deux branches sont poussées ensemble vers le dépôt distant. Cela permet de garder l'historique de la branche `dev` propre et linéaire. + +--- + +# Workflow + +## Étape 1 — Lire la Tâche + +- Ouvrez Gitea et accédez au ticket qui vous est assigné. +- Lisez attentivement la tâche, y compris les commentaires ou les pièces jointes. +- Assurez-vous de bien comprendre les exigences avant de commencer. Si quelque chose n'est pas clair, demandez avant d'écrire du code. + +## Étape 2 — Lancer le Chronomètre + +- Lancez votre chronomètre dès que vous commencez à travailler sur la tâche. +- Le chronomètre doit refléter le temps de travail réel sur la tâche, alors lancez-le maintenant et non avant d'avoir lu et compris le ticket. + +## Étape 3 — Mettre à Jour votre Branche `dev` Locale + +Avant de créer votre branche de fonctionnalité, assurez-vous que votre branche `dev` locale est à jour : + +```bash +git checkout dev +git pull +``` + +> Ne créez jamais de branche à partir d'un `dev` obsolète. Tirez (pull) toujours d'abord pour éviter de baser votre travail sur du code périmé. + +## Étape 4 — Créer la Branche de Fonctionnalité + +Créez et basculez immédiatement sur une nouvelle branche à partir de `dev`, nommée d'après le numéro de la tâche : + +```bash +git checkout -b feature/ +``` + +Par exemple, pour la tâche #42 : + +```bash +git checkout -b feature/42 +``` + +> Le nom de la branche doit suivre exactement ce format — `feature/` suivi du numéro de tâche. Cela lie clairement la branche à la tâche sur Gitea. diff --git a/i18n/fr/docusaurus-theme-classic/footer.json b/i18n/fr/docusaurus-theme-classic/footer.json new file mode 100644 index 0000000..1af9dfc --- /dev/null +++ b/i18n/fr/docusaurus-theme-classic/footer.json @@ -0,0 +1,6 @@ +{ + "copyright": { + "message": "© 2026 TrizTech — Internal use only.", + "description": "The footer copyright" + } +} diff --git a/i18n/fr/docusaurus-theme-classic/navbar.json b/i18n/fr/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..f79a759 --- /dev/null +++ b/i18n/fr/docusaurus-theme-classic/navbar.json @@ -0,0 +1,14 @@ +{ + "title": { + "message": "TrizTech Docs", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "TrizTech Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Documentation": { + "message": "Documentation", + "description": "Navbar item with label Documentation" + } +} diff --git a/src/pages/index.js b/src/pages/index.js index c191ef4..9ce0272 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,34 +1,35 @@ import React from 'react'; import Link from '@docusaurus/Link'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Translate, {translate} from '@docusaurus/Translate'; import Layout from '@theme/Layout'; import Heading from '@theme/Heading'; import styles from './index.module.css'; const categories = [ { - title: 'Getting Started', + title: Getting Started, icon: '🚀', - description: 'Set up your development environment and get ready to contribute to TrizTech projects.', - link: '/docs/category/environment-setup-guide', + description: Set up your development environment and get ready to contribute to TrizTech projects., + link: '/category/environment-setup-guide', }, { - title: 'Workflow & Processes', + title: Workflow & Processes, icon: '🔄', - description: 'Our standard development workflow — from task assignment through branching, rebasing, and merging.', - link: '/docs/category/developer-task-workflow', + description: Our standard development workflow — from task assignment through branching, rebasing, and merging., + link: '/category/developer-task-workflow', }, { - title: 'Git Operations', + title: Git Operations, icon: '🐙', - description: 'Master Git operations across different tools like Apache NetBeans, JetBrains IDEs, and the Command-Line.', - link: '/docs/category/git-operations', + description: Master Git operations across different tools like Apache NetBeans, JetBrains IDEs, and the Command-Line., + link: '/category/git-operations', }, { - title: 'Database Operations', + title: Database Operations, icon: '🗄️', - description: 'Guides for managing SQL Server databases, including backup, restore, and advanced recovery operations.', - link: '/docs/category/database-operations', + description: Guides for managing SQL Server databases, including backup, restore, and advanced recovery operations., + link: '/category/database-operations', }, ]; @@ -54,12 +55,14 @@ function HeroSection() { Engineering Docs

- The single source of truth for onboarding, workflows, standards, and - everything the engineering team needs — all in one place. + + The single source of truth for onboarding, workflows, standards, and + everything the engineering team needs — all in one place. +

- - Browse Documentation + + Browse Documentation
@@ -73,10 +76,10 @@ function CategoriesSection() {
- Documentation + Documentation

- Quick access to every section of our knowledge base. + Quick access to every section of our knowledge base.