Logique de Compatibilité PC

Explorez le fonctionnement technique du script de sélection et de vérification pour les composants informatiques. Cette interface traduit le rapport technique en une expérience interactive.

1. Structure des Données

Cette section détaille comment le système ingère et transforme les métadonnées brutes des produits. Pour que l'algorithme fonctionne efficacement, chaque composant doit être représenté par une clé unique identifiant son type, et ses caractéristiques techniques doivent être formatées sous forme de tableaux (Arrays). Cela permet la comparaison multiple.

{
    "pa_carte-mere": {
        "price": 229.99,
        "id": 322,
        "chipset": ["AM5"],
        "size": ["ATX"],
        "ram": ["DDR5"]
    }
}
Formatage (formatLabel) Le script utilise des Regex pour nettoyer les clés :
pa_carte-mere devient Carte Mere.
Tableaux obligatoires Même une valeur unique comme "AM5" est stockée dans un tableau ["AM5"] pour faciliter la fonction d'intersection .some().

2. L'Algorithme (Sandbox Interactif)

Le cœur du système est la fonction compatibility_products(). Testez l'algorithme ci-dessous. Le script simule un panier contenant déjà une Carte Mère. Choisissez un composant à ajouter pour observer comment le système calcule l'intersection des tableaux de caractéristiques.

Panier Actuel (Fixe)

Nouveau Composant à Tester

Résultat du Test

Cliquez sur "Tester" pour exécuter l'algorithme...

Logique d'exécution

3. Flux de Travail & Maintenance

Cette section illustre le cycle de vie d'une action utilisateur. De l'instant où un bouton "Ajouter" est cliqué, jusqu'à la mise à jour de l'interface graphique (panier et prix total). Le respect de ces étapes séquentielles garantit que seuls les composants 100% compatibles se retrouvent ensemble.

1

Action Utilisateur

L'utilisateur clique sur "Ajouter". La fonction selectProduct() est déclenchée.

2

Conversion en Objet

Le produit brut est converti en "Objet de Compatibilité" (split des chaînes en tableaux de caractéristiques).

3

Vérification (Boucle Panier)

L'algorithme parcourt les articles du panier actuel. Si une clé commune (ex: `chipset`) est trouvée, il cherche une intersection.

4

Gestion des Conflits

Si aucun élément ne correspond (ex: `['DDR4']` n'a pas d'intersection avec `['DDR5']`), un message d'erreur bloque le processus.

5

Validation et UI

Si tout est OK, ajout du produit, remplacement s'il existe déjà un produit du même type, et recalcul via updateSelectedPanel().

Maintenance Automatique

L'ajout de nouveaux critères (ex: max_gpu_length vs case_clearance) ne nécessite aucune modification du code JavaScript. Il suffit de s'assurer que les clés JSON portent le même nom dans les deux composants. L'algorithme d'intersection gère automatiquement les nouvelles clés.

4. Analyse des Blocages de Compatibilité

Ce graphique met en évidence l'importance de la fonction compatibility_products() en illustrant les types d'erreurs matérielles les plus fréquemment évitées par le système d'intersection lors d'une session de configuration type.

Répartition des erreurs évitées par l'algorithme d'intersection d'intervalles (données simulées).