• 🏭 RIVA Industries s’est imposĂ©e Ă  Jorf Lasfar comme un pivot de la sidĂ©rurgie marocaine, sans tapage mĂ©diatique, mais avec une logique industrielle trĂšs structurĂ©e.
  • 📌 Un complexe intĂ©grĂ©, pensĂ© pour la fabrication d’acier Ă  partir de ferrailles et de substituts, avec une capacitĂ© annoncĂ©e autour de 1,4 million de tonnes sur l’ensemble de la chaĂźne.
  • đŸ’Œ Une trajectoire d’investissements en deux temps : 2015-2020 (environ 2,6 MMDH) puis 2021-2026 (environ 2,8 MMDH) pour Ă©largir les gammes, notamment en aciers Ă  plus forte valeur.
  • đŸ‘· Une entreprise industrielle qui mise sur l’emploi local, l’écosystĂšme et la sĂ©curitĂ© : montĂ©e en puissance des effectifs et structuration de compĂ©tences sur une chaĂźne exigeante d’industrie lourde.
  • ♻ Un positionnement plus circulaire : recyclage de ferrailles, traitement des eaux et captation/traitement des fumĂ©es, afin d’aligner la production sidĂ©rurgique sur des attentes environnementales plus strictes.
  • đŸš—âœˆïž Une ambition claire : aller au-delĂ  des aciers de construction et viser des dĂ©bouchĂ©s industriels (mĂ©canique, automobile, aĂ©ronautique) avec des aciers spĂ©ciaux.

Dans l’imaginaire collectif, la sidĂ©rurgie se raconte souvent au bruit : flammes, chantiers, kilomĂštres de convoyeurs, annonces spectaculaires. Pourtant, certains groupes avancent autrement, avec une mĂ©thode presque silencieuse. RIVA Industries illustre ce paradoxe : un acteur Ă  la fois titanesque par l’ampleur des moyens engagĂ©s, et acteur discret par la sobriĂ©tĂ© de sa communication. InstallĂ© dans la zone industrielle de Medz Ă  Jorf Lasfar, le complexe s’inscrit dans une logique d’industrie lourde tournĂ©e vers la compĂ©titivitĂ© et l’intĂ©gration locale.

Ce qui frappe, au-delĂ  des chiffres, c’est la cohĂ©rence d’ensemble : investissements Ă©talĂ©s, montĂ©e en puissance progressive, technologies de recyclage et d’automatisation, et volontĂ© de structurer un marchĂ© aval. Dans un pays oĂč les grands chantiers d’infrastructures et la montĂ©e des exigences normatives tirent la demande vers le haut, l’acier devient un produit stratĂ©gique. Au centre de cette Ă©quation, RIVA Industries cherche moins Ă  “faire du volume pour faire du volume” qu’à consolider une mĂ©tallurgie moderne, traçable, et capable de substituer certaines importations. C’est lĂ  que se joue la diffĂ©rence : l’ombre mĂ©diatique n’empĂȘche pas l’ambition industrielle.

RIVA Industries Ă  Jorf Lasfar : genĂšse d’un champion marocain de la sidĂ©rurgie

La crĂ©ation de RIVA Industries s’ancre dans un choix gĂ©ographique et politique : s’installer Ă  Jorf Lasfar, lĂ  oĂč l’infrastructure portuaire et industrielle permet de connecter efficacement approvisionnements, Ă©nergie et dĂ©bouchĂ©s. Le site, implantĂ© dans la zone Medz, n’a pas Ă©tĂ© pensĂ© comme une simple unitĂ© de transformation, mais comme un complexe sidĂ©rurgique et mĂ©tallurgique conçu pour durer. Cette logique du “bĂątir pour plusieurs cycles” explique une partie de la discrĂ©tion : dans la sidĂ©rurgie, l’ego coĂ»te cher, la mĂ©thode rapporte.

Le capital est un marqueur clĂ©. L’entreprise est portĂ©e par des actionnaires marocains, avec une gouvernance familiale structurĂ©e, associĂ©e Ă  un groupe de tĂȘte (Meski Holding). Cette configuration favorise souvent une prise de dĂ©cision rapide sur les investissements, tout en gardant une attention particuliĂšre Ă  l’ancrage territorial. Dans un secteur d’industrie lourde, oĂč les cycles de prix et d’énergie peuvent renverser des plans en quelques trimestres, l’alignement entre actionnaires et stratĂ©gie industrielle fait office de pare-chocs.

Un autre jalon dĂ©cisif a Ă©tĂ© la signature d’une convention d’investissement initiale avec l’État. Ce type de cadre, trĂšs frĂ©quent dans les grands projets industriels, clarifie les engagements : montĂ©e en capacitĂ©s, trajectoires d’emploi, exigences de conformitĂ©, intĂ©gration locale. Il ne s’agit pas seulement d’une formalitĂ© administrative ; c’est un instrument de synchronisation entre politique industrielle et rĂ©alitĂ© opĂ©rationnelle. À la clĂ©, une meilleure lisibilitĂ© pour les partenaires, les banques, les sous-traitants et, surtout, les clients.

Sur la pĂ©riode 2015-2020, l’investissement global s’est situĂ© autour de 2,6 milliards de dirhams. Ce chiffre ne raconte pas seulement des bĂątiments et des machines : il dĂ©crit un saut de gĂ©nĂ©ration technologique. Automatisation, pilotage fin des procĂ©dĂ©s, exigences de sĂ©curitĂ© au travail, dispositifs environnementaux, tout cela redĂ©finit la maniĂšre dont l’acier est produit. Dans la pratique, l’enjeu est simple : obtenir une qualitĂ© stable, une traçabilitĂ© robuste et des coĂ»ts maĂźtrisĂ©s, dans un marchĂ© oĂč la concurrence rĂ©gionale peut se montrer agressive.

Pour illustrer cette montĂ©e en rĂ©gime, un fil conducteur aide Ă  comprendre : celui d’un chantier fictif, “Casablanca Rive Sud”, portĂ© par un groupement de promoteurs. Les maĂźtres d’ouvrage exigent des aciers conformes, Ă©tiquetĂ©s, et livrĂ©s selon un cadencement strict. Dans ce scĂ©nario, une aciĂ©rie capable d’assurer constance mĂ©tallurgique et documentation devient un partenaire de rĂ©duction de risque. Autrement dit, la valeur de RIVA Industries ne se mesure pas seulement en tonnes, mais en fiabilitĂ© contractuelle.

Ce premier socle explique l’identitĂ© du groupe : un acteur discret qui prĂ©fĂšre la preuve par l’outil industriel, et qui prĂ©pare, mĂ©thodiquement, la suite des dĂ©veloppements.

CapacitĂ©, chaĂźne intĂ©grĂ©e et production sidĂ©rurgique : comment RIVA Industries fabrique l’acier

Le cƓur du modĂšle tient en une idĂ©e : maĂźtriser une chaĂźne suffisamment intĂ©grĂ©e pour sĂ©curiser qualitĂ©, dĂ©lais et compĂ©titivitĂ©. La capacitĂ© annoncĂ©e autour de 1,4 million de tonnes couvre l’ensemble du parcours, depuis la fusion de la ferraille et des substituts jusqu’au laminage du produit fini. Cette vision “de bout en bout” devient stratĂ©gique dans une production sidĂ©rurgique soumise Ă  des variations de demande, de prix de l’électricitĂ© et de disponibilitĂ© des matiĂšres.

La fabrication d’acier Ă  partir de ferrailles recyclĂ©es rĂ©pond Ă  deux impĂ©ratifs contemporains : rĂ©duire l’empreinte carbone par rapport aux routes plus traditionnelles, et construire une Ă©conomie de la ressource. ConcrĂštement, une partie de la performance se joue avant mĂȘme la fusion : tri des ferrailles, prĂ©paration, contrĂŽle des contaminants. Un acier de construction peut tolĂ©rer certains Ă©carts ; un acier destinĂ© Ă  un usage mĂ©canique ou Ă  un cahier des charges plus serrĂ© impose une discipline plus stricte. VoilĂ  pourquoi l’organisation industrielle compte autant que la machine.

Le laminage, ensuite, n’est pas une simple Ă©tape de mise en forme : c’est le moment oĂč se consolident des propriĂ©tĂ©s (rectitude, tolĂ©rances, Ă©tats de surface) et oĂč la traçabilitĂ© peut devenir un avantage concurrentiel. Dans les marchĂ©s de grands chantiers, la question n’est plus seulement “quel prix Ă  la tonne ?” mais “quelle conformitĂ© prouvĂ©e ?”. La rĂ©glementation technique, les normes obligatoires, et les contrĂŽles sur site rendent l’écart coĂ»teux. À ce titre, disposer de systĂšmes automatisĂ©s et de procĂ©dures robustes fait gagner un temps prĂ©cieux aux donneurs d’ordres.

Qualité, sécurité et environnement : des exigences devenues commerciales

Dans la mĂ©tallurgie contemporaine, la conformitĂ© environnementale et la sĂ©curitĂ© ne sont plus un supplĂ©ment d’ñme ; elles deviennent un argument commercial et un prĂ©requis contractuel. Les dispositifs mentionnĂ©s autour du traitement des eaux usĂ©es, de la gestion des fumĂ©es et de l’automatisation participent Ă  un standard international de plus en plus attendu. Les clients industriels, notamment ceux insĂ©rĂ©s dans des chaĂźnes export, transmettent leurs exigences Ă  tous les rangs de fournisseurs. Le rĂ©sultat est clair : la performance ESG se transforme en performance de marchĂ©.

Un exemple concret : un fabricant fictif de charpentes mĂ©talliques, “Atlas Structures”, doit fournir un projet soumis Ă  audit qualitĂ©. Il exige des certificats matiĂšre, des rĂ©sultats d’essais, des garanties de constance. Une aciĂ©rie qui internalise ces pratiques rĂ©duit les frictions, limite les litiges et raccourcit les dĂ©lais de validation. Dans un secteur Ă  marges parfois compressĂ©es, ces “petits” gains deviennent dĂ©cisifs.

Tableau de repÚres opérationnels (données clés synthétisées)

RepĂšre 📌 ÉlĂ©ment ⚙ Ce que cela change sur le terrain ✅
CapacitĂ© 🏭 ≈ 1,4 million t sur la chaĂźne intĂ©grĂ©e Meilleure continuitĂ© d’approvisionnement pour le BTP et l’industrie
MatiĂšre ♻ Ferrailles + substituts minerais recyclĂ©s Alignement avec une sidĂ©rurgie plus circulaire et rĂ©siliente
ProcĂ©dĂ©s 🔧 Automatisation, contrĂŽle qualitĂ©, laminage avancĂ© RĂ©pĂ©tabilitĂ© des propriĂ©tĂ©s et rĂ©duction des non-conformitĂ©s
Environnement 🌿 Traitement eaux usĂ©es, recyclage fumĂ©es Meilleure acceptabilitĂ© locale et conformitĂ© attendue par les grands clients

Au final, cette architecture industrielle transforme un site de production en plateforme de service : produire, prouver, livrer, et sĂ©curiser la conformitĂ©. C’est la grammaire d’une entreprise industrielle qui veut compter durablement.

Investissements 2015-2026 : une montée en puissance titanesque mais méthodique

La trajectoire d’investissement de RIVA Industries s’organise en deux phases cohĂ©rentes. La premiĂšre, sur 2015-2020, correspond Ă  la crĂ©ation et Ă  la mise en place des fondations, avec environ 2,6 MMDH engagĂ©s. La seconde, prĂ©vue sur 2021-2026, annonce un effort additionnel d’environ 2,8 MMDH. Additionner ces montants ne suffit pas : il faut comprendre la logique, qui ressemble Ă  un dĂ©ploiement de capacitĂ©s “par paliers”, pour limiter les risques et coller aux besoins rĂ©els du marchĂ©.

Dans un contexte oĂč le prix de l’énergie, la demande en acier et la concurrence importĂ©e peuvent varier fortement, la mĂ©thode des paliers est souvent plus robuste que le “tout, tout de suite”. Elle permet d’ajuster : renforcer un laminoir, ajouter des Ă©quipements de contrĂŽle, Ă©largir des gammes, structurer une offre de services. Cette discipline d’industrie lourde explique pourquoi l’entreprise peut rester un acteur discret : la performance se prouve dans la durĂ©e, pas dans l’annonce.

Emploi, compĂ©tences et organisation : l’angle souvent sous-estimĂ©

Le projet se lit aussi Ă  travers l’emploi. Une base d’environ 700 salariĂ©s a Ă©tĂ© Ă©voquĂ©e Ă  un certain stade de montĂ©e en charge, avec un effet d’entraĂźnement important via les emplois indirects (logistique, maintenance, sous-traitance, services industriels). La convention d’investissement et la phase d’expansion ont, elles, Ă©tĂ© associĂ©es Ă  des objectifs plus ambitieux : dĂ©passer 2 500 emplois directs et 6 000 indirects sur l’horizon de la seconde phase, avec la crĂ©ation de plus de 1 500 postes supplĂ©mentaires sur 2021-2026. Dans les territoires industriels, ce type d’écosystĂšme redessine les bassins de compĂ©tences.

Le dĂ©fi, toutefois, n’est pas uniquement quantitatif. Dans la mĂ©tallurgie, les mĂ©tiers critiques (automaticiens, Ă©lectromĂ©caniciens, contrĂŽleurs qualitĂ©, spĂ©cialistes HSE) conditionnent la stabilitĂ© des performances. Un ancien DRH le dirait volontiers : la diffĂ©rence entre une usine qui “tourne” et une usine qui “maĂźtrise” tient souvent Ă  la formation, Ă  la polyvalence et Ă  la culture sĂ©curitĂ©. Pourquoi ? Parce que la moindre dĂ©rive d’un paramĂštre peut coĂ»ter une coulĂ©e, un lot, un client, voire un arrĂȘt technique.

Liste de prioritĂ©s industrielles que l’expansion rend possibles

  • đŸ§Ș Élargir les nuances : passer d’une offre centrĂ©e construction Ă  des grades plus exigeants pour l’industrie.
  • đŸ—ïž Renforcer la traçabilitĂ© : rĂ©pondre aux chantiers labellisĂ©s et aux exigences documentaires des donneurs d’ordres.
  • ⚡ Optimiser l’efficacitĂ© Ă©nergĂ©tique : amortir les cycles de prix et sĂ©curiser le coĂ»t de revient.
  • đŸ›Ąïž Durcir la sĂ©curitĂ© opĂ©rationnelle : rĂ©duire les accidents et stabiliser la performance des lignes.
  • ♻ AccroĂźtre les boucles de recyclage : eau, fumĂ©es, valorisation des sous-produits, pour une acceptabilitĂ© locale durable.

Cette montée en puissance, à la fois titanesque et graduelle, prépare logiquement la question suivante : quels produits, quels marchés, et quelle place dans la chaßne de valeur ?

Produits, marchĂ©s et substitution des importations : l’acier comme levier de souverainetĂ© industrielle

La gamme de produits annoncée se place sur le segment des produits longs, avec des usages allant de la construction à des applications mécaniques et technologiques, couvrant de nombreux grades et nuances. Pour un lecteur non spécialiste, la différence entre deux aciers peut sembler abstraite. Pourtant, sur un chantier ou dans une usine de fabrication mécanique, les exigences changent tout : résistance, ductilité, soudabilité, comportement à la fatigue, tolérances dimensionnelles, régularité des lots. Chaque variable se transforme en coût ou en avantage.

Le marchĂ© de la construction demeure un socle. Les grands chantiers, la prĂ©fabrication et les exigences de labellisation poussent vers des aciers Ă  caractĂ©ristiques normatives Ă©levĂ©es, avec une traçabilitĂ© plus stricte. Dans ce cadre, RIVA Industries cherche Ă  “tirer le marchĂ© vers le haut”, non par la communication, mais par la disponibilitĂ© d’un produit conforme et compĂ©titif. La dynamique peut sembler technique, mais elle touche le quotidien : sĂ©curitĂ© des ouvrages, rĂ©duction des litiges, et fluiditĂ© des contrĂŽles.

De la construction Ă  l’industrie : quand la mĂ©tallurgie devient stratĂ©gique

L’axe le plus transformant concerne les produits pour le marchĂ© industriel : construction mĂ©tallique de machines, services associĂ©s, et surtout aciers Ă  plus forte valeur pour l’automobile ou l’aĂ©ronautique. Il ne s’agit pas de prĂ©tendre du jour au lendemain fournir des filiĂšres ultra-rĂ©glementĂ©es ; il s’agit de construire un escalier de compĂ©tences, d’essais, d’homologations et d’amĂ©lioration continue. Les fabricants d’équipements, eux, attendent des partenaires capables de fournir une matiĂšre stable, avec un dossier technique solide.

À l’horizon 2026, la notion de souverainetĂ© industrielle s’est imposĂ©e dans de nombreuses Ă©conomies. Dans ce contexte, la substitution d’importations devient un thĂšme concret : produire localement une partie des rĂ©fĂ©rences auparavant achetĂ©es ailleurs, sĂ©curiser des dĂ©lais, rĂ©duire l’exposition au change et aux ruptures logistiques. Mais l’étape suivante est encore plus structurante : dĂ©velopper un marchĂ© aval, en accompagnant des unitĂ©s de transformation secondaire, y compris via des co-investissements avec des clients. Ce mouvement crĂ©e de la valeur au-delĂ  du site, dans un rĂ©seau d’ateliers, de PME industrielles et de services.

Reprenons un exemple : une PME fictive, “MecaNova”, fabrique des composants pour machines agricoles. Elle importe aujourd’hui des barres d’acier avec des dĂ©lais irrĂ©guliers. Si un acteur local peut fournir une nuance Ă©quivalente, documentĂ©e, et stable, la PME peut rĂ©duire ses stocks de sĂ©curitĂ©, amĂ©liorer son cash-flow et rĂ©pondre plus vite Ă  ses propres clients. Ainsi, la production sidĂ©rurgique irrigue un tissu productif, et la fabrication d’acier devient un accĂ©lĂ©rateur de compĂ©titivitĂ© nationale.

Cette logique de filiĂšre amĂšne naturellement Ă  une autre question : comment une entreprise aussi visible sur le terrain reste-t-elle un acteur discret dans l’espace public, et que rĂ©vĂšle cette posture sur sa stratĂ©gie ?

Acteur discret, influence réelle : gouvernance, éthique et stratégie de filiÚre en industrie lourde

Dans la sidĂ©rurgie, la discrĂ©tion n’est pas forcĂ©ment un choix de communication ; c’est parfois un style de gouvernance. Les cycles sont longs, les risques Ă©levĂ©s, et la rĂ©putation se bĂątit davantage sur la constance des livraisons que sur les slogans. Un acteur discret privilĂ©gie souvent trois choses : la maĂźtrise opĂ©rationnelle, la soliditĂ© contractuelle et la qualitĂ© des relations institutionnelles. C’est une approche qui rassure les clients industriels, surtout lorsqu’ils ont eux-mĂȘmes des obligations strictes.

La stratĂ©gie dĂ©crite autour de la mutualisation, du benchmark de bonnes pratiques et de la crĂ©ation de synergies entre filiales industrielles et de distribution ressemble Ă  une logique de “groupe apprenant”. Dans les organisations complexes, comparer les mĂ©thodes, standardiser ce qui doit l’ĂȘtre et laisser de l’agilitĂ© lĂ  oĂč elle est utile permet d’éviter la dispersion. Cette discipline, bien connue dans les grands groupes, s’applique particuliĂšrement bien Ă  une entreprise industrielle dont les coĂ»ts fixes sont Ă©levĂ©s.

Responsabilité sociale : la crédibilité passe par les actes

L’axe social et sociĂ©tal revendiquĂ© met l’accent sur l’exemplaritĂ© : engagements envers les salariĂ©s, sĂ©curitĂ© au travail, et Ă©thique sectorielle. Le fait d’adhĂ©rer Ă  une charte d’éthique et de dĂ©ontologie portĂ©e par une organisation professionnelle du secteur marque une volontĂ© de se distinguer par la transparence. Dans un environnement oĂč les accusations de dumping, de pratiques opaques ou de non-conformitĂ© peuvent vite polluer un marchĂ©, l’éthique devient un facteur de stabilitĂ©.

Il est utile d’ĂȘtre concret. Dans une aciĂ©rie, une rĂšgle sĂ©curitĂ© rĂ©ellement appliquĂ©e ne se limite pas Ă  un affichage : elle se mesure au briefing de prise de poste, Ă  la consignation Ă©lectrique, Ă  l’autorisation de travail en zones Ă  risque, au droit d’alerte, et au traitement des presque-accidents. Ces mĂ©canismes ont un coĂ»t immĂ©diat (temps, formation, audits), mais ils rĂ©duisent drastiquement le coĂ»t cachĂ© des arrĂȘts, des blessures et des litiges. Dans une industrie lourde, la prĂ©vention est souvent la forme la plus rationnelle de productivitĂ©.

Toolbox : simuler l’impact d’une substitution d’importations

Calculateur — Gain Ă©conomique d’une substitution d’importations d’acier

Estimez l’économie annuelle totale en comparant un achat importĂ© vs local (prix, logistique, immobilisation de stock liĂ©e au dĂ©lai et coĂ»t de non-conformitĂ©).

ParamĂštres d’entrĂ©e

Volume total concerné par la substitution.

Prix d’achat à l’import (hors logistique).

Prix d’achat local (hors logistique import).

Fret, assurance, manutention, etc. (spĂ©cifique Ă  l’import).

Délai qui immobilise le besoin en stock.

Immobilisation financiĂšre, entreposage, risque, etc.

Part estimée de tonnage problématique.

Part estimée aprÚs substitution locale.

Retouches, rebuts, litiges, retards, pénalités, etc.

HypothĂšse : le coĂ»t logistique local additionnel est supposĂ© nul (vous comparez surtout Ă  l’excĂšs de logistique import).

Résultats

Économie annuelle totale
—
Somme : (prix) + (logistique) + (stock) + (qualité)
Économie « prix + logistique » (MAD/an)
—
DiffĂ©rence de coĂ»t d’achat complet (import + log) vs local.
Économie logistique (MAD/an)
—
Réduction spécifique du surcoût logistique import.
Économie de stock (MAD/an)
—
DĂ©lai import × coĂ»t de stock/jour × tonnage.
Économie qualitĂ© (MAD/an)
—
(Non-conformitĂ© import − non-conformitĂ© local) × coĂ»t moyen × tonnage.
Commentaire d’aide Ă  la dĂ©cision

Renseignez vos paramĂštres puis lancez le calcul pour obtenir un diagnostic.

Note : Ce simulateur donne un ordre de grandeur. Adaptez les hypothÚses (coût de stock, coût de non-conformité) à votre réalité opérationnelle.
/** * Calculateur — Substitution d’importations d’acier * 100% local (aucune API requise). * * Si vous souhaitez brancher des donnĂ©es externes (optionnel), exemple d’API gratuite possible : * – Banque du Maroc (taux de change, etc.) : selon endpoints publics disponibles. * – Exemple gĂ©nĂ©rique (Ă  titre illustratif) d’une rĂ©ponse JSON attendue : * // GET https://exemple.api/gratuit * // { « date »: « 2026-05-23 », « valeurs »: { « USD_MAD »: 10.12 } } * * Ici, aucune donnĂ©e externe n’est nĂ©cessaire pour rester simple, performant et copiable. */ (function () { // ChaĂźnes en français (faciles Ă  Ă©diter) const TXT = { erreurTitre: « Merci de corriger les champs suivants : », copieOK: « RĂ©sumĂ© copiĂ© dans le presse-papiers. », copieKO: « Copie impossible sur ce navigateur. SĂ©lectionnez et copiez manuellement le texte. », commentaireNeutre: « Renseignez vos paramĂštres puis lancez le calcul pour obtenir un diagnostic. », decisionGo: « DĂ©cision : la substitution locale semble Ă©conomiquement favorable au vu des hypothĂšses (Ă©conomie nette positive). », decisionNoGo: « DĂ©cision : la substitution locale ne paraĂźt pas favorable Ă©conomiquement dans cette configuration (Ă©conomie nette nĂ©gative). », decisionNuance: « DĂ©cision : rĂ©sultat proche de l’équilibre. Affinez surtout le coĂ»t de stock et la non-conformitĂ©, qui peuvent faire basculer la dĂ©cision. » }; // AccĂšs DOM const el = (id) => document.getElementById(id); const inputs = { tonnage: el(« tonnage »), prixImport: el(« prixImport »), prixLocal: el(« prixLocal »), logImport: el(« logImport »), delaiImport: el(« delaiImport »), coutStockJour: el(« coutStockJour »), ncImport: el(« ncImport »), ncLocal: el(« ncLocal »), coutNC: el(« coutNC ») }; const out = { ecoTotale: el(« ecoTotale »), ecoAchat: el(« ecoAchat »), ecoLog: el(« ecoLog »), ecoStock: el(« ecoStock »), ecoQual: el(« ecoQual »), commentaire: el(« commentaire »), details: el(« details »), zoneErreurs: el(« zoneErreurs »), copieEtat: el(« copieEtat ») }; const btnCalc = el(« btnCalc »); const btnReset = el(« btnReset »); const btnCopier = el(« btnCopier »); // Formatage MAD const fmtMAD = new Intl.NumberFormat(« fr-FR », { style: « currency », currency: « MAD », maximumFractionDigits: 0 }); const fmtMAD2 = new Intl.NumberFormat(« fr-FR », { style: « currency », currency: « MAD », maximumFractionDigits: 2 }); const fmtNb = new Intl.NumberFormat(« fr-FR », { maximumFractionDigits: 2 }); function lireNombre(input) { // Support simple : l’utilisateur saisit avec point ou virgule const v = String(input.value ?? «  »).trim().replace(/s/g, «  »).replace(« , », « . »); const n = Number(v); return Number.isFinite(n) ? n : NaN; } function setErreur(messages) { if (!messages.length) { out.zoneErreurs.classList.add(« hidden »); out.zoneErreurs.textContent = «  »; return; } out.zoneErreurs.classList.remove(« hidden »); out.zoneErreurs.innerHTML = « 
 » + TXT.erreurTitre + « 
    « ; const ul = out.zoneErreurs.querySelector(« ul »); messages.forEach(m => { const li = document.createElement(« li »); li.textContent = m; ul.appendChild(li); }); } function valider() { const erreurs = []; const tonnage = lireNombre(inputs.tonnage); const prixImport = lireNombre(inputs.prixImport); const prixLocal = lireNombre(inputs.prixLocal); const logImport = lireNombre(inputs.logImport); const delaiImport = lireNombre(inputs.delaiImport); const coutStockJour = lireNombre(inputs.coutStockJour); const ncImport = lireNombre(inputs.ncImport); const ncLocal = lireNombre(inputs.ncLocal); const coutNC = lireNombre(inputs.coutNC); if (!(tonnage > 0)) erreurs.push(« Le tonnage annuel doit ĂȘtre supĂ©rieur Ă  0. »); if (!(prixImport >= 0)) erreurs.push(« Le prix import doit ĂȘtre un nombre valide (≄ 0). »); if (!(prixLocal >= 0)) erreurs.push(« Le prix local doit ĂȘtre un nombre valide (≄ 0). »); if (!(logImport >= 0)) erreurs.push(« Le coĂ»t logistique import doit ĂȘtre un nombre valide (≄ 0). »); if (!(delaiImport >= 0)) erreurs.push(« Le dĂ©lai import doit ĂȘtre un nombre valide (≄ 0). »); if (!(coutStockJour >= 0)) erreurs.push(« Le coĂ»t de stock par jour doit ĂȘtre un nombre valide (≄ 0). »); if (!(ncImport >= 0 && ncImport = 0 && ncLocal = 0)) erreurs.push(« Le coĂ»t moyen de non-conformitĂ© doit ĂȘtre un nombre valide (≄ 0). »); setErreur(erreurs); if (erreurs.length) return null; return { tonnage, prixImport, prixLocal, logImport, delaiImport, coutStockJour, ncImport, ncLocal, coutNC }; } function calculer(p) { // DĂ©composition demandĂ©e : // – Économie logistique : tonnage * coĂ»t logistique import // – Économie de stock : tonnage * dĂ©lai import * coĂ»t stock/jour // – Économie qualitĂ© : tonnage * (ncImport – ncLocal) * coĂ»tNC // – Économie totale : Ă©conomie achat (prix+log) + Ă©conomie stock + Ă©conomie qualitĂ© // oĂč Ă©conomie achat = tonnage * ((prixImport + logImport) – prixLocal) const ecoLog = p.tonnage * p.logImport; const ecoStock = p.tonnage * p.delaiImport * p.coutStockJour; const deltaNC = (p.ncImport – p.ncLocal) / 100; // en fraction const ecoQual = p.tonnage * deltaNC * p.coutNC; const ecoAchat = p.tonnage * ((p.prixImport + p.logImport) – p.prixLocal); const ecoTotale = ecoAchat + ecoStock + ecoQual; return { ecoLog, ecoStock, ecoQual, ecoAchat, ecoTotale, deltaNC }; } function commenter(res, p) { // Seuil « zone grise » : ±2% du coĂ»t annuel d’achat local (ordre de grandeur) const base = p.tonnage * p.prixLocal; const zone = Math.max(1, base * 0.02); let phrase; if (Math.abs(res.ecoTotale) 0) phrase = TXT.decisionGo; else phrase = TXT.decisionNoGo; // DĂ©tails actionnables : contributions principales const contributions = [ { nom: « Achat (prix + logistique) », v: res.ecoAchat }, { nom: « Stock (dĂ©lai import) », v: res.ecoStock }, { nom: « QualitĂ© (non-conformitĂ©) », v: res.ecoQual } ].sort((a, b) => Math.abs(b.v) – Math.abs(a.v)); const top = contributions[0]; const second = contributions[1]; const deltaPrixComplet = (p.prixImport + p.logImport) – p.prixLocal; const details = [ « Lecture rapide : l’écart de coĂ»t d’achat complet est de  » + fmtMAD2.format(deltaPrixComplet) + «  par tonne. », « Le principal moteur du rĂ©sultat est :  » + top.nom + «  ( » + fmtMAD.format(top.v) + « ). », « Second facteur :  » + second.nom + «  ( » + fmtMAD.format(second.v) + « ). », « Écart de non-conformitĂ© :  » + fmtNb.format((res.deltaNC * 100)) +  » point(s) — impact  » + fmtMAD.format(res.ecoQual) + « . » ]; return { phrase, details: details.join(« 
    « ) }; } function afficher(res, p) { out.ecoTotale.textContent = fmtMAD.format(res.ecoTotale); out.ecoAchat.textContent = fmtMAD.format(res.ecoAchat); out.ecoLog.textContent = fmtMAD.format(res.ecoLog); out.ecoStock.textContent = fmtMAD.format(res.ecoStock); out.ecoQual.textContent = fmtMAD.format(res.ecoQual); const c = commenter(res, p); out.commentaire.textContent = c.phrase; out.details.innerHTML = c.details; // Couleur « économie totale » selon signe const box = out.ecoTotale.closest(« div »); box.classList.remove(« bg-slate-900 », « bg-emerald-700 », « bg-rose-700 »); if (res.ecoTotale > 0) box.classList.add(« bg-emerald-700 »); else if (res.ecoTotale { inp.addEventListener(« input », () => { // On ne force pas si l’utilisateur est en train d’effacer : on calcule uniquement si valide const p = valider(); if (!p) return; const res = calculer(p); afficher(res, p); }); inp.addEventListener(« keydown », (e) => { if (e.key === « Enter ») run(); }); }); btnCopier.addEventListener(« click », () => { const p = valider(); if (!p) return; const res = calculer(p); const txt = genererResume(res, p); copierTexte(txt); }); // Premier Ă©tat reset(); })();

    Cette gouvernance, orientĂ©e vers la filiĂšre, Ă©claire le fil conducteur : si l’outil industriel est au niveau, la crĂ©dibilitĂ© suit. Et lorsque la crĂ©dibilitĂ© est acquise, les marchĂ©s Ă  plus forte valeur deviennent accessibles.

    La perspective la plus concrÚte, désormais, consiste à répondre aux questions pratiques que se posent clients, partenaires et candidats, sans folklore ni promesses vagues.