diff --git a/blog/2026-07-13-clientxcms-v2-16-security-privacy-billing.md b/blog/2026-07-13-clientxcms-v2-16-security-privacy-billing.md new file mode 100644 index 0000000..3e58295 --- /dev/null +++ b/blog/2026-07-13-clientxcms-v2-16-security-privacy-billing.md @@ -0,0 +1,136 @@ +--- +slug: clientxcms-v2-16-security-privacy-billing +title: "ClientXCMS 2.16: Security, Privacy and sub users Management" +authors: [martindev] +tags: [release, security, privacy, billing, cloud, v2.16] +translated: true +--- +**ClientXCMS 2.16** is one of our most important updates yet. At the heart of this release are delegated account access with sub-users and a complete credit-note workflow, alongside a redesigned profile, stronger security, and new privacy tools. + +![Interface for inviting a sub-user and configuring delegated permissions](/img/blog/v2.16/invite_users.png) + + + +## Sub-Users: Invite People and Delegate Access + +Customers can now invite another person from their profile. The recipient receives the invitation by email and can accept it to access the account. + +Fine-grained permissions determine exactly what each sub-user can do. For example, they can be allowed to access selected services or pay invoices without receiving unrestricted access to the main account. + +This major feature is ideal for teams, companies, and customers who need to safely share operational or billing responsibilities. + +## Credit Notes: Clearer Refund and Balance Management + +Version 2.16 introduces **credit notes**, another major feature for billing teams. Administrators can create a credit note for a customer, properly record a refund, and credit the corresponding amount to the customer's balance. + +![Customer credit-note list in the administration panel](/img/blog/v2.16/customers_credit_notes.png) + +This provides a clearer audit trail and a much cleaner workflow than applying manual balance adjustments. + +## A Completely Redesigned Profile + +The profile has been reorganized into clear tabs so that personal information, security settings, delegated users, and privacy tools are easier to find. Customers, administrators, and staff members can also add a profile avatar. + +![The redesigned ClientXCMS profile interface with tabbed navigation](/img/blog/v2.16/new_profile_interface.png) + +This redesign is more than a visual refresh: it creates a clearer foundation for all the new account-management features introduced in 2.16. + +## Stronger Security for Every Account + +When enabled by the administrator, users can protect their account with two-factor authentication by **email or SMS**. ClientXCMS supports **OVH SMS and Twilio** as SMS providers. + +Trusted devices make strong authentication less intrusive: a recognized device can be remembered and managed directly from the security area. Security questions can now be translated too, so each user receives consistent protection in their own language. + +![List of trusted devices in the account security area]() + +All these protections are also available for **administrator and staff accounts**, where access to sensitive information makes account security especially important. + +## GDPR-Friendly by Design + +Respecting privacy regulations is a priority for us. ClientXCMS now gives every user the ability to: + +- export their personal data; +- delete their account; +- review the information associated with their profile. + +![Profile privacy tools for exporting personal data and deleting an account](/img/blog/v2.16/export_profile.png) + +Administrators can also automatically delete accounts that have been inactive for **three years by default**. The retention period is configurable from **Administration panel > Settings > Security settings**, allowing each organization to adapt the policy to its legal obligations. + +These tools make ClientXCMS fully GDPR-friendly and help administrators apply a clear data-retention policy. + +## Find Invoices and Records Faster + +Invoice lists can now be filtered by payment date and due date. The same date-filtering approach is available for customer registration, service creation, tickets, and other records. + +![Invoice filters for payment date and due date](/img/blog/v2.16/filter_invoices.png) + +Whether you are looking for an invoice from a specific accounting period or reviewing customers created during a campaign, the relevant records are now only a few clicks away. + +## Control Which Countries Appear During Registration + +Administrators can choose which countries are available in the registration form from the language settings. This keeps the list relevant to the markets you serve and simplifies registration for customers. + +![Country selection settings for the registration form](/img/blog/v2.16/choice_countries.png) + +The default allowlist contains: **France, Belgium, Switzerland, Luxembourg, Canada, United States, United Kingdom, Germany, Spain, Italy, Portugal, Netherlands, Ireland, Austria, Morocco, Algeria, Tunisia, Senegal, Ivory Coast, and Cameroon**. + +## Automatically Apply a Coupon from Your Website + +A coupon can now be passed in the product configuration URL: + +```text +https://your-client-area.example/store/basket/config/2?coupon=NEWGEN +``` + +![Product settings for automatically applying a coupon code](/img/blog/v2.16/add_product_coupon.png) + +The code is automatically applied during product configuration. This is especially useful for linking a promotional campaign or a showcase website directly to a ready-to-order offer. + +## Flexible Service Cancellation Rules + +Each cancellation reason can now trigger one of three workflows: + +- cancel the service immediately; +- cancel it when the current service period expires; +- redirect the customer to ticket creation for manual processing. + +![Cancellation reason settings with the available cancellation rules](/img/blog/v2.16/cancellation_rules.png) + +For manual cancellations, the `cancellation_message` setting lets you prefill the support ticket with instructions or the information your team needs. + +![Predefined support-ticket message for a manual cancellation request](/img/blog/v2.16/cancellation_message.png) + +## Clearer Product Groups + +Product groups can now display badges, helping you highlight a popular, new, or recommended category in the storefront. + +![Badge configuration for a product group](/img/blog/v2.16/store_group_badge.png) + +## Full Plesk Access for Cloud Offers + +ClientXCMS Cloud customers can now enable complete **Plesk access** and manage their hosting environment, files, and databases. To enable it, go to **clientxcms.com > Services > Cloud > Enable Plesk**. + +:::warning +Enabling Plesk locks extension changes for the Cloud service. Check your selected extensions before activation. +::: + +## Domain Management: Providers Wanted for Testing + +* [ ] We have also developed domain-management functionality, but it is **not officially released yet**. Before opening it to everyone, we want to test it with more domain providers and validate the integrations in real-world conditions. + +If you are a provider or would like to help test this feature, please contact us. Your feedback will help us prepare a reliable official release. + +## A New Home for Your Ideas + +The former `ideas.clientxcms.com` platform has been replaced by [clientxcms.com/ideas](https://clientxcms.com/ideas). Suggestions and feature requests are now managed directly in ClientXCMS through the new **Idea addon**, providing a more consistent experience for the entire community. + +![Idea addon interface for browsing and submitting suggestions](https://cdn.clientxcms.com/ressources/addons/idea/front_index.png) + +The Idea addon is available **free of charge** from the [ClientXCMS marketplace](https://clientxcms.com/resources/idea). You can install it on your own ClientXCMS website to collect, organize, and track your customers' suggestions. + +## And Much More + +Version 2.16 also brings support-department SLAs, service-status polling, better extension isolation, accessibility improvements, redesigned error pages, and numerous billing and stability fixes. + +Read the [complete ClientXCMS 2.16 changelog](/blog/nouvelle-version-2.16) for every technical detail. diff --git a/blog/2026-07-14-nouvelle-version-2.16.md b/blog/2026-07-14-nouvelle-version-2.16.md new file mode 100644 index 0000000..97723be --- /dev/null +++ b/blog/2026-07-14-nouvelle-version-2.16.md @@ -0,0 +1,61 @@ +--- +slug: nouvelle-version-2.16 +title: New Version 2.16 +authors: [martindev] +tags: [release, security, privacy, billing, v2.16] +translated: true +--- +# v2.16 + + +![ClientXCMS version 2.16](/img/blog/versions/v2.16.png) + + + +Discover the major new features and screenshots in our [complete overview of ClientXCMS 2.16](/blog/clientxcms-v2-16-security-privacy-billing). + +### Additions + +- ➕ Added invitations and delegated account access. Invited sub-users can access services and pay invoices according to the permissions granted to them. +- ➕ Added credit notes to record refunds and easily credit a customer's balance. +- ➕ Added profile avatars for clients, administrators, and staff members. +- ➕ Added SMS multi-factor authentication (MFA), with support for Twilio and OVH SMS providers. +- ➕ Added trusted-device management to avoid repeated verification on recognized devices. +- ➕ Added personal-data export and account deletion tools to meet GDPR requirements. +- ➕ Added automatic deletion of inactive accounts after a configurable retention period (three years by default). +- ➕ Added translatable security questions. +- ➕ Added an allowlist of countries displayed during registration, configurable from the language settings. +- ➕ Added date filters for invoices (payment and due dates), clients (registration date), services (creation date), tickets, and other lists. +- ➕ Added service-level agreements (SLA) for support departments, including ticket tracking and notifications for requests requiring attention. +- ➕ Added configurable cancellation behavior for each cancellation reason: immediate cancellation, cancellation at service expiry, or manual processing through a support ticket with a predefined message. +- ➕ Added automatic coupon application from the product configuration URL using the `coupon` query parameter. +- ➕ Added support for assigning products and groups to subdomains. +- ➕ Added product-group badges for clearer storefront navigation. +- ➕ Added service-status polling for deliveries and service changes. +- ➕ Added an extension sandbox loader so a faulty extension cannot crash the entire application. +- ➕ Developed the first version of domain management. It is not officially released yet, as we are looking for providers willing to help test integrations. + +### Changes + +- 🔄 Completely redesigned the client profile with a clearer tabbed interface. +- 🔄 Redesigned the product-group presentation and added visual badges. +- 🔄 Improved invoice creation, numbering sequence storage, renewals, refunds, and credit-note handling. +- 🔄 Redesigned the 403 and 500 error pages to provide clearer information to end users. +- 🔄 Improved accessibility across the interface, including navigation, readability, and interactions. +- 🔄 Improved the user experience across multiple client and administration screens. +- 🔄 ClientXCMS Cloud customers can now enable full Plesk access from **clientxcms.com > Services > Cloud > Enable Plesk** to manage hosting, files, and databases. Enabling Plesk prevents subsequent extension changes. +- 🔄 Replaced `ideas.clientxcms.com` with [clientxcms.com/ideas](https://clientxcms.com/ideas), powered by the new free [Idea addon available on the marketplace](https://clientxcms.com/resources/idea). + +### Fixes + +- 🔧 Fixed access-control and input-validation issues in several workflows. +- 🔧 Fixed edge cases affecting billing and service-management workflows. +- 🔧 Fixed several stability issues in the client and administration interfaces. +- 🔧 Prevented duplicate renewal invoices. + +### Security + +- 🔒 Added the option to enforce two-factor authentication by email for all users. +- 🔒 Added two-factor authentication by email or SMS. +- 🔒 Added trusted devices and controls for sensitive authentication, invitation, and public-endpoint workflows. +- 🔒 Made the same account-security features available to administrators and staff members. diff --git a/docs/developpers/extensions/extensions.md b/docs/developpers/extensions/extensions.md index 6fbcf5b..3a53ec5 100644 --- a/docs/developpers/extensions/extensions.md +++ b/docs/developpers/extensions/extensions.md @@ -31,14 +31,6 @@ Loaded extensions can be activated or deactivated on the Extensions page ## Choosing between a module and an addon Simply put, modules are used for service delivery, for example to implement a management panel like Virtualizor, Plesk, or Pterodactyl. Addons are used to add additional features such as payment methods, logic, or custom pages. -## Request to add to the marketplace +## Publishing on the Marketplace -You can request to become a developer at [https://clientxcms.com/client/resources](https://clientxcms.com/client/ressources) and thus offer your extensions to the community. -![Screenshot of creating an extension](/img/blog/lancement-opensource/marketplace2.png) - -From now on, each developer can: -- Create their own extensions -- Publish and share their creations via [clientxcms.com/client/ressources](https://clientxcms.com/client/ressources) -- Easily explore and install extensions shared by the community - -This intuitive interface was designed to simplify management and encourage the collaborative ecosystem around CLIENTXCMS. +You can distribute your addon or module to the CLIENTXCMS community as a free or paid resource. Follow the [marketplace publication guide](../publish-resource) to activate your developer area and prepare the listing, then read [Publishing an Addon or Module](./publish-marketplace) for UUID, Service Provider, GitHub repository, packaging, and update requirements. diff --git a/docs/developpers/extensions/publish-marketplace.md b/docs/developpers/extensions/publish-marketplace.md new file mode 100644 index 0000000..ef3f0ae --- /dev/null +++ b/docs/developpers/extensions/publish-marketplace.md @@ -0,0 +1,83 @@ +--- +sidebar_position: 5 +translated: true +--- + +# Publishing an Addon or Module + +Complete the [common marketplace publication guide](../publish-resource) before following this page. + +CLIENTXCMS supports two extension types: + +- a **module** delivers and manages a service through a provider such as Pterodactyl, Proxmox, or Plesk; +- an **addon** adds functionality such as a payment method, business logic, or custom pages. + +If the extension has not been created yet, start with [Creating an Extension](./create). + +## Identifier and Extension Type + +Choose the same type in the marketplace as in your extension metadata. The marketplace UUID must remain identical across: + +- the marketplace resource; +- the directory name, `modules/` or `addons/`; +- the `uuid` value in `module.json` or `addon.json`. + +Use a lowercase, URL-safe UUID and keep it unchanged between releases. A mismatch prevents CLIENTXCMS from identifying the package reliably. + +## Service Providers + +In **Service providers**, declare every Laravel Service Provider that CLIENTXCMS must load for the addon or module. Enter its complete namespace, for example: + +```text +App\Addons\AnnouncementBar\AnnouncementBarServiceProvider +``` + +Use **Add provider** when the extension requires more than one. Each declared class must exist in the submitted archive and respect Composer autoloading and PHP namespace capitalization. + +The **Pricing** field defines the selling price of the extension. Paid pricing is available only to **certified developers**. You must request certification and confirm that you can issue invoices before CLIENTXCMS can pay out your earnings. Verify your certification and the amount before submitting the resource for validation. + +![Service providers and extension pricing](/img/next_gen/developpers/marketplace/mettre-a-jour-extension.png) + +## Preparing the GitHub Repository + +Use a public GitHub repository to keep the source auditable and the history of every release accessible. The official [ClientXCMS Pterodactyl module](https://github.com/ClientXCMS/module-pterodactyl) is the reference layout: its `master` branch contains `modules/pterodactyl`, a bilingual README, and versioned GitHub releases. + +Recommended module layout: + +```text +module-example/ +├── modules/ +│ └── example/ +│ ├── lang/ +│ ├── database/ +│ ├── routes/ +│ ├── src/ +│ ├── views/ +│ ├── module.json +│ └── composer.json +├── README.md +├── LICENSE +└── .gitignore +``` + +For an addon, use the same principle with `addons/` and `addon.json`. + +The README should contain the resource name, purpose, features, requirements, installation and configuration instructions, support link, documentation link, and representative images. Clearly state compatibility and breaking changes. + +:::warning Never publish secrets +Do not commit `.env` files, API keys, panel credentials, customer data, logs, caches, local dependencies, IDE configuration, or files copied from a production installation. Provide `.env.example` or documented placeholders when configuration examples are necessary. +::: + +## Publishing an Extension Version + +Marketplace versions are created from the CLIENTXCMS developer interface, not by creating a new marketplace listing. Follow [Creating a Version](../publish-resource#creating-a-version) to select an existing GitHub release or ask CLIENTXCMS to create the release dynamically from the changelog. + +Before opening the version form: + +1. Update the version in `module.json` or `addon.json` and keep it aligned with the version entered in CLIENTXCMS. +2. Test installation, activation, migrations, configuration, and removal on a clean compatible installation. +3. Push the final source to GitHub and ensure the package preserves `modules/` or `addons/` at its expected path. +4. Exclude `.git`, development caches, tests not required at runtime, local dependencies, secrets, and installation-specific files. +5. Open the existing resource in CLIENTXCMS, add the version, associate or dynamically create its GitHub release, complete the categorized changelog, and publish it. + +Do not modify an already published version with different code. Publish a new version from CLIENTXCMS so users can identify releases safely. diff --git a/docs/developpers/publish-resource.md b/docs/developpers/publish-resource.md new file mode 100644 index 0000000..237eae4 --- /dev/null +++ b/docs/developpers/publish-resource.md @@ -0,0 +1,91 @@ +--- +sidebar_position: 3 +translated: true +--- + +# Publishing a Resource on the Marketplace + +The CLIENTXCMS developer program allows creators to publish **themes**, **modules**, and **addons** for the community. A resource can be free or paid. As its developer, you are responsible for maintaining it, documenting how it works, supporting its users, and publishing compatible updates. + +This guide covers the common publication process. See the dedicated instructions for [addons and modules](./extensions/publish-marketplace) or [themes](./themes/publish-marketplace) before submitting your resource. + +## Activating Your Developer Area + +Open the [CLIENTXCMS resources area](https://clientxcms.com/client/ressources) while signed in. If your developer area is not active yet, complete the registration form: + +- **Creator name**: public name displayed on your marketplace resources; +- **Avatar URL**: optional public URL for your profile picture; +- **Creator contact**: email address or Discord username customers can use; +- **Marketplace rules**: read and accept the rules before activating your developer area. + +Choose stable public information and keep your contact details up to date. + +![Developer program registration form](/img/next_gen/developpers/marketplace/rejoindre-developpeur.png) + +## Developer Dashboard + +The developer dashboard centralizes your published resources and profile. For every resource, it displays the number of downloads, views, and its current status. You can also check your developer certification, update your public profile, open an existing resource, or create a new one. + +![CLIENTXCMS developer dashboard](/img/next_gen/developpers/marketplace/espace-developpeur.png) + +### Certification and Paid Resources + +You must be a **certified developer** to set a price and sell a resource. Request certification from your developer area and confirm that you are able to issue invoices so CLIENTXCMS can pay out your earnings. Complete this step before submitting a paid theme, module, or addon. + +Free resources do not require you to enter a selling price. + +## Creating a Resource + +Select **Create** from the developer dashboard, then complete the common fields. + +### Basic Information + +| Field | Description | +| --- | --- | +| **Resource type** | Select Theme, Module, or Addon. This choice determines the technical fields shown later. | +| **Resource name** | Public and readable product name. | +| **Unique identifier (UUID)** | Stable lowercase identifier used in the marketplace URL and by the resource. Do not change it after publication. | +| **Group** | Marketplace category that best matches the resource. | +| **Tags** | Relevant features such as utility, security, performance, integration, or included content. Tags remain subject to administrator approval. | + +The UUID must match the identifier used by the code and its installation folder. Refer to the specialized guide for the exact convention of your resource type. + +![Basic information for a marketplace resource](/img/next_gen/developpers/marketplace/soumettre-ressource-informations.png) + +### Content and Media + +- **Short description**: one clear sentence summarizing the resource and its main benefit. +- **Description**: explain the use case, main features, requirements, installation, configuration, and support conditions. Use headings, lists, links, and screenshots to make it easy to scan. +- **Thumbnail**: upload a clear JPG, PNG, or JPEG image that identifies the resource at marketplace-card size. + +Only promise features that are included in the submitted version. Never put credentials, API keys, or other secrets in the description or screenshots. + +![Description and thumbnail fields](/img/next_gen/developpers/marketplace/soumettre-ressource-contenu.png) + +## Submitting and Maintaining Your Resource + +Review the metadata, content, image, technical fields, and price, then select **Submit resource for validation**. The resource status is available from your dashboard. + +After publication: + +1. Keep the marketplace description, compatibility information, documentation, and support contact current. +2. Test every archive on a clean compatible CLIENTXCMS installation. +3. Create a new version from the CLIENTXCMS developer interface for each update and provide useful release notes. +4. Update the marketplace resource rather than creating a duplicate listing. +5. Never reuse an existing version number for different code. + +## Creating a Version + +Create and publish resource versions directly from the CLIENTXCMS developer interface. Open the existing resource, select the option to add a version, then complete: + +- **Extension version**: technical version identifier, for example `v1.1`; +- **State**: release state, such as stable; +- **Version name**: public name displayed for the version; +- **Release**: select an existing GitHub release or choose **Create a release dynamically** so the interface publishes the changelog to GitHub; +- **Changelog**: add entries under Addition, Removal, Change, Fix, Other, or Security. + +Review the changelog and select **Publish version**. Do not create another marketplace resource for an update and do not reuse a version number for different code. + +![Creating a resource version from the developer interface](/img/next_gen/developpers/marketplace/creer-version.png) + +GitHub remains the recommended place to host and maintain the source, but marketplace versions are managed from the CLIENTXCMS interface. The [extension guide](./extensions/publish-marketplace#preparing-the-github-repository) and [theme guide](./themes/publish-marketplace#preparing-the-github-repository) provide the expected repository structures. diff --git a/docs/developpers/themes/publish-marketplace.md b/docs/developpers/themes/publish-marketplace.md new file mode 100644 index 0000000..e0309ef --- /dev/null +++ b/docs/developpers/themes/publish-marketplace.md @@ -0,0 +1,95 @@ +--- +sidebar_position: 9 +translated: true +--- + +# Publishing a Theme + +Complete the [common marketplace publication guide](../publish-resource) before following this page. If your theme has not been created yet, start with [Creating a Theme](./create-theme). + +## Identifier and Marketplace Information + +The marketplace UUID must match both the theme directory and the `uuid` value in `theme.json`: + +```text +resources/themes//theme.json +``` + +Keep this identifier lowercase, URL-safe, and unchanged between releases. Complete the marketplace description with the theme's supported pages, customization options, supported modes, requirements, compatibility, documentation, and support conditions. + +Use two complementary images: + +- upload a clear marketplace **thumbnail** for the resource card; +- place `screenshot.png` at the root of `resources/themes/` for the CLIENTXCMS theme preview. + +The images must represent the version being distributed. The **Pricing** field sets the selling price shown for the theme. Paid pricing is available only to **certified developers**: request certification and confirm that you can issue invoices so CLIENTXCMS can pay out your earnings. + +## Providing a Demo + +A public demo helps customers verify the design, responsive behavior, navigation, store, client area, and available customization before purchasing. + +Set a stable HTTPS URL in `theme.json`: + +```json +{ + "uuid": "example", + "name": "Example", + "version": "1.0.0", + "demo": "https://demo.example.com" +} +``` + +The demo should: + +- run the submitted theme version on a compatible CLIENTXCMS installation; +- include representative products, pages, menus, and sections; +- work on desktop and mobile without broken links or missing assets; +- expose no administration access, credentials, customer data, or sensitive configuration; +- use test data that can be reset safely; +- remain available while the marketplace resource is active. + +Mention any intentionally unavailable feature or restricted demo action in the marketplace description. + +## Preparing the GitHub Repository + +Use a public repository with the following recommended structure: + +```text +theme-example/ +├── resources/ +│ └── themes/ +│ └── example/ +│ ├── assets/ +│ ├── config/ +│ ├── database/ +│ ├── lang/ +│ ├── views/ +│ ├── menus.json +│ ├── screenshot.png +│ └── theme.json +├── screenshots/ +├── README.md +├── LICENSE +└── .gitignore +``` + +The README should document the theme's features, supported CLIENTXCMS versions, requirements, installation, asset compilation, configuration, demo URL, screenshots, support, and license. Keep development screenshots outside the installable theme directory unless they are required at runtime. + +:::warning Never publish secrets +Do not commit `.env`, credentials, API keys, customer data, logs, caches, `.git`, `node_modules`, generated development files, or configuration copied from a live installation. +::: + +## Publishing a Theme Version + +Marketplace versions are created directly from the CLIENTXCMS developer interface. Follow [Creating a Version](../publish-resource#creating-a-version) to select an existing GitHub release or create one dynamically from the changelog. + +Before opening the version form: + +1. Update the version in `theme.json` and align it with the version entered in CLIENTXCMS, such as `v1.2.0`. +2. Build the production assets and test the theme on a clean compatible installation. +3. Verify the public demo and update it to the submitted version. +4. Push the final source to GitHub and ensure the package preserves `resources/themes/`. +5. Exclude `.git`, caches, source-only local dependencies, `.env`, secrets, and installation-specific files. +6. Open the existing theme resource in CLIENTXCMS, add the version, associate or dynamically create its GitHub release, complete the categorized changelog, and publish it. + +Never modify an already published version with different files. New code requires a new version created and published from CLIENTXCMS. diff --git a/docs/developpers/themes/themes.md b/docs/developpers/themes/themes.md index af6088a..287abf5 100644 --- a/docs/developpers/themes/themes.md +++ b/docs/developpers/themes/themes.md @@ -5,6 +5,8 @@ translated: true # Themes CLIENTXCMS offers a theme system to customize the appearance of your website. Themes are folders containing configuration files and template files. Themes are available from the administration interface via `Settings` > `Themes` > `Theme Settings`. +If you want to distribute a theme to the community, follow the [marketplace publication guide](../publish-resource), then read [Publishing a Theme](./publish-marketplace) for demo, GitHub repository, packaging, and update requirements. + You can enable or disable a theme by clicking the `Enable` or `Disable` button corresponding to the theme. ![Themes](/img/next_gen/developpers/themes/themes.png) diff --git a/docs/extensions/addons/idea.md b/docs/extensions/addons/idea.md new file mode 100644 index 0000000..d253e49 --- /dev/null +++ b/docs/extensions/addons/idea.md @@ -0,0 +1,94 @@ +# Idea + +The **Idea** addon adds a feedback and suggestion portal directly to your CLIENTXCMS client area. Your customers can submit ideas, vote for the improvements they consider most important, discuss proposals, and follow their progress. + +It provides an experience similar to a dedicated feedback platform such as Fider, while remaining fully integrated into CLIENTXCMS. + +:::info +The **Idea** addon must be installed and enabled on your CLIENTXCMS instance to use these features. +::: + +## Customer Area + +The ideas page gives customers an overview of the suggestions submitted by the community. Each entry displays its vote count, status, tags, number of comments, and author. + +Customers can use the sidebar to: + +- search for an idea by keyword; +- sort the list, for example by popularity; +- filter ideas by status or tag; +- submit a new idea using a title, content, and one or more tags. + +The available statuses are **Open**, **Planned**, **In progress**, **Completed**, **Rejected**, and **Duplicate**. These statuses make the progress of each suggestion clear and provide customers with visibility into your roadmap. + +![Ideas portal in the customer area](/img/next_gen/extensions/addons/idea/front_index.png) + +### Viewing and Following an Idea + +The detail page displays the complete suggestion, its current status, associated tags, author, and number of votes. + +From this page, a customer can: + +- vote for the idea or remove their vote; +- follow the idea or stop following it; +- read the discussion and add comments; +- view an official response published by your team. + +Official responses are visually highlighted so that customers can easily distinguish updates from the administration team from community comments. + +![Idea detail, voting, and official response](/img/next_gen/extensions/addons/idea/front_show.png) + +## Administration + +Idea management is available from `Admin Panel` → `Settings` → `Ideas`. + +The administration area provides three sections: + +- **Ideas**: manage suggestions, their statuses, tags, and official responses; +- **Idea comments**: moderate comments published on ideas; +- **Idea tags**: organize suggestions with public or internal tags. + +![Idea addon administration sections](/img/next_gen/extensions/addons/idea/admin_settings.png) + +### Managing Ideas + +The **Ideas** section lists the suggestions submitted through the portal. Administrators can search by keyword and filter the list by status or tag. The table also shows the title, status, vote count, and number of comments for each idea. + +Administrators can create or manage ideas from this section, update their status and tags, and publish an official response to communicate a decision or progress update. + +![Idea management in the administration area](/img/next_gen/extensions/addons/idea/admin_posts.png) + +### Moderating Comments + +The **Idea comments** section centralizes comments posted by customers. Each entry identifies the related idea, customer, publication date, and comment content. + +Administrators can search the comments, apply the available comment filter, and delete inappropriate or obsolete contributions. + +![Idea comment moderation](/img/next_gen/extensions/addons/idea/admin_comments.png) + +### Managing Tags + +Tags help classify ideas and make the portal easier to browse. For each tag, you can configure: + +- **Name**: the label displayed in the interface; +- **Slug**: the tag's URL-friendly identifier; +- **Color**: the hexadecimal color used for its badge; +- **Public**: determines whether customers can see and use the tag. Disable this option to keep the tag internal. + +The same page can be used to create, edit, save, or delete tags. + +![Creating and managing idea tags](/img/next_gen/extensions/addons/idea/admin_tags.png) + +## Recommended Workflow + +1. Create tags that match your products or feedback categories. +2. Review new ideas and assign the appropriate tags and status. +3. Moderate customer discussions when necessary. +4. Use official responses to acknowledge a suggestion or explain your decision. +5. Update the status as the idea moves through your roadmap. + +This workflow keeps customers informed while helping your team identify the most requested improvements through votes and discussions. + +## See Idea in Action + +The Idea addon is used by CLIENTXCMS for its own public feedback portal. Visit [clientxcms.com/ideas](https://clientxcms.com/ideas) to discover the extension in a real-world environment, vote for upcoming improvements, and see how it creates a direct and transparent connection with the community. diff --git a/i18n/fr/docusaurus-plugin-content-blog/2026-07-13-clientxcms-v2-16-security-privacy-billing.md b/i18n/fr/docusaurus-plugin-content-blog/2026-07-13-clientxcms-v2-16-security-privacy-billing.md new file mode 100644 index 0000000..d9b9beb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-blog/2026-07-13-clientxcms-v2-16-security-privacy-billing.md @@ -0,0 +1,136 @@ +--- +slug: clientxcms-v2-16-securite-rgpd-facturation +title: "ClientXCMS 2.16 : sécurité, RGPD et sous utilisateurs" +authors: [martindev] +tags: [release, security, privacy, billing, cloud, v2.16] +translated: true +--- +**ClientXCMS 2.16** est l'une de nos mises à jour les plus importantes. Au cœur de cette version : les accès délégués avec les sous-utilisateurs et une gestion complète des avoirs, accompagnés d'un nouveau profil, d'une sécurité renforcée et de nouveaux outils de confidentialité. + +![Interface d'invitation d'un sous-utilisateur et configuration des permissions déléguées](/img/blog/v2.16/invite_users.png) + + + +## Sous-utilisateurs : inviter et déléguer des accès + +Un client peut maintenant inviter une autre personne depuis son profil. Le destinataire reçoit l'invitation par e-mail et peut l'accepter pour accéder au compte. + +Des permissions détaillées déterminent précisément ce que chaque sous-utilisateur peut faire. Il peut, par exemple, accéder à certains services ou payer des factures sans obtenir un accès illimité au compte principal. + +Cette fonctionnalité majeure est idéale pour les équipes, les entreprises et les clients qui souhaitent partager leurs responsabilités techniques ou administratives en toute sécurité. + +## Les avoirs pour mieux gérer les remboursements et le solde + +La version 2.16 introduit les **avoirs**, une autre fonctionnalité majeure pour les équipes chargées de la facturation. Un administrateur peut créer un avoir pour un client, enregistrer correctement un remboursement et créditer le montant correspondant sur son solde. + +![Liste des avoirs d'un client dans le panel d'administration](/img/blog/v2.16/customers_credit_notes.png) + +Cette nouveauté garantit un meilleur suivi comptable et offre un processus bien plus clair que l'ajustement manuel du solde. + +## Un profil entièrement repensé + +Le profil est désormais organisé en onglets clairs afin de retrouver facilement les informations personnelles, les paramètres de sécurité, les utilisateurs invités et les outils de confidentialité. Les clients, les administrateurs et les membres du staff peuvent également ajouter un avatar à leur profil. + +![Nouvelle interface du profil ClientXCMS organisée en onglets](/img/blog/v2.16/new_profile_interface.png) + +Cette refonte ne se limite pas à l'aspect visuel : elle fournit une base plus lisible à toutes les nouvelles fonctionnalités de gestion du compte introduites dans la version 2.16. + +## Une sécurité renforcée pour tous les comptes + +Lorsque l'administrateur l'active, chaque utilisateur peut protéger son compte avec une authentification à deux facteurs par **e-mail ou SMS**. ClientXCMS prend en charge **OVH SMS et Twilio** comme fournisseurs SMS. + +Les appareils de confiance rendent cette protection plus fluide : un appareil reconnu peut être mémorisé et géré directement depuis l'espace de sécurité. Les questions de sécurité sont maintenant traduisibles afin de proposer une protection cohérente dans la langue de chaque utilisateur. + +![Liste des appareils de confiance dans les paramètres de sécurité du compte]() + +Toutes ces protections sont également disponibles pour les comptes des **administrateurs et des membres du staff**, dont les accès aux informations sensibles nécessitent une sécurité renforcée. + +## Pleinement compatible avec le RGPD + +Le respect de la réglementation sur les données personnelles est une priorité pour nous. ClientXCMS permet désormais à chaque utilisateur de : + +- exporter ses données personnelles ; +- supprimer son compte ; +- consulter les informations associées à son profil. + +![Outils du profil pour exporter ses données personnelles et supprimer son compte](/img/blog/v2.16/export_profile.png) + +Les administrateurs peuvent aussi supprimer automatiquement les comptes inactifs depuis **trois ans par défaut**. Cette durée est configurable depuis **Panel administrateur > Paramètres > Paramètres de sécurité**, afin que chaque organisation puisse adapter sa politique à ses obligations légales. + +Ces outils rendent ClientXCMS pleinement compatible avec le RGPD et aident les administrateurs à appliquer une politique claire de conservation des données. + +## Retrouver plus rapidement les factures et les données + +Les factures peuvent maintenant être filtrées par date de paiement et par date d'échéance. Le même principe est disponible pour les dates d'inscription des clients, de création des services, des tickets et d'autres éléments. + +![Filtres des factures par date de paiement et date d'échéance](/img/blog/v2.16/filter_invoices.png) + +Que vous recherchiez une facture sur une période comptable précise ou les clients inscrits pendant une campagne, les informations utiles ne sont désormais plus qu'à quelques clics. + +## Choisir les pays proposés à l'inscription + +Depuis les paramètres des langues, l'administrateur peut sélectionner les pays disponibles dans le formulaire d'inscription. La liste reste ainsi pertinente pour les marchés couverts et devient plus simple à parcourir pour les clients. + +![Sélection des pays proposés dans le formulaire d'inscription](/img/blog/v2.16/choice_countries.png) + +Par défaut, les pays autorisés sont : **France, Belgique, Suisse, Luxembourg, Canada, États-Unis, Royaume-Uni, Allemagne, Espagne, Italie, Portugal, Pays-Bas, Irlande, Autriche, Maroc, Algérie, Tunisie, Sénégal, Côte d'Ivoire et Cameroun**. + +## Appliquer automatiquement un code promotionnel depuis votre site + +Un code promotionnel peut désormais être transmis dans l'URL de configuration d'un produit : + +```text +https://votre-espace-client.example/store/basket/config/2?coupon=NEWGEN +``` + +![Paramètre d'un produit permettant l'application automatique d'un code promotionnel](/img/blog/v2.16/add_product_coupon.png) + +Le code est alors automatiquement appliqué pendant la configuration. Cette option est particulièrement utile pour relier une campagne promotionnelle ou votre site vitrine directement à une offre prête à commander. + +## Des règles d'annulation flexibles + +Chaque raison d'annulation peut désormais déclencher l'un des trois comportements suivants : + +- annuler immédiatement le service ; +- annuler le service à l'expiration de la période en cours ; +- rediriger le client vers la création d'un ticket pour un traitement manuel. + +![Configuration d'une raison d'annulation avec les différentes règles disponibles](/img/blog/v2.16/cancellation_rules.png) + +Pour les annulations manuelles, le paramètre `cancellation_message` permet de préremplir le ticket avec des instructions ou les informations nécessaires à votre équipe. + +![Message prédéfini du ticket créé pour une demande d'annulation manuelle](/img/blog/v2.16/cancellation_message.png) + +## Des groupes de produits plus visibles + +Les groupes de produits peuvent maintenant afficher des badges afin de mettre en avant une catégorie populaire, nouvelle ou recommandée dans la boutique. + +![Configuration du badge d'un groupe de produits](/img/blog/v2.16/store_group_badge.png) + +## Un accès Plesk complet pour les offres Cloud + +Les clients des offres Cloud ClientXCMS peuvent désormais activer un accès **Plesk complet** et gérer leur hébergement, leurs fichiers et leurs bases de données. Pour l'activer, rendez-vous dans **clientxcms.com > Services > Cloud > Activer Plesk**. + +:::warning +L'activation de Plesk bloque la modification des extensions du service Cloud. Vérifiez les extensions sélectionnées avant de l'activer. +::: + +## Gestion des domaines : recherche de fournisseurs pour les tests + +Nous avons également développé une fonctionnalité de gestion des domaines, mais elle **n'est pas encore disponible officiellement**. Avant de l'ouvrir à tous, nous souhaitons la tester avec davantage de fournisseurs de domaines et valider les intégrations dans des conditions réelles. + +Si vous êtes un fournisseur ou souhaitez nous aider à tester cette fonctionnalité, contactez-nous. Vos retours nous aideront à préparer une sortie officielle fiable. + +## Un nouvel espace pour vos idées + +L'ancienne plateforme `ideas.clientxcms.com` est remplacée par [clientxcms.com/ideas](https://clientxcms.com/ideas). Les suggestions et les demandes de fonctionnalités sont maintenant gérées directement dans ClientXCMS grâce au nouvel **addon Idea**, pour offrir une expérience plus cohérente à toute la communauté. + +![Interface de l'addon Idea pour consulter et proposer des suggestions](https://cdn.clientxcms.com/ressources/addons/idea/front_index.png) + +L'addon Idea est disponible **gratuitement** sur la [marketplace ClientXCMS](https://clientxcms.com/resources/idea). Vous pouvez l'installer sur votre propre site ClientXCMS afin de recueillir, organiser et suivre les suggestions de vos clients. + +## Et bien plus encore + +La version 2.16 apporte également les SLA pour les départements de support, la récupération de l'état des services, une meilleure isolation des extensions, des améliorations d'accessibilité, de nouvelles pages d'erreur et de nombreux correctifs de facturation et de stabilité. + +Consultez le [changelog complet de ClientXCMS 2.16](/fr/blog/nouvelle-version-2.16) pour découvrir tous les détails techniques. diff --git a/i18n/fr/docusaurus-plugin-content-blog/2026-07-14-nouvelle-version-2.16.md b/i18n/fr/docusaurus-plugin-content-blog/2026-07-14-nouvelle-version-2.16.md new file mode 100644 index 0000000..18a0be3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-blog/2026-07-14-nouvelle-version-2.16.md @@ -0,0 +1,63 @@ +--- +slug: nouvelle-version-2.16 +title: Nouvelle version 2.16 +authors: [martindev] +tags: [release, security, privacy, billing, v2.16] +translated: true +--- + +# v2.16 + +Nous sommes heureux d'annoncer la sortie de **ClientXCMS 2.16** ! Cette mise à jour majeure renforce la sécurité et la confidentialité des comptes, tout en introduisant les accès délégués, les avoirs, des filtres avancés et de nombreuses améliorations dans les espaces client et d'administration. + +![ClientXCMS version 2.16](/img/blog/versions/v2.16.png) + + + +Retrouvez les principales nouveautés en images dans notre [présentation complète de ClientXCMS 2.16](/fr/blog/clientxcms-v2-16-securite-rgpd-facturation). + +### Ajouts + +- ➕ Ajout des invitations et des accès délégués. Les sous-utilisateurs invités peuvent accéder aux services et payer les factures selon les permissions qui leur sont accordées. +- ➕ Ajout des avoirs pour enregistrer les remboursements et créditer facilement le solde d'un client. +- ➕ Ajout des avatars de profil pour les clients, les administrateurs et les membres du staff. +- ➕ Ajout de l'authentification multifacteur (MFA) par SMS, avec prise en charge des fournisseurs Twilio et OVH SMS. +- ➕ Ajout de la gestion des appareils de confiance afin d'éviter une nouvelle vérification sur les appareils reconnus. +- ➕ Ajout de l'export des données personnelles et de la suppression du compte pour répondre aux exigences du RGPD. +- ➕ Ajout de la suppression automatique des comptes inactifs après une durée configurable (trois ans par défaut). +- ➕ Ajout de la traduction des questions de sécurité. +- ➕ Ajout d'une liste de pays autorisés à l'inscription, configurable depuis les paramètres des langues. +- ➕ Ajout de filtres par date pour les factures (paiement et échéance), les clients (inscription), les services (création), les tickets et d'autres listes. +- ➕ Ajout des accords de niveau de service (SLA) pour les départements de support, avec suivi et notifications des tickets à traiter. +- ➕ Ajout d'un comportement configurable pour chaque raison d'annulation : annulation immédiate, annulation à l'expiration du service ou traitement manuel par ticket avec un message prédéfini. +- ➕ Ajout de l'application automatique d'un code promotionnel depuis l'URL de configuration d'un produit grâce au paramètre `coupon`. +- ➕ Ajout de la possibilité d'associer des produits et des groupes à des sous-domaines. +- ➕ Ajout de badges aux groupes de produits pour rendre la boutique plus lisible. +- ➕ Ajout de la récupération périodique de l'état des services lors des livraisons et des modifications. +- ➕ Ajout d'un chargeur isolé pour les extensions afin qu'une extension défaillante ne puisse plus faire planter toute l'application. +- ➕ Développement d'une première version de la gestion des domaines. Elle n'est pas encore disponible officiellement : nous recherchons des fournisseurs souhaitant nous aider à tester les intégrations. + +### Modifications + +- 🔄 Refonte complète du profil client avec une interface organisée en onglets. +- 🔄 Refonte de la présentation des groupes de produits avec l'ajout de badges visuels. +- 🔄 Amélioration de la création des factures, du stockage des séquences de numérotation, des renouvellements, des remboursements et des avoirs. +- 🔄 Refonte des pages d'erreur 403 et 500 pour fournir des informations plus claires aux utilisateurs. +- 🔄 Amélioration de l'accessibilité de l'interface, notamment pour la navigation, la lisibilité et les interactions. +- 🔄 Amélioration de l'expérience utilisateur sur plusieurs écrans client et administrateur. +- 🔄 Les clients des offres Cloud ClientXCMS peuvent désormais activer un accès Plesk complet depuis **clientxcms.com > Services > Cloud > Activer Plesk** afin de gérer leur hébergement, leurs fichiers et leurs bases de données. L'activation de Plesk bloque ensuite la modification des extensions. +- 🔄 Remplacement de `ideas.clientxcms.com` par [clientxcms.com/ideas](https://clientxcms.com/ideas), désormais propulsé par le nouvel [addon Idea disponible gratuitement sur la marketplace](https://clientxcms.com/resources/idea). + +### Corrections + +- 🔧 Correction de plusieurs problèmes de droits d'accès et de validation des données. +- 🔧 Correction de cas limites dans les processus de facturation et de gestion des services. +- 🔧 Correction de plusieurs problèmes de stabilité dans les interfaces client et administrateur. +- 🔧 Suppression des doublons de factures de renouvellement. + +### Sécurité + +- 🔒 Ajout de la possibilité d'imposer l'authentification à deux facteurs par e-mail à tous les utilisateurs. +- 🔒 Ajout de l'authentification à deux facteurs par e-mail ou par SMS. +- 🔒 Ajout des appareils de confiance et renforcement des processus sensibles liés à l'authentification, aux invitations et aux points d'accès publics. +- 🔒 Mise à disposition des mêmes protections pour les comptes administrateurs et les membres du staff. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/extensions.md b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/extensions.md index 9f7fc3f..8a5a4d9 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/extensions.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/extensions.md @@ -29,14 +29,6 @@ Les extensions chargées peuvent s'activer ou se désactiver dans la page Extens ## Choisir entre un module et un addon Pour faire simple, les modules sont utilisés comme livraison de service par exemple pour implémenter un panel de gestion comme Virtualizor, Plesk, ou Pterodactyl. Les addons sont utilisés pour ajouter des fonctionnalités supplémentaires comme des méthodes de paiement, logique, ou des pages personnalisées. -## Demande d'ajout au marketplace +## Publier sur le marketplace -Vous pouvez faire la demande pour être développeur sur [https://clientxcms.com/client/resources](https://clientxcms.com/client/ressources) et ainsi proposer vos extensions à la communauté. -![Capture d’écran création d'une extension](/img/blog/lancement-opensource/marketplace2.png) - -Désormais, chaque développeur peut : -- Créer ses propres extensions -- Publier et partager ses créations via [clientxcms.com/client/ressources](https://clientxcms.com/client/ressources) -- Explorer et installer facilement les extensions partagées par la communauté - -Cette interface intuitive a été pensée pour simplifier la gestion et encourager l’écosystème collaboratif autour de CLIENTXCMS. +Vous pouvez distribuer votre addon ou votre module à la communauté CLIENTXCMS sous forme de ressource gratuite ou payante. Suivez le [guide de publication sur le marketplace](../publish-resource) pour activer votre espace développeur et préparer la fiche, puis consultez [Publier un addon ou un module](./publish-marketplace) pour les règles concernant l'UUID, les Service Providers, le dépôt GitHub, l'archive et les mises à jour. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/publish-marketplace.md b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/publish-marketplace.md new file mode 100644 index 0000000..f8deebb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/extensions/publish-marketplace.md @@ -0,0 +1,82 @@ +--- +sidebar_position: 5 +--- + +# Publier un addon ou un module + +Suivez d'abord le [guide commun de publication sur le marketplace](../publish-resource), puis revenez sur cette page. + +CLIENTXCMS propose deux types d'extensions : + +- un **module** livre et gère un service avec un fournisseur comme Pterodactyl, Proxmox ou Plesk ; +- un **addon** ajoute une fonctionnalité telle qu'un moyen de paiement, une logique métier ou des pages personnalisées. + +Si l'extension n'existe pas encore, commencez par [Créer une extension](./create). + +## Identifiant et type d'extension + +Choisissez le même type dans le marketplace que dans les métadonnées de votre extension. L'UUID marketplace doit être strictement identique dans : + +- la ressource marketplace ; +- le nom du dossier, `modules/` ou `addons/` ; +- la valeur `uuid` de `module.json` ou `addon.json`. + +Utilisez un UUID en minuscules compatible avec une URL et conservez-le entre les versions. Une différence empêche CLIENTXCMS d'identifier correctement le paquet. + +## Service Providers + +Dans **Service providers**, déclarez chaque Service Provider Laravel que CLIENTXCMS doit charger pour l'addon ou le module. Indiquez son namespace complet, par exemple : + +```text +App\Addons\AnnouncementBar\AnnouncementBarServiceProvider +``` + +Utilisez **Ajouter un provider** si l'extension en nécessite plusieurs. Chaque classe déclarée doit exister dans l'archive soumise et respecter l'autoloading Composer ainsi que la casse des namespaces PHP. + +Le champ **Tarification** définit le prix de vente de l'extension. La tarification payante est réservée aux **développeurs certifiés**. Vous devez demander votre certification et certifier que vous pouvez émettre des factures avant que CLIENTXCMS puisse vous reverser vos gains. Vérifiez votre certification et le montant avant de soumettre la ressource pour validation. + +![Service Providers et tarification d'une extension](/img/next_gen/developpers/marketplace/mettre-a-jour-extension.png) + +## Préparer le dépôt GitHub + +Utilisez un dépôt GitHub public pour rendre les sources vérifiables et conserver l'historique des versions. Le [module Pterodactyl officiel de CLIENTXCMS](https://github.com/ClientXCMS/module-pterodactyl) sert de référence : sa branche `master` contient `modules/pterodactyl`, un README bilingue et des releases GitHub versionnées. + +Structure recommandée pour un module : + +```text +module-example/ +├── modules/ +│ └── example/ +│ ├── lang/ +│ ├── database/ +│ ├── routes/ +│ ├── src/ +│ ├── views/ +│ ├── module.json +│ └── composer.json +├── README.md +├── LICENSE +└── .gitignore +``` + +Pour un addon, appliquez le même principe avec `addons/` et `addon.json`. + +Le README doit contenir le nom, l'objectif, les fonctionnalités, les prérequis, les instructions d'installation et de configuration, le lien de support, la documentation et des images représentatives. Indiquez clairement la compatibilité et les changements incompatibles. + +:::warning Ne publiez jamais de secrets +Ne versionnez pas les fichiers `.env`, clés API, accès aux panels, données clients, journaux, caches, dépendances locales, configuration de l'IDE ou fichiers copiés depuis une installation de production. Fournissez un `.env.example` ou des valeurs fictives documentées lorsqu'un exemple est nécessaire. +::: + +## Publier une version de l'extension + +Les versions du marketplace sont créées depuis l'interface développeur CLIENTXCMS et non en créant une nouvelle fiche. Suivez [Créer une version](../publish-resource#créer-une-version) pour sélectionner une release GitHub existante ou demander à CLIENTXCMS de la créer dynamiquement à partir du journal des modifications. + +Avant d'ouvrir le formulaire de version : + +1. Actualisez la version dans `module.json` ou `addon.json` et alignez-la sur la version saisie dans CLIENTXCMS. +2. Testez l'installation, l'activation, les migrations, la configuration et la suppression sur une installation propre et compatible. +3. Envoyez les sources finales sur GitHub et vérifiez que le paquet conserve le chemin attendu `modules/` ou `addons/`. +4. Excluez `.git`, les caches de développement, les tests inutiles à l'exécution, les dépendances locales, les secrets et les fichiers propres à une installation. +5. Ouvrez la ressource existante dans CLIENTXCMS, ajoutez la version, associez ou créez dynamiquement sa release GitHub, complétez le journal des modifications par catégorie, puis publiez-la. + +Ne modifiez pas une version déjà publiée avec un code différent. Publiez une nouvelle version depuis CLIENTXCMS afin que les utilisateurs puissent identifier clairement les versions. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/publish-resource.md b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/publish-resource.md new file mode 100644 index 0000000..0d2307f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/publish-resource.md @@ -0,0 +1,90 @@ +--- +sidebar_position: 3 +--- + +# Publier une ressource sur le marketplace + +Le programme développeur CLIENTXCMS permet aux créateurs de publier des **thèmes**, **modules** et **addons** pour la communauté. Une ressource peut être gratuite ou payante. En tant que développeur, vous devez la maintenir, documenter son fonctionnement, accompagner ses utilisateurs et publier des mises à jour compatibles. + +Ce guide présente le parcours commun de publication. Consultez ensuite les instructions propres aux [addons et modules](./extensions/publish-marketplace) ou aux [thèmes](./themes/publish-marketplace) avant d'envoyer votre ressource. + +## Activer votre espace développeur + +Connectez-vous puis ouvrez l'[espace des ressources CLIENTXCMS](https://clientxcms.com/client/ressources). Si votre espace développeur n'est pas encore actif, remplissez le formulaire d'inscription : + +- **Nom du créateur** : nom public affiché sur vos ressources marketplace ; +- **URL de votre avatar** : URL publique facultative de votre image de profil ; +- **Contact du créateur** : adresse e-mail ou identifiant Discord utilisable par les clients ; +- **Règlement du marketplace** : lisez et acceptez le règlement avant d'activer votre espace. + +Choisissez des informations publiques durables et gardez votre moyen de contact à jour. + +![Formulaire d'inscription au programme développeur](/img/next_gen/developpers/marketplace/rejoindre-developpeur.png) + +## Espace développeur + +L'espace développeur centralise vos ressources publiées et votre profil. Pour chaque ressource, il affiche le nombre de téléchargements, les vues et son statut actuel. Vous pouvez également consulter votre certification, actualiser votre profil public, ouvrir une ressource existante ou en créer une nouvelle. + +![Espace développeur CLIENTXCMS](/img/next_gen/developpers/marketplace/espace-developpeur.png) + +### Certification et ressources payantes + +Vous devez être **développeur certifié** pour définir un prix et vendre une ressource. Faites la demande de certification depuis votre espace développeur et certifiez que vous êtes en mesure d'émettre des factures afin que CLIENTXCMS puisse vous reverser vos gains. Effectuez cette démarche avant de soumettre un thème, module ou addon payant. + +Une ressource gratuite ne nécessite pas de renseigner un prix de vente. + +## Créer une ressource + +Sélectionnez **Créer** depuis l'espace développeur, puis renseignez les champs communs. + +### Informations de base + +| Champ | Description | +| --- | --- | +| **Type de ressource** | Sélectionnez Thème, Module ou Addon. Ce choix détermine les champs techniques affichés ensuite. | +| **Nom de la ressource** | Nom public et facilement identifiable du produit. | +| **Identifiant unique (UUID)** | Identifiant stable en minuscules utilisé dans l'URL du marketplace et par la ressource. Ne le modifiez pas après publication. | +| **Groupe** | Catégorie du marketplace correspondant le mieux à la ressource. | +| **Tags** | Fonctionnalités pertinentes, par exemple utilitaire, sécurité, performance, intégration ou contenu inclus. Les tags restent soumis à la validation de l'administrateur. | + +L'UUID doit correspondre à l'identifiant employé par le code et son dossier d'installation. Consultez le guide spécialisé pour connaître la convention exacte de votre type de ressource. + +![Informations de base d'une ressource marketplace](/img/next_gen/developpers/marketplace/soumettre-ressource-informations.png) + +### Contenu et média + +- **Description courte** : une phrase claire résumant la ressource et son principal bénéfice. +- **Description** : présentez le besoin couvert, les fonctionnalités, les prérequis, l'installation, la configuration et les conditions de support. Utilisez des titres, listes, liens et captures pour faciliter la lecture. +- **Miniature** : importez une image JPG, PNG ou JPEG claire et reconnaissable au format d'une carte marketplace. + +Promettez uniquement les fonctionnalités présentes dans la version soumise. N'insérez jamais d'identifiants, de clés API ou d'autres secrets dans la description ou les captures. + +![Champs de description et de miniature](/img/next_gen/developpers/marketplace/soumettre-ressource-contenu.png) + +## Soumettre et maintenir votre ressource + +Vérifiez les métadonnées, le contenu, l'image, les champs techniques et le prix, puis sélectionnez **Soumettre la ressource pour validation**. Son statut est ensuite visible depuis votre tableau de bord. + +Après la publication : + +1. Maintenez à jour la description marketplace, la compatibilité, la documentation et le contact de support. +2. Testez chaque archive sur une installation CLIENTXCMS propre et compatible. +3. Créez une nouvelle version depuis l'interface développeur CLIENTXCMS pour chaque mise à jour et fournissez des notes de version utiles. +4. Mettez à jour la ressource marketplace existante au lieu de créer une fiche en double. +5. Ne réutilisez jamais un numéro de version pour un code différent. + +## Créer une version + +La création et la publication des versions s'effectuent directement depuis l'interface développeur CLIENTXCMS. Ouvrez la ressource existante, sélectionnez l'option permettant d'ajouter une version, puis renseignez : + +- **Version de l'extension** : identifiant technique de la version, par exemple `v1.1` ; +- **État** : état de la version, par exemple stable ; +- **Nom de la version** : nom public affiché pour cette version ; +- **Release** : sélectionnez une release GitHub existante ou choisissez **Créer une release dynamiquement** afin que l'interface publie le changelog sur GitHub ; +- **Journal des modifications** : ajoutez les entrées dans Ajout, Suppression, Modification, Correction, Autre ou Sécurité. + +Vérifiez le journal, puis sélectionnez **Publier la version**. Ne créez pas une nouvelle ressource marketplace pour une mise à jour et ne réutilisez pas un numéro de version pour un code différent. + +![Création d'une version depuis l'interface développeur](/img/next_gen/developpers/marketplace/creer-version.png) + +GitHub reste l'emplacement recommandé pour héberger et maintenir les sources, mais les versions du marketplace sont gérées depuis l'interface CLIENTXCMS. Le [guide des extensions](./extensions/publish-marketplace#préparer-le-dépôt-github) et le [guide des thèmes](./themes/publish-marketplace#préparer-le-dépôt-github) décrivent les structures de dépôt attendues. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/publish-marketplace.md b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/publish-marketplace.md new file mode 100644 index 0000000..aa065ff --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/publish-marketplace.md @@ -0,0 +1,94 @@ +--- +sidebar_position: 9 +--- + +# Publier un thème + +Suivez d'abord le [guide commun de publication sur le marketplace](../publish-resource), puis revenez sur cette page. Si votre thème n'existe pas encore, commencez par [Créer un thème](./create-theme). + +## Identifiant et informations marketplace + +L'UUID marketplace doit correspondre au dossier du thème et à la valeur `uuid` de `theme.json` : + +```text +resources/themes//theme.json +``` + +Conservez cet identifiant en minuscules, compatible avec une URL et identique entre les versions. Présentez dans la description marketplace les pages prises en charge, les options de personnalisation, les modes disponibles, les prérequis, la compatibilité, la documentation et les conditions de support. + +Utilisez deux images complémentaires : + +- importez une **miniature** claire pour la carte de la ressource sur le marketplace ; +- placez `screenshot.png` à la racine de `resources/themes/` pour l'aperçu du thème dans CLIENTXCMS. + +Les images doivent représenter la version distribuée. Le champ **Tarification** définit le prix de vente affiché pour le thème. La tarification payante est réservée aux **développeurs certifiés** : demandez votre certification et certifiez que vous pouvez émettre des factures afin que CLIENTXCMS puisse vous reverser vos gains. + +## Fournir une démonstration + +Une démonstration publique aide les clients à vérifier le design, le responsive, la navigation, la boutique, l'espace client et les possibilités de personnalisation avant l'achat. + +Définissez une URL HTTPS stable dans `theme.json` : + +```json +{ + "uuid": "example", + "name": "Example", + "version": "1.0.0", + "demo": "https://demo.example.com" +} +``` + +La démonstration doit : + +- exécuter la version soumise du thème sur une installation CLIENTXCMS compatible ; +- contenir des produits, pages, menus et sections représentatifs ; +- fonctionner sur ordinateur et mobile sans lien cassé ni ressource manquante ; +- n'exposer aucun accès administrateur, identifiant, donnée client ou réglage sensible ; +- utiliser des données de test pouvant être réinitialisées sans risque ; +- rester disponible tant que la ressource marketplace est active. + +Indiquez dans la description marketplace toute fonctionnalité volontairement indisponible ou action limitée sur la démonstration. + +## Préparer le dépôt GitHub + +Utilisez un dépôt public avec la structure recommandée suivante : + +```text +theme-example/ +├── resources/ +│ └── themes/ +│ └── example/ +│ ├── assets/ +│ ├── config/ +│ ├── database/ +│ ├── lang/ +│ ├── views/ +│ ├── menus.json +│ ├── screenshot.png +│ └── theme.json +├── screenshots/ +├── README.md +├── LICENSE +└── .gitignore +``` + +Le README doit documenter les fonctionnalités, les versions CLIENTXCMS compatibles, les prérequis, l'installation, la compilation des ressources, la configuration, l'URL de démonstration, les captures, le support et la licence. Conservez les captures de développement hors du dossier installable du thème si elles ne sont pas nécessaires à son fonctionnement. + +:::warning Ne publiez jamais de secrets +Ne versionnez pas `.env`, les identifiants, clés API, données clients, journaux, caches, `.git`, `node_modules`, fichiers générés pour le développement ou réglages copiés depuis une installation en production. +::: + +## Publier une version du thème + +Les versions du marketplace sont créées directement depuis l'interface développeur CLIENTXCMS. Suivez [Créer une version](../publish-resource#créer-une-version) pour sélectionner une release GitHub existante ou la créer dynamiquement à partir du journal des modifications. + +Avant d'ouvrir le formulaire de version : + +1. Actualisez la version dans `theme.json` et alignez-la sur la version saisie dans CLIENTXCMS, par exemple `v1.2.0`. +2. Compilez les ressources de production et testez le thème sur une installation propre et compatible. +3. Vérifiez la démonstration publique et mettez-la à jour avec la version soumise. +4. Envoyez les sources finales sur GitHub et vérifiez que le paquet conserve `resources/themes/`. +5. Excluez `.git`, les caches, les dépendances locales réservées aux sources, `.env`, les secrets et les fichiers propres à une installation. +6. Ouvrez la ressource de thème existante dans CLIENTXCMS, ajoutez la version, associez ou créez dynamiquement sa release GitHub, complétez le journal des modifications par catégorie, puis publiez-la. + +Ne modifiez jamais une version déjà publiée avec des fichiers différents. Un nouveau code nécessite une nouvelle version créée et publiée depuis CLIENTXCMS. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/themes.md b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/themes.md index 80dc21e..26ece9c 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/themes.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/developpers/themes/themes.md @@ -4,6 +4,8 @@ sidebar_position: 1 # Thèmes CLIENTXCMS propose un système de thèmes pour personnaliser l'apparence de votre site web. Les thèmes sont des dossiers contenant des fichiers de configuration et des fichiers de templates. Les thèmes sont disponible partir de l'interface d'administration depuis `Paramètres`> `Themes`> `Paramètre du thème`. +Pour distribuer un thème à la communauté, suivez le [guide de publication sur le marketplace](../publish-resource), puis consultez [Publier un thème](./publish-marketplace) pour les règles concernant la démonstration, le dépôt GitHub, l'archive et les mises à jour. + Vous pouvez activer ou désactiver un thème en cliquant sur le bouton `Activer` ou `Désactiver` correspondant au thème. ![Thèmes](/img/next_gen/developpers/themes/themes.png) @@ -18,4 +20,3 @@ npm run build - diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/extensions/addons/idea.md b/i18n/fr/docusaurus-plugin-content-docs/current/extensions/addons/idea.md new file mode 100644 index 0000000..06083e6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/current/extensions/addons/idea.md @@ -0,0 +1,94 @@ +# Idea + +L'addon **Idea** ajoute un portail de suggestions et de retours directement dans l'espace client de CLIENTXCMS. Vos clients peuvent proposer des idées, voter pour les améliorations qu'ils jugent prioritaires, discuter des propositions et suivre leur avancement. + +Il offre une expérience comparable à une plateforme dédiée telle que Fider, tout en restant entièrement intégré à CLIENTXCMS. + +:::info +L'addon **Idea** doit être installé et activé sur votre instance CLIENTXCMS pour utiliser ces fonctionnalités. +::: + +## Espace client + +La page des idées donne aux clients une vue d'ensemble des suggestions envoyées par la communauté. Chaque entrée affiche son nombre de votes, son statut, ses tags, son nombre de commentaires et son auteur. + +La barre latérale permet aux clients de : + +- rechercher une idée par mot-clé ; +- trier la liste, par exemple par popularité ; +- filtrer les idées par statut ou par tag ; +- proposer une nouvelle idée avec un titre, un contenu et un ou plusieurs tags. + +Les statuts disponibles sont **Ouvert**, **Planifié**, **En cours**, **Terminé**, **Refusé** et **Dupliqué**. Ils rendent l'avancement de chaque suggestion explicite et donnent aux clients de la visibilité sur votre feuille de route. + +![Portail des idées dans l'espace client](/img/next_gen/extensions/addons/idea/front_index.png) + +### Consulter et suivre une idée + +La page de détail affiche la suggestion complète, son statut actuel, ses tags, son auteur et son nombre de votes. + +Depuis cette page, un client peut : + +- voter pour l'idée ou retirer son vote ; +- suivre l'idée ou ne plus la suivre ; +- consulter la discussion et ajouter des commentaires ; +- lire une réponse officielle publiée par votre équipe. + +Les réponses officielles sont mises en évidence afin de distinguer facilement les communications de l'équipe d'administration des commentaires de la communauté. + +![Détail d'une idée, vote et réponse officielle](/img/next_gen/extensions/addons/idea/front_show.png) + +## Administration + +La gestion de l'addon est accessible depuis `Espace d'administration` → `Paramètres` → `Idées`. + +L'espace d'administration propose trois sections : + +- **Idées** : gérer les suggestions, leurs statuts, leurs tags et les réponses officielles ; +- **Commentaires des idées** : modérer les commentaires publiés sur les idées ; +- **Tags des idées** : organiser les suggestions avec des tags publics ou internes. + +![Sections d'administration de l'addon Idea](/img/next_gen/extensions/addons/idea/admin_settings.png) + +### Gérer les idées + +La section **Idées** répertorie les suggestions envoyées depuis le portail. Les administrateurs peuvent effectuer une recherche par mot-clé et filtrer la liste par statut ou par tag. Le tableau indique également le titre, le statut, le nombre de votes et le nombre de commentaires de chaque idée. + +Depuis cette section, les administrateurs peuvent créer ou gérer les idées, modifier leur statut et leurs tags, puis publier une réponse officielle pour communiquer une décision ou une avancée. + +![Gestion des idées dans l'administration](/img/next_gen/extensions/addons/idea/admin_posts.png) + +### Modérer les commentaires + +La section **Commentaires des idées** centralise les commentaires publiés par les clients. Chaque entrée précise l'idée concernée, le client, la date de publication et le contenu du commentaire. + +Les administrateurs peuvent rechercher les commentaires, appliquer le filtre disponible et supprimer les contributions inappropriées ou obsolètes. + +![Modération des commentaires des idées](/img/next_gen/extensions/addons/idea/admin_comments.png) + +### Gérer les tags + +Les tags permettent de classer les idées et de faciliter la navigation dans le portail. Pour chaque tag, vous pouvez configurer : + +- **Nom** : le libellé affiché dans l'interface ; +- **Slug** : l'identifiant du tag adapté aux URL ; +- **Couleur** : la couleur hexadécimale utilisée pour son badge ; +- **Public** : détermine si les clients peuvent voir et utiliser le tag. Désactivez cette option pour conserver un tag interne. + +La même page permet de créer, modifier, enregistrer ou supprimer des tags. + +![Création et gestion des tags des idées](/img/next_gen/extensions/addons/idea/admin_tags.png) + +## Flux de travail recommandé + +1. Créez des tags correspondant à vos produits ou catégories de retours. +2. Examinez les nouvelles idées et attribuez-leur les tags et le statut appropriés. +3. Modérez les échanges entre clients lorsque cela est nécessaire. +4. Utilisez les réponses officielles pour confirmer la prise en compte d'une suggestion ou expliquer votre décision. +5. Actualisez le statut à mesure que l'idée progresse dans votre feuille de route. + +Ce fonctionnement informe vos clients tout en aidant votre équipe à identifier les améliorations les plus demandées grâce aux votes et aux discussions. + +## Découvrir Idea en action + +L'addon Idea est utilisé par CLIENTXCMS pour son propre portail public de suggestions. Rendez-vous sur [clientxcms.com/ideas](https://clientxcms.com/ideas) pour découvrir l'extension en conditions réelles, voter pour les prochaines améliorations et voir comment elle crée un lien direct et transparent avec la communauté. diff --git a/package.json b/package.json index ba376be..a911a67 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,11 @@ "prod": "docusaurus build && docusaurus serve" }, "dependencies": { - "@docusaurus/core": "^3.10.0", - "@docusaurus/preset-classic": "^3.10.0", + "@docusaurus/core": "^3.10.2", + "@docusaurus/preset-classic": "^3.10.1", "@easyops-cn/docusaurus-search-local": "^0.55.0", "@mdx-js/react": "^3.1.1", - "brace-expansion": "5.0.5", + "brace-expansion": "^5.0.7", "clsx": "^2.0.0", "cross-spawn": "7.0.6", "docusaurus-plugin-dotenv": "^1.0.1", @@ -31,10 +31,10 @@ "redocusaurus": "^2.5.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.5.2", - "@docusaurus/tsconfig": "^3.9.2", - "@docusaurus/types": "^3.5.2", - "typescript": "~6.0.2" + "@docusaurus/module-type-aliases": "^3.10.1", + "@docusaurus/tsconfig": "^3.10.2", + "@docusaurus/types": "^3.10.2", + "typescript": "~7.0.2" }, "browserslist": { "production": [ diff --git a/static/img/blog/v2.16/add_product_coupon.png b/static/img/blog/v2.16/add_product_coupon.png new file mode 100644 index 0000000..4110d81 Binary files /dev/null and b/static/img/blog/v2.16/add_product_coupon.png differ diff --git a/static/img/blog/v2.16/cancellation_message.png b/static/img/blog/v2.16/cancellation_message.png new file mode 100644 index 0000000..4d8e8fe Binary files /dev/null and b/static/img/blog/v2.16/cancellation_message.png differ diff --git a/static/img/blog/v2.16/cancellation_rules.png b/static/img/blog/v2.16/cancellation_rules.png new file mode 100644 index 0000000..cfa0066 Binary files /dev/null and b/static/img/blog/v2.16/cancellation_rules.png differ diff --git a/static/img/blog/v2.16/choice_countries.png b/static/img/blog/v2.16/choice_countries.png new file mode 100644 index 0000000..0a882a9 Binary files /dev/null and b/static/img/blog/v2.16/choice_countries.png differ diff --git a/static/img/blog/v2.16/customers_credit_notes.png b/static/img/blog/v2.16/customers_credit_notes.png new file mode 100644 index 0000000..0ca2114 Binary files /dev/null and b/static/img/blog/v2.16/customers_credit_notes.png differ diff --git a/static/img/blog/v2.16/device securities.png b/static/img/blog/v2.16/device securities.png new file mode 100644 index 0000000..649f988 Binary files /dev/null and b/static/img/blog/v2.16/device securities.png differ diff --git a/static/img/blog/v2.16/export_profile.png b/static/img/blog/v2.16/export_profile.png new file mode 100644 index 0000000..e6f771b Binary files /dev/null and b/static/img/blog/v2.16/export_profile.png differ diff --git a/static/img/blog/v2.16/filter_invoices.png b/static/img/blog/v2.16/filter_invoices.png new file mode 100644 index 0000000..157741e Binary files /dev/null and b/static/img/blog/v2.16/filter_invoices.png differ diff --git a/static/img/blog/v2.16/invite_users.png b/static/img/blog/v2.16/invite_users.png new file mode 100644 index 0000000..652631e Binary files /dev/null and b/static/img/blog/v2.16/invite_users.png differ diff --git a/static/img/blog/v2.16/new_profile_interface.png b/static/img/blog/v2.16/new_profile_interface.png new file mode 100644 index 0000000..e78aee6 Binary files /dev/null and b/static/img/blog/v2.16/new_profile_interface.png differ diff --git a/static/img/blog/v2.16/store_group_badge.png b/static/img/blog/v2.16/store_group_badge.png new file mode 100644 index 0000000..dc71985 Binary files /dev/null and b/static/img/blog/v2.16/store_group_badge.png differ diff --git a/static/img/blog/versions/v2.16.png b/static/img/blog/versions/v2.16.png new file mode 100644 index 0000000..9162341 Binary files /dev/null and b/static/img/blog/versions/v2.16.png differ diff --git a/static/img/next_gen/developpers/marketplace/creer-version.png b/static/img/next_gen/developpers/marketplace/creer-version.png new file mode 100644 index 0000000..e7574fe Binary files /dev/null and b/static/img/next_gen/developpers/marketplace/creer-version.png differ diff --git a/static/img/next_gen/developpers/marketplace/espace-developpeur.png b/static/img/next_gen/developpers/marketplace/espace-developpeur.png new file mode 100644 index 0000000..c8e0880 Binary files /dev/null and b/static/img/next_gen/developpers/marketplace/espace-developpeur.png differ diff --git a/static/img/next_gen/developpers/marketplace/mettre-a-jour-extension.png b/static/img/next_gen/developpers/marketplace/mettre-a-jour-extension.png new file mode 100644 index 0000000..32bd5c8 Binary files /dev/null and b/static/img/next_gen/developpers/marketplace/mettre-a-jour-extension.png differ diff --git a/static/img/next_gen/developpers/marketplace/rejoindre-developpeur.png b/static/img/next_gen/developpers/marketplace/rejoindre-developpeur.png new file mode 100644 index 0000000..cc0f4a1 Binary files /dev/null and b/static/img/next_gen/developpers/marketplace/rejoindre-developpeur.png differ diff --git a/static/img/next_gen/developpers/marketplace/soumettre-ressource-contenu.png b/static/img/next_gen/developpers/marketplace/soumettre-ressource-contenu.png new file mode 100644 index 0000000..010ec82 Binary files /dev/null and b/static/img/next_gen/developpers/marketplace/soumettre-ressource-contenu.png differ diff --git a/static/img/next_gen/developpers/marketplace/soumettre-ressource-informations.png b/static/img/next_gen/developpers/marketplace/soumettre-ressource-informations.png new file mode 100644 index 0000000..3b1073f Binary files /dev/null and b/static/img/next_gen/developpers/marketplace/soumettre-ressource-informations.png differ diff --git a/static/img/next_gen/extensions/addons/idea/admin_comments.png b/static/img/next_gen/extensions/addons/idea/admin_comments.png new file mode 100644 index 0000000..466c4f9 Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/admin_comments.png differ diff --git a/static/img/next_gen/extensions/addons/idea/admin_posts.png b/static/img/next_gen/extensions/addons/idea/admin_posts.png new file mode 100644 index 0000000..575624c Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/admin_posts.png differ diff --git a/static/img/next_gen/extensions/addons/idea/admin_settings.png b/static/img/next_gen/extensions/addons/idea/admin_settings.png new file mode 100644 index 0000000..4b34606 Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/admin_settings.png differ diff --git a/static/img/next_gen/extensions/addons/idea/admin_tags.png b/static/img/next_gen/extensions/addons/idea/admin_tags.png new file mode 100644 index 0000000..c403e49 Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/admin_tags.png differ diff --git a/static/img/next_gen/extensions/addons/idea/front_index.png b/static/img/next_gen/extensions/addons/idea/front_index.png new file mode 100644 index 0000000..f12e2ab Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/front_index.png differ diff --git a/static/img/next_gen/extensions/addons/idea/front_show.png b/static/img/next_gen/extensions/addons/idea/front_show.png new file mode 100644 index 0000000..c2609c5 Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/front_show.png differ diff --git a/static/img/next_gen/extensions/addons/idea/logo.png b/static/img/next_gen/extensions/addons/idea/logo.png new file mode 100644 index 0000000..fda6a97 Binary files /dev/null and b/static/img/next_gen/extensions/addons/idea/logo.png differ