feat(i18n): base + fr
All checks were successful
Deploy triz-docs to 150 / build-and-deploy (push) Successful in 1h8m34s

This commit is contained in:
Othmane Ataallah 2026-04-29 15:52:28 +01:00
parent e190d37c48
commit bfc333138b
108 changed files with 2128 additions and 20 deletions

View File

@ -22,7 +22,7 @@ const config = {
i18n: { i18n: {
defaultLocale: 'en', defaultLocale: 'en',
locales: ['en'], locales: ['en', 'fr'],
}, },
markdown: { markdown: {
@ -93,6 +93,10 @@ const config = {
position: 'left', position: 'left',
label: 'Documentation', label: 'Documentation',
}, },
{
type: 'localeDropdown',
position: 'right',
},
], ],
}, },
footer: { footer: {
@ -110,7 +114,7 @@ const config = {
[ [
require.resolve('@cmfcmf/docusaurus-search-local'), require.resolve('@cmfcmf/docusaurus-search-local'),
{ {
language: 'en', language: ['en', 'fr'],
indexDocs: true, indexDocs: true,
indexBlog: false, indexBlog: false,
indexPages: true, indexPages: true,

385
i18n/fr/code.json Normal file
View File

@ -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."
}
}

View File

@ -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'"
}
}

View File

@ -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."
}
}

View File

@ -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."
}
}

View File

@ -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 |

View File

@ -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\<instance>\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**.

View File

@ -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/
```

View File

@ -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."
}
}

View File

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -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.

View File

@ -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)|

View File

@ -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.

View File

@ -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."
}
}

View File

@ -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
<settings>
<servers>
<server>
<id>gitea</id>
<username>othmane</username>
<password>54465f0ce0fec1a357eb7d9f7055e3df873db114</password>
</server>
</servers>
</settings>
```
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.

View File

@ -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.

View File

@ -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`**.

View File

@ -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.**

View File

@ -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.

View File

@ -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) |

View File

@ -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."
}
}

View File

@ -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 |

View File

@ -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."
}
}

View File

@ -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."
}
}

View File

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

@ -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)

View File

@ -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.

View File

@ -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.)."
}
}

View File

@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -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)

View File

@ -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)

View File

@ -0,0 +1,8 @@
{
"label": "Apache NetBeans",
"position": 3,
"link": {
"type": "generated-index",
"description": "Utilisation de l'intégration Git native dans Apache NetBeans."
}
}

View File

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -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)

View File

@ -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)

View File

@ -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."
}
}

Some files were not shown because too many files have changed in this diff Show More