{"id":83,"date":"2026-06-21T10:37:21","date_gmt":"2026-06-21T09:37:21","guid":{"rendered":"https:\/\/salaires.skolpex.com\/?page_id=83"},"modified":"2026-06-21T11:45:29","modified_gmt":"2026-06-21T10:45:29","slug":"83-2","status":"publish","type":"page","link":"https:\/\/salaires.skolpex.com\/?page_id=83","title":{"rendered":"Calcul de salaire avec sous-programmes"},"content":{"rendered":"<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n<meta charset=\"utf-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<title>Calculateur du Salaire des Personnels de Direction - Alg\u00e9rie<\/title>\r\n<link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.3\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\r\n<style>\r\nbody{ background:#f4f6f9; font-family: system-ui, -apple-system, sans-serif; }\r\n.card{ border:none; border-radius:15px; box-shadow:0 3px 15px rgba(0,0,0,.1); background: #ffffff; }\r\n.header{ background:#85144b; color:white; padding:20px; border-radius:15px 15px 0 0; }\r\n.result{ font-size:1.2rem; font-weight:bold; }\r\n.table td{ vertical-align:middle; }\r\nfooter{ margin-top:40px; text-align:center; color:#666; font-size: 0.9rem; }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"container py-5\">\r\n    <div class=\"card\">\r\n        <div class=\"header\">\r\n            <h2>Calculateur du Salaire des Personnels de Direction<\/h2>\r\n            <p class=\"mb-0 opacity-75\">Simulation du traitement net, des zones, de la situation familiale et de la Prime d'Am\u00e9lioration (Grille Officielle)<\/p>\r\n        <\/div>\r\n\r\n        <div class=\"card-body\">\r\n            <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                    <label class=\"form-label\">Grade de Direction<\/label>\r\n                    <select class=\"form-select\" id=\"grade\">\r\n                        <option value=\"17\" selected>Directeur de Lyc\u00e9e (Cat\u00e9gorie 17)<\/option>\r\n                        <option value=\"16\">Directeur de CEM (Cat\u00e9gorie 16)<\/option>\r\n                        <option value=\"15\">Directeur d'\u00c9cole Primaire (Cat\u00e9gorie 15)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"col-md-3\">\r\n                    <label class=\"form-label\">\u00c9chelon<\/label>\r\n                    <select class=\"form-select\" id=\"echelon\">\r\n                        <option>0<\/option><option>1<\/option><option>2<\/option><option>3<\/option>\r\n                        <option>4<\/option><option>5<\/option><option>6<\/option><option>7<\/option>\r\n                        <option>8<\/option><option>9<\/option><option>10<\/option><option>11<\/option>\r\n                        <option>12<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"col-md-3\">\r\n                    <label class=\"form-label\">Taux Prime P\u00e9dagogique (0-40%)<\/label>\r\n                    <select class=\"form-select\" id=\"prime\">\r\n                        <option value=\"0\">0 %<\/option><option value=\"10\">10 %<\/option>\r\n                        <option value=\"20\">20 %<\/option><option value=\"30\">30 %<\/option>\r\n                        <option value=\"35\">35 %<\/option><option value=\"40\" selected>40 %<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"col-md-6 mt-3\">\r\n                    <label class=\"form-label\">Wilaya (Zone g\u00e9ographique)<\/label>\r\n                    <select class=\"form-select\" id=\"wilaya\">\r\n    <optgroup label=\"Zone Nord (0%)\">\r\n        <option value=\"0\" selected>15 - Tizi Ouzou<\/option>\r\n        <option value=\"0\">02 - Chlef<\/option>\r\n        <option value=\"0\">06 - B\u00e9ja\u00efa<\/option>\r\n        <option value=\"0\">09 - Blida<\/option>\r\n        <option value=\"0\">13 - Tlemcen<\/option>\r\n        <option value=\"0\">16 - Alger<\/option>\r\n        <option value=\"0\">18 - Jijel<\/option>\r\n        <option value=\"0\">21 - Skikda<\/option>\r\n        <option value=\"0\">23 - Annaba<\/option>\r\n        <option value=\"0\">24 - Guelma<\/option>\r\n        <option value=\"0\">25 - Constantine<\/option>\r\n        <option value=\"0\">27 - Mostaganem<\/option>\r\n        <option value=\"0\">29 - Mascara<\/option>\r\n        <option value=\"0\">31 - Oran<\/option>\r\n        <option value=\"0\">35 - Boumerd\u00e8s<\/option>\r\n        <option value=\"0\">36 - El Tarf<\/option>\r\n        <option value=\"0\">38 - Tissemsilt<\/option>\r\n        <option value=\"0\">41 - Souk Ahras<\/option>\r\n        <option value=\"0\">42 - Tipaza<\/option>\r\n        <option value=\"0\">44 - A\u00efn Defla<\/option>\r\n        <option value=\"0\">46 - A\u00efn T\u00e9mouchent<\/option>\r\n        <option value=\"0\">48 - Relizane<\/option>\r\n    <\/optgroup>\r\n    <optgroup label=\"Zone Hauts Plateaux \/ Int\u00e9rieur (15%)\">\r\n        <option value=\"15\">03 - Laghouat<\/option>\r\n        <option value=\"15\">04 - Oum El Bouaghi<\/option>\r\n        <option value=\"15\">05 - Batna<\/option>\r\n        <option value=\"15\">07 - Biskra<\/option>\r\n        <option value=\"15\">10 - Bouira<\/option>\r\n        <option value=\"15\">12 - T\u00e9bessa<\/option>\r\n        <option value=\"15\">14 - Tiaret<\/option>\r\n        <option value=\"15\">17 - Djelfa<\/option>\r\n        <option value=\"15\">19 - S\u00e9tif<\/option>\r\n        <option value=\"15\">20 - Sa\u00efda<\/option>\r\n        <option value=\"15\">22 - Sidi Bel Abb\u00e8s<\/option>\r\n        <option value=\"15\">26 - M\u00e9d\u00e9a<\/option>\r\n        <option value=\"15\">28 - M'Sila<\/option>\r\n        <option value=\"15\">34 - Bordj Bou Arr\u00e9ridj<\/option>\r\n        <option value=\"15\">40 - Khenchela<\/option>\r\n        <option value=\"15\">43 - Mila<\/option>\r\n        <option value=\"15\">45 - Na\u00e2ma<\/option>\r\n        <option value=\"15\">47 - Gharda\u00efa<\/option>\r\n    <\/optgroup>\r\n    <optgroup label=\"Zone Sud (35%)\">\r\n        <option value=\"35\">08 - B\u00e9char<\/option>\r\n        <option value=\"35\">30 - Ouargla<\/option>\r\n        <option value=\"35\">32 - El Bayadh<\/option>\r\n        <option value=\"35\">39 - El Oued<\/option>\r\n        <option value=\"35\">49 - El M'Ghair<\/option>\r\n        <option value=\"35\">50 - El Meniaa<\/option>\r\n        <option value=\"35\">51 - Ouled Djellal<\/option>\r\n        <option value=\"35\">52 - Bordj Badji Mokhtar<\/option>\r\n        <option value=\"35\">53 - Beni Abb\u00e8s<\/option>\r\n        <option value=\"35\">56 - Touggourt<\/option>\r\n    <\/optgroup>\r\n    <optgroup label=\"Zone Grand Sud (80%)\">\r\n        <option value=\"80\">01 - Adrar<\/option>\r\n        <option value=\"80\">11 - Tamanrasset<\/option>\r\n        <option value=\"80\">33 - Illizi<\/option>\r\n        <option value=\"80\">37 - Tindouf<\/option>\r\n        <option value=\"80\">54 - In Salah<\/option>\r\n        <option value=\"80\">55 - In Guezzam<\/option>\r\n        <option value=\"57\">57 - Djanet<\/option>\r\n        <option value=\"80\">58 - Timimoun<\/option>\r\n    <\/optgroup>\r\n<\/select>\r\n                <\/div>\r\n\r\n                <div class=\"col-md-2 mt-3\">\r\n                    <label class=\"form-label\">Situation familiale<\/label>\r\n                    <select class=\"form-select\" id=\"situation\">\r\n                        <option value=\"0\" selected>C\u00e9libataire<\/option>\r\n                        <option value=\"1\">Mari\u00e9(e)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"col-md-2 mt-3\">\r\n                    <label class=\"form-label\">Enfants<\/label>\r\n                    <select class=\"form-select\" id=\"enfants\" disabled>\r\n                        <option value=\"0\">0<\/option><option value=\"1\">1<\/option>\r\n                        <option value=\"2\">2<\/option><option value=\"3\">3<\/option>\r\n                        <option value=\"4\">4<\/option><option value=\"5\">5<\/option>\r\n                        <option value=\"6\">6<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"col-md-2 mt-3\">\r\n                    <label class=\"form-label\">Femme au foyer<\/label>\r\n                    <select class=\"form-select\" id=\"foyer\" disabled>\r\n                        <option value=\"0\">Non<\/option>\r\n                        <option value=\"1\">Oui<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <hr class=\"my-4\">\r\n\r\n            <table class=\"table table-bordered\">\r\n                <thead style=\"background-color: #85144b; color: white;\">\r\n                    <tr><th>D\u00e9signation<\/th><th>Montant (DA)<\/th><\/tr>\r\n                <\/thead>\r\n                <tbody>\r\n                    <tr><td>Traitement principal<\/td><td id=\"trait\">0<\/td><\/tr>\r\n                    <tr><td>Indemnit\u00e9 d'exp\u00e9rience professionnelle (IEP)<\/td><td id=\"iep_prof\">0<\/td><\/tr>\r\n                    <tr><td>Indemnit\u00e9 d'exp\u00e9rience p\u00e9dagogique (IEPP)<\/td><td id=\"iep_pedag\">0<\/td><\/tr>\r\n                    <tr><td>Indemnit\u00e9 de qualification (IQ)<\/td><td id=\"iq\">0<\/td><\/tr>\r\n                    <tr><td>Indemnit\u00e9 de documentation (IDOC)<\/td><td id=\"doc\">0<\/td><\/tr>\r\n                    <tr><td>Indemnit\u00e9 de direction d'\u00e9tablissement d'enseignement<\/td><td id=\"idir\">0<\/td><\/tr>\r\n                    <tr><td>Indemnit\u00e9 de zone \/ r\u00e9gion<\/td><td id=\"valZone\">0<\/td><\/tr>\r\n                    \r\n                    <tr class=\"table-success\"><td>Allocations familiales<\/td><td id=\"valAf\">0<\/td><\/tr>\r\n                    <tr class=\"table-success\"><td>Salaire unique (Femme au foyer)<\/td><td id=\"valFaf\">0<\/td><\/tr>\r\n\r\n                    <tr class=\"table-danger\"><td>S\u00e9curit\u00e9 sociale (9%)<\/td><td id=\"ss\">0<\/td><\/tr>\r\n                    <tr class=\"table-danger\"><td>IRG (Salaire de base)<\/td><td id=\"irg\">0<\/td><\/tr>\r\n                <\/tbody>\r\n            <\/table>\r\n\r\n            <div class=\"alert text-white text-center\" style=\"background-color: #580c31;\">\r\n                <div class=\"result\">Salaire Mensuel Net (Hors Prime) : <span id=\"net\">0 DA<\/span><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"alert alert-info\">\r\n                <div class=\"result\">Prime d'Am\u00e9lioration P\u00e9dagogique Mensuelle Nette : <span id=\"primeMensuelle\">0 DA<\/span><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"alert alert-info\">\r\n                <div class=\"result\">Prime d'Am\u00e9lioration P\u00e9dagogique Trimestrielle Nette : <span id=\"primeTrimestrielle\">0 DA<\/span><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"alert alert-success text-center\">\r\n                <div class=\"result\">Salaire Net Total (avec Prime Mensuelle Liss\u00e9e) : <span id=\"netTotal\">0 DA<\/span><\/div>\r\n            <\/div>\r\n            \r\n            <div class=\"text-center mt-4\">\r\n                <button class=\"btn btn-outline-secondary\" onclick=\"window.print()\">Imprimer la fiche de calcul<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <footer>\u00a9 2026 - Simulateur de salaire des personnels de direction<\/footer>\r\n<\/div>\r\n\r\n<script src=\"\/wp-content\/plugins\/mon-simulateur\/sp_js\/calcul-irg.js\"><\/script>\r\n<script>\r\nconst PI = 45;\r\n\r\n\/\/ === IMPORTATION DES DONN\u00c9ES DEPUIS LE SOUS-PROGRAMME PHP ===\r\nconst GRILLE_INDICES = {\"1\":{\"minimal\":200,\"echelons\":[0,10,20,30,40,50,60,70,80,90,100,110,120]},\"2\":{\"minimal\":219,\"echelons\":[0,11,22,33,44,55,66,77,88,100,111,122,133]},\"3\":{\"minimal\":240,\"echelons\":[0,12,24,36,48,60,72,84,96,108,120,132,144]},\"4\":{\"minimal\":263,\"echelons\":[0,13,26,39,53,66,79,92,105,118,132,145,158]},\"5\":{\"minimal\":288,\"echelons\":[0,14,29,43,58,72,86,101,115,130,144,158,173]},\"6\":{\"minimal\":315,\"echelons\":[0,16,32,47,63,79,95,110,126,142,158,173,189]},\"7\":{\"minimal\":348,\"echelons\":[0,17,35,52,70,87,104,122,139,157,174,191,209]},\"8\":{\"minimal\":379,\"echelons\":[0,19,38,57,76,95,114,133,152,171,190,208,227]},\"9\":{\"minimal\":418,\"echelons\":[0,21,42,63,84,105,125,146,167,188,209,230,251]},\"10\":{\"minimal\":453,\"echelons\":[0,23,45,68,91,113,136,159,181,204,227,249,272]},\"11\":{\"minimal\":498,\"echelons\":[0,25,50,75,100,125,149,174,199,224,249,274,299]},\"12\":{\"minimal\":537,\"echelons\":[0,27,54,81,107,134,161,188,215,242,269,295,322]},\"13\":{\"minimal\":578,\"echelons\":[0,29,58,87,116,145,173,202,231,260,289,318,347]},\"14\":{\"minimal\":621,\"echelons\":[0,31,62,93,124,155,186,217,248,279,311,342,373]},\"15\":{\"minimal\":866,\"echelons\":[0,43,87,130,173,217,260,303,346,390,433,476,520]},\"16\":{\"minimal\":913,\"echelons\":[0,46,91,137,183,228,274,320,365,411,457,502,548]},\"17\":{\"minimal\":962,\"echelons\":[0,48,96,144,192,241,289,337,385,433,481,529,577]},\"HC_SUB1\":{\"minimal\":1055,\"echelons\":[0,53,106,158,211,264,317,369,422,475,528,580,633]},\"HC_SUB2\":{\"minimal\":1115,\"echelons\":[0,56,112,167,223,279,335,390,446,502,558,613,669]},\"HC_SUB3\":{\"minimal\":1180,\"echelons\":[0,59,118,177,236,295,354,413,472,531,590,649,708]},\"HC_SUB4\":{\"minimal\":1250,\"echelons\":[0,63,125,188,250,313,375,438,500,563,625,688,750]},\"HC_SUB5\":{\"minimal\":1325,\"echelons\":[0,66,133,199,265,331,398,464,530,596,663,729,795]},\"HC_SUB6\":{\"minimal\":1405,\"echelons\":[0,70,141,211,281,351,422,492,562,632,703,773,843]},\"HC_SUB7\":{\"minimal\":1605,\"echelons\":[0,80,161,241,321,401,482,562,642,722,803,883,963]}};\r\n\r\n\/\/ === CONFIGURATION DES PRIMES M\u00c9TIERS ===\r\nconst CONFIG_PRIMES = {\r\n    \"17\": { iq: 0.45, idoc: 3000, idir: 5000 },\r\n    \"16\": { iq: 0.45, idoc: 3000, idir: 4000 },\r\n    \"15\": { iq: 0.45, idoc: 3000, idir: 3000 }\r\n};\r\n\r\nfunction formatDA(x) { \r\n    return Number(x).toLocaleString('fr-FR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + \" DA\"; \r\n}\r\n\r\nfunction togglesFamille() {\r\n    let sitFam = document.getElementById(\"situation\").value;\r\n    let inputEnfants = document.getElementById(\"enfants\");\r\n    let inputFoyer = document.getElementById(\"foyer\");\r\n    \r\n    if (sitFam === \"0\") {\r\n        inputEnfants.value = \"0\";\r\n        inputFoyer.value = \"0\";\r\n        inputEnfants.disabled = true;\r\n        inputFoyer.disabled = true;\r\n    } else {\r\n        inputEnfants.disabled = false;\r\n        inputFoyer.disabled = false;\r\n    }\r\n}\r\n\r\nfunction calculer() {\r\n    togglesFamille();\r\n\r\n    let cat = document.getElementById(\"grade\").value;\r\n    let e = parseInt(document.getElementById(\"echelon\").value);\r\n    let p = parseFloat(document.getElementById(\"prime\").value);\r\n    let tauxZone = parseFloat(document.getElementById(\"wilaya\").value) \/ 100;\r\n    let nbrEnfants = parseInt(document.getElementById(\"enfants\").value);\r\n    let aFoyer = parseInt(document.getElementById(\"foyer\").value);\r\n\r\n    let matriceCategorie = GRILLE_INDICES[cat];\r\n    let indiceBaseMin = matriceCategorie.minimal;\r\n    let echelonIndex = matriceCategorie.echelons[e];\r\n\r\n    let traitement = (indiceBaseMin + echelonIndex) * PI;\r\n    let traitementEchelon0 = indiceBaseMin * PI;\r\n    let indemniteZone = traitementEchelon0 * tauxZone;\r\n\r\n    let iepProf = echelonIndex * PI;\r\n    let iepPedag = echelonIndex * PI;\r\n    \r\n    let primesActuelles = CONFIG_PRIMES[cat] || { iq: 0.45, idoc: 3000, idir: 3000 };\r\n    let iq = Math.round(primesActuelles.iq * traitement);\r\n    let doc = primesActuelles.idoc;\r\n    let idir = primesActuelles.idir;\r\n\r\n    let brut = traitement + iepProf + iepPedag + iq + doc + idir + indemniteZone;\r\n    let ss = brut * 0.09;\r\n\r\n  \/\/ --- NOUVEAU CALCUL IRG ---\r\n    let revenuImposable = Math.floor((brut - ss) \/ 10) * 10;\r\n    let irg = calculerIRG(revenuImposable);\r\n \/\/ --------------------------\r\n\r\n    let af = nbrEnfants * 300;\r\n    let faf = aFoyer * 800;\r\n\r\n    let net = (brut - ss - irg) + af + faf;\r\n\r\n    let primeBrute = traitement * p \/ 100;\r\n    let primeSS = primeBrute * 0.09;\r\n    let primeIRG = (primeBrute - primeSS) * 0.10; \r\n    let primeMensuelle = primeBrute - primeSS - primeIRG;\r\n    let primeTrimestrielle = primeMensuelle * 3;\r\n    let total = net + primeMensuelle;\r\n\r\n    document.getElementById(\"trait\").innerHTML = formatDA(traitement);\r\n    document.getElementById(\"iep_prof\").innerHTML = formatDA(iepProf);\r\n    document.getElementById(\"iep_pedag\").innerHTML = formatDA(iepPedag);\r\n    document.getElementById(\"iq\").innerHTML = formatDA(iq);\r\n    document.getElementById(\"doc\").innerHTML = formatDA(doc);\r\n    document.getElementById(\"idir\").innerHTML = formatDA(idir);\r\n    document.getElementById(\"valZone\").innerHTML = formatDA(indemniteZone);\r\n    document.getElementById(\"valAf\").innerHTML = formatDA(af);\r\n    document.getElementById(\"valFaf\").innerHTML = formatDA(faf);\r\n    document.getElementById(\"ss\").innerHTML = formatDA(ss);\r\n    document.getElementById(\"irg\").innerHTML = formatDA(irg);\r\n    document.getElementById(\"net\").innerHTML = formatDA(net);\r\n    document.getElementById(\"primeMensuelle\").innerHTML = formatDA(primeMensuelle);\r\n    document.getElementById(\"primeTrimestrielle\").innerHTML = formatDA(primeTrimestrielle);\r\n    document.getElementById(\"netTotal\").innerHTML = formatDA(total);\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n    calculer();\r\n    document.getElementById(\"grade\").addEventListener(\"change\", calculer);\r\n    document.getElementById(\"echelon\").addEventListener(\"change\", calculer);\r\n    document.getElementById(\"prime\").addEventListener(\"change\", calculer);\r\n    document.getElementById(\"wilaya\").addEventListener(\"change\", calculer);\r\n    document.getElementById(\"situation\").addEventListener(\"change\", calculer);\r\n    document.getElementById(\"enfants\").addEventListener(\"change\", calculer);\r\n    document.getElementById(\"foyer\").addEventListener(\"change\", calculer);\r\n});\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-83","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=\/wp\/v2\/pages\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":5,"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=\/wp\/v2\/pages\/83\/revisions"}],"predecessor-version":[{"id":90,"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=\/wp\/v2\/pages\/83\/revisions\/90"}],"wp:attachment":[{"href":"https:\/\/salaires.skolpex.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}