[{"data":1,"prerenderedAt":373},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-architecture-stack":52,"-fr-architecture-stack-surround":368},[4,14,32,42],{"title":5,"path":6,"stem":7,"children":8},"L'essentiel","/fr/proposition","fr/1.proposition/1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Votre besoin, compris","/fr/proposition/comprehension","fr/1.proposition/2.comprehension",{"title":15,"path":16,"stem":17,"children":18},"Vue d'ensemble","/fr/architecture","fr/2.architecture/1.index",[19,20,24,28],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Les choix techniques","/fr/architecture/stack","fr/2.architecture/2.stack",{"title":25,"path":26,"stem":27},"Sécurité & conformité","/fr/architecture/securite","fr/2.architecture/3.securite",{"title":29,"path":30,"stem":31},"Les 19 modules","/fr/architecture/modules","fr/2.architecture/4.modules",{"title":33,"path":34,"stem":35,"children":36},"Le planning 8 mois","/fr/roadmap","fr/3.roadmap/1.index",[37,38],{"title":33,"path":34,"stem":35},{"title":39,"path":40,"stem":41},"La méthode","/fr/roadmap/methodologie","fr/3.roadmap/2.methodologie",{"title":43,"path":44,"stem":45,"children":46},"Vortex-Soft","/fr/equipe","fr/4.equipe/1.index",[47,48],{"title":43,"path":44,"stem":45},{"title":49,"path":50,"stem":51},"Références — eCampus","/fr/equipe/references","fr/4.equipe/2.references",{"id":53,"title":21,"badge":54,"body":55,"category":54,"description":361,"extension":362,"links":54,"meta":363,"navigation":365,"path":22,"seo":366,"stem":23,"tags":54,"__hash__":367},"docs_fr/fr/2.architecture/2.stack.md",null,{"type":56,"value":57,"toc":354},"minimark",[58,62,259,264,273,302,306,309,312,316],[59,60,61],"p",{},"Chaque technologie répond à une contrainte nommée dans votre cahier des charges.",[63,64,65,81],"table",{},[66,67,68],"thead",{},[69,70,71,75,78],"tr",{},[72,73,74],"th",{},"Couche",[72,76,77],{},"Technologie",[72,79,80],{},"Pourquoi, pour ERK+",[82,83,84,106,123,136,149,162,175,193,206,219,233,246],"tbody",{},[69,85,86,90,96],{},[87,88,89],"td",{},"Web",[87,91,92],{},[93,94,95],"strong",{},"React",[87,97,98,99,102,103],{},"Dashboard riche et réactif ; ",[93,100,101],{},"responsive"," (tous formats d'écran), compatible ",[93,104,105],{},"Chrome, Firefox, Safari, Edge",[69,107,108,111,116],{},[87,109,110],{},"Mobile",[87,112,113],{},[93,114,115],{},"React Native + Expo",[87,117,118,119,122],{},"Un seul code ",[93,120,121],{},"iOS 14+ / Android 9+"," au rendu natif — fluide sur les smartphones d'entrée de gamme majoritaires au Sénégal",[69,124,125,128,133],{},[87,126,127],{},"Services haute concurrence",[87,129,130],{},[93,131,132],{},"Go",[87,134,135],{},"Auth, Chantier, Notifications : milliers de connexions simultanées sur une empreinte minuscule",[69,137,138,141,146],{},[87,139,140],{},"Modules critiques",[87,142,143],{},[93,144,145],{},"Rust",[87,147,148],{},"Finance & Média : sécurité mémoire, précision arithmétique, chiffrement du coffre-fort",[69,150,151,154,159],{},[87,152,153],{},"API Gateway",[87,155,156],{},[93,157,158],{},"Traefik",[87,160,161],{},"Entrée unique : terminaison TLS, routage dynamique, équilibrage de charge",[69,163,164,167,172],{},[87,165,166],{},"Bus d'événements",[87,168,169],{},[93,170,171],{},"NATS + JetStream",[87,173,174],{},"Communication asynchrone persistante — aucun message perdu, traçabilité totale",[69,176,177,180,190],{},[87,178,179],{},"Protocoles",[87,181,182,185,186,189],{},[93,183,184],{},"gRPC"," (interne) · ",[93,187,188],{},"GraphQL"," (mobile)",[87,191,192],{},"Échanges internes typés/binaires rapides ; le mobile ne transfère que le nécessaire",[69,194,195,198,203],{},[87,196,197],{},"Base transactionnelle",[87,199,200],{},[93,201,202],{},"PostgreSQL",[87,204,205],{},"ACID pour la cohérence des données financières",[69,207,208,211,216],{},[87,209,210],{},"Cache & temps réel",[87,212,213],{},[93,214,215],{},"Redis",[87,217,218],{},"Sessions et données live (ex. caméras de chantier)",[69,220,221,224,230],{},[87,222,223],{},"Stockage objet",[87,225,226,229],{},[93,227,228],{},"MinIO"," (compatible S3)",[87,231,232],{},"Documents, photos, vidéos — auto-hébergé",[69,234,235,238,243],{},[87,236,237],{},"Conteneurs & orchestration",[87,239,240],{},[93,241,242],{},"Docker · Kubernetes",[87,244,245],{},"Auto-scaling (2 000 users), déploiement Blue-Green sans interruption",[69,247,248,251,256],{},[87,249,250],{},"CI/CD",[87,252,253],{},[93,254,255],{},"GitHub · GitHub Actions",[87,257,258],{},"Build + tests à chaque push, scan de sécurité des dépendances (DevSecOps), conteneurisation",[260,261,263],"h2",{"id":262},"pourquoi-go-et-rust","Pourquoi Go et Rust",[59,265,266,267,269,270,272],{},"Ce ne sont pas des choix de niche. ",[93,268,132],{}," fait tourner Google, Uber, Cloudflare, ainsi que Docker et Kubernetes (tous deux écrits en Go). ",[93,271,145],{}," est adopté par Microsoft, AWS, Cloudflare et Discord pour leurs systèmes critiques, et a rejoint le noyau Linux et Android. Nous mettons cette technologie de niveau mondial au service de votre projet.",[274,275,276,282,287,292],"ul",{},[277,278,279,281],"li",{},[93,280,132],{}," compile en un binaire unique, démarre en millisecondes et tient des milliers de connexions sur une faible empreinte mémoire — décisif pour soutenir 2 000 utilisateurs sur une infrastructure au budget maîtrisé.",[277,283,284,286],{},[93,285,145],{}," apporte la sécurité mémoire sans ramasse-miettes et une précision arithmétique infaillible — ce qu'exigent un registre financier et le chiffrement d'un coffre-fort.",[277,288,289,291],{},[93,290,202],{}," apporte les transactions ACID indispensables à un registre de paiement fiable.",[277,293,294,297,298,301],{},[93,295,296],{},"Un seul cœur Rust, réutilisé partout"," : la compression et la validation des médias sont écrites une fois, puis compilées en ",[93,299,300],{},"WebAssembly"," pour le web, en natif pour le mobile et en binaire côté serveur.",[260,303,305],{"id":304},"la-barre-des-3-secondes","La barre des 3 secondes",[59,307,308],{},"Chaque milliseconde du trajet est budgétée ; le dépassement casse le build.",[310,311],"erk-request-flow",{},[260,313,315],{"id":314},"optimisation-réseaux-lents","Optimisation réseaux lents",[274,317,318,328,342,348,351],{},[277,319,320,323,324,327],{},[93,321,322],{},"Hors-ligne"," : base ",[93,325,326],{},"SQLite"," sur mobile → saisie sans réseau, synchronisation automatique au retour de la connexion",[277,329,330,333,334,337,338,341],{},[93,331,332],{},"Photos (web)"," : pré-compression ",[93,335,336],{},"dans le navigateur"," via un module ",[93,339,340],{},"Rust → WebAssembly"," avant l'envoi — l'upload part allégé (jusqu'à −70 %), décisif sur 3G/4G ; module chargé à la demande pour préserver le budget des 3 s",[277,343,344,347],{},[93,345,346],{},"Vidéo"," : compression côté serveur (Rust), flux optimisés pour la bande passante 4G",[277,349,350],{},"Images adaptées à l'écran et au débit réel, chargement différé",[277,352,353],{},"Barre des 3 secondes vérifiée à chaque intégration",{"title":355,"searchDepth":356,"depth":356,"links":357},"",2,[358,359,360],{"id":262,"depth":356,"text":263},{"id":304,"depth":356,"text":305},{"id":314,"depth":356,"text":315},"Chaque technologie justifiée par une exigence du cahier des charges.","md",{"icon":364},"lucide:cpu",true,{"title":21,"description":361},"msqRe3VUm30c-D_JhytzIe-n8ytekG8EK5YfhbU7PrY",[369,371],{"title":15,"path":16,"stem":17,"description":370,"children":-1},"Architecture microservices découplée, dimensionnée pour vos contraintes.",{"title":25,"path":26,"stem":27,"description":372,"children":-1},"Paiements, coffre-fort, données personnelles — le niveau bancaire exigé.",1784726248077]