Merge: synchronisation MDT (Gitea) + travail Terraform/k3s
This commit is contained in:
@@ -0,0 +1 @@
|
||||
<groups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments></group></groups>
|
||||
@@ -0,0 +1 @@
|
||||
<applications />
|
||||
@@ -9,8 +9,10 @@ Properties= SiteCode, Salle, Role, Prefix, PosteType, OSDComputerNumber, Machine
|
||||
|
||||
[DefaultGateway]
|
||||
|
||||
; OK
|
||||
10.127.0.254=S1009
|
||||
|
||||
; OK
|
||||
10.126.193.254=S2073
|
||||
|
||||
10.126.207.254=S2074
|
||||
@@ -28,11 +30,13 @@ Properties= SiteCode, Salle, Role, Prefix, PosteType, OSDComputerNumber, Machine
|
||||
10.126.7.254=S2078
|
||||
10.126.9.254=S2078
|
||||
|
||||
10.126.21.254=S2079
|
||||
10.126.23.254=S2079
|
||||
; OK
|
||||
10.127.33.254=S2079
|
||||
10.127.35.254=S2079
|
||||
|
||||
10.126.35.254=S2080
|
||||
10.126.37.254=S2080
|
||||
; OK
|
||||
10.127.49.254=S2080
|
||||
10.127.51.254=S2080
|
||||
|
||||
10.126.49.254=S2081
|
||||
10.126.51.254=S2081
|
||||
@@ -65,8 +69,9 @@ Properties= SiteCode, Salle, Role, Prefix, PosteType, OSDComputerNumber, Machine
|
||||
10.127.209.254=S2090
|
||||
10.127.211.254=S2090
|
||||
|
||||
10.126.189.254=S2091
|
||||
10.126.191.254=S2091
|
||||
; OK
|
||||
10.127.225.254=S2091
|
||||
10.127.227.254=S2091
|
||||
|
||||
10.126.203.254=S2092
|
||||
10.126.205.254=S2092
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<unattend xmlns="urn:schemas-microsoft-com:unattend">
|
||||
<settings pass="windowsPE">
|
||||
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
|
||||
<ImageInstall>
|
||||
<OSImage>
|
||||
<WillShowUI>OnError</WillShowUI>
|
||||
<InstallTo>
|
||||
<DiskID>0</DiskID>
|
||||
<PartitionID>1</PartitionID>
|
||||
</InstallTo>
|
||||
<InstallFrom>
|
||||
<Path>.\Operating Systems\Microsoft Windows 10 X64 education version 22h2\install.wim</Path>
|
||||
<MetaData>
|
||||
<Key>/IMAGE/INDEX</Key>
|
||||
<Value>1</Value>
|
||||
</MetaData>
|
||||
</InstallFrom>
|
||||
</OSImage>
|
||||
</ImageInstall>
|
||||
<ComplianceCheck>
|
||||
<DisplayReport>OnError</DisplayReport>
|
||||
</ComplianceCheck>
|
||||
<UserData>
|
||||
<AcceptEula>true</AcceptEula>
|
||||
<ProductKey>
|
||||
<Key></Key>
|
||||
</ProductKey>
|
||||
</UserData>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<SetupUILanguage>
|
||||
<UILanguage>en-US</UILanguage>
|
||||
</SetupUILanguage>
|
||||
<InputLocale>0409:00000409</InputLocale>
|
||||
<SystemLocale>en-US</SystemLocale>
|
||||
<UILanguage>en-US</UILanguage>
|
||||
<UserLocale>en-US</UserLocale>
|
||||
</component>
|
||||
</settings>
|
||||
<settings pass="generalize">
|
||||
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
|
||||
</component>
|
||||
</settings>
|
||||
<settings pass="specialize">
|
||||
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
|
||||
<Identification>
|
||||
<Credentials>
|
||||
<Username></Username>
|
||||
<Domain></Domain>
|
||||
<Password></Password>
|
||||
</Credentials>
|
||||
<JoinDomain></JoinDomain>
|
||||
<JoinWorkgroup></JoinWorkgroup>
|
||||
<MachineObjectOU></MachineObjectOU>
|
||||
</Identification>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
|
||||
<ComputerName></ComputerName>
|
||||
<ProductKey></ProductKey>
|
||||
<RegisteredOrganization>Service Exploitation - DNE</RegisteredOrganization>
|
||||
<RegisteredOwner>Region Hauts-de-France</RegisteredOwner>
|
||||
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
|
||||
<TimeZone>Pacific Standard Time</TimeZone>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Home_Page>about:blank</Home_Page>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<RunSynchronous>
|
||||
<RunSynchronousCommand wcm:action="add">
|
||||
<Description>EnableAdmin</Description>
|
||||
<Order>1</Order>
|
||||
<Path>cmd /c net user Administrator /active:yes</Path>
|
||||
</RunSynchronousCommand>
|
||||
<RunSynchronousCommand wcm:action="add">
|
||||
<Description>UnfilterAdministratorToken</Description>
|
||||
<Order>2</Order>
|
||||
<Path>cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f</Path>
|
||||
</RunSynchronousCommand>
|
||||
<RunSynchronousCommand wcm:action="add">
|
||||
<Description>disable user account page</Description>
|
||||
<Order>3</Order>
|
||||
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
|
||||
</RunSynchronousCommand>
|
||||
<RunSynchronousCommand wcm:action="add">
|
||||
<Description>disable async RunOnce</Description>
|
||||
<Order>4</Order>
|
||||
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer /v AsyncRunOnce /t REG_DWORD /d 0 /f</Path>
|
||||
</RunSynchronousCommand>
|
||||
</RunSynchronous>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<InputLocale>0409:00000409</InputLocale>
|
||||
<SystemLocale>en-US</SystemLocale>
|
||||
<UILanguage>en-US</UILanguage>
|
||||
<UserLocale>en-US</UserLocale>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-TapiSetup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<TapiConfigured>0</TapiConfigured>
|
||||
<TapiUnattendLocation>
|
||||
<AreaCode>""</AreaCode>
|
||||
<CountryOrRegion>1</CountryOrRegion>
|
||||
<LongDistanceAccess>9</LongDistanceAccess>
|
||||
<OutsideAccess>9</OutsideAccess>
|
||||
<PulseOrToneDialing>1</PulseOrToneDialing>
|
||||
<DisableCallWaiting>""</DisableCallWaiting>
|
||||
<InternationalCarrierCode>""</InternationalCarrierCode>
|
||||
<LongDistanceCarrierCode>""</LongDistanceCarrierCode>
|
||||
<Name>Default</Name>
|
||||
</TapiUnattendLocation>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-SystemRestore-Main" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<DisableSR>1</DisableSR>
|
||||
</component>
|
||||
</settings>
|
||||
<settings pass="oobeSystem">
|
||||
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
|
||||
<UserAccounts>
|
||||
<AdministratorPassword>
|
||||
<Value></Value>
|
||||
<PlainText>true</PlainText>
|
||||
</AdministratorPassword>
|
||||
</UserAccounts>
|
||||
<AutoLogon>
|
||||
<Enabled>true</Enabled>
|
||||
<Username>Administrator</Username>
|
||||
<Domain>.</Domain>
|
||||
<Password>
|
||||
<Value></Value>
|
||||
<PlainText>true</PlainText>
|
||||
</Password>
|
||||
<LogonCount>999</LogonCount>
|
||||
</AutoLogon>
|
||||
<Display>
|
||||
<ColorDepth></ColorDepth>
|
||||
<HorizontalResolution></HorizontalResolution>
|
||||
<RefreshRate></RefreshRate>
|
||||
<VerticalResolution></VerticalResolution>
|
||||
</Display>
|
||||
<FirstLogonCommands>
|
||||
<SynchronousCommand wcm:action="add">
|
||||
<CommandLine>wscript.exe %SystemDrive%\LTIBootstrap.vbs</CommandLine>
|
||||
<Description>Lite Touch new OS</Description>
|
||||
<Order>1</Order>
|
||||
</SynchronousCommand>
|
||||
</FirstLogonCommands>
|
||||
<OOBE>
|
||||
<HideEULAPage>true</HideEULAPage>
|
||||
<NetworkLocation>Work</NetworkLocation>
|
||||
<ProtectYourPC>1</ProtectYourPC>
|
||||
<HideLocalAccountScreen>true</HideLocalAccountScreen>
|
||||
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
|
||||
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
|
||||
</OOBE>
|
||||
<RegisteredOrganization>Service Exploitation - DNE</RegisteredOrganization>
|
||||
<RegisteredOwner>Region Hauts-de-France</RegisteredOwner>
|
||||
<TimeZone></TimeZone>
|
||||
</component>
|
||||
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<InputLocale>0409:00000409</InputLocale>
|
||||
<SystemLocale>en-US</SystemLocale>
|
||||
<UILanguage>en-US</UILanguage>
|
||||
<UserLocale>en-US</UserLocale>
|
||||
</component>
|
||||
</settings>
|
||||
<settings pass="offlineServicing">
|
||||
<component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<DriverPaths>
|
||||
<PathAndCredentials wcm:keyValue="1" wcm:action="add">
|
||||
<Path>\Drivers</Path>
|
||||
</PathAndCredentials>
|
||||
</DriverPaths>
|
||||
</component>
|
||||
</settings>
|
||||
</unattend>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<groups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments><LastModifiedTime>07/05/2026 07:14:52</LastModifiedTime><LastModifiedBy>LEN-T470-AH\ahamez</LastModifiedBy><Member>{39b4a76b-3a4f-4498-906f-0e1f0794acef}</Member></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments></group></groups>
|
||||
@@ -0,0 +1 @@
|
||||
<linkedDeploymentShares><linkedDeploymentShare guid="{39b4a76b-3a4f-4498-906f-0e1f0794acef}" enable="True"><Name>LINKED001</Name><Comments></Comments><CreatedTime>07/05/2026 07:14:52</CreatedTime><CreatedBy>LEN-T470-AH\ahamez</CreatedBy><LastModifiedTime>07/05/2026 11:55:29</LastModifiedTime><LastModifiedBy>LEN-T470-AH\ahamez</LastModifiedBy><Root>\\10.200.38.158\mdt$</Root><SelectionProfile>Drivers_WinPE_x64</SelectionProfile><Replace>False</Replace><CopyStandardFolders>False</CopyStandardFolders><UpdateBoot>False</UpdateBoot><SingleUser>False</SingleUser></linkedDeploymentShare></linkedDeploymentShares>
|
||||
@@ -0,0 +1 @@
|
||||
<groups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments><LastModifiedTime>09/06/2026 11:38:42</LastModifiedTime><LastModifiedBy>LEN-T470-AH\ahamez</LastModifiedBy><Member>{674147b0-e382-41d6-aa6c-0e083111d89b}</Member></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments></group></groups>
|
||||
@@ -0,0 +1 @@
|
||||
<groups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments><LastModifiedTime>11/04/2026 14:08:38</LastModifiedTime><LastModifiedBy>LUFFY\Almeyric</LastModifiedBy></group><group guid="{0eccad77-ff2e-4c0d-9ebf-8fe8d87551b9}" enable="True"><Name>Windows_11</Name><CreatedTime>11/04/2026 13:12:36</CreatedTime><CreatedBy>LUFFY\Almeyric</CreatedBy><LastModifiedTime>11/04/2026 14:08:38</LastModifiedTime><LastModifiedBy>LUFFY\Almeyric</LastModifiedBy><Member>{98319665-0004-4286-b1fc-b120534d8125}</Member><Member>{38541111-9007-45cd-aa18-98bbfbc77e03}</Member><Member>{ba8b38c1-9b17-44a3-b8bf-f05ed69363a3}</Member><Member>{9ac7e41f-9692-4ffa-b5c4-ca5d453ab328}</Member><Member>{4c947da3-6698-4848-9444-f9bafa9f9d0d}</Member><Member>{83cb770d-be41-49ab-9323-13d920fe482b}</Member><Member>{dedaea2f-a80c-4b48-b5f4-ca31387a257e}</Member><Member>{5c18819a-fc61-47d0-9f98-bc91e45d51e6}</Member><Member>{87816675-aeb2-4f87-8b1e-2a53e0bf6fbd}</Member><Member>{18bb36e0-981b-40e1-9ecf-a2b613f4f1d9}</Member></group></groups>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<groups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments></group></groups>
|
||||
@@ -0,0 +1 @@
|
||||
<packages />
|
||||
@@ -0,0 +1 @@
|
||||
<selectionProfilegroups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments><LastModifiedTime>06/05/2026 14:55:24</LastModifiedTime><LastModifiedBy>S0592850C-MDT\Administrateur</LastModifiedBy><Member>{f8ab0b9d-9bab-4b7c-983f-4ca2c471716c}</Member><Member>{4fedadad-4037-4571-b5d4-5fe2c44b3a4f}</Member><Member>{1b67317f-f70d-49d9-9eec-b7b6a22cda8b}</Member><Member>{88e2de35-1871-488c-ba98-634fdaef0583}</Member><Member>{69247ae9-9c3a-4a84-9cc6-3d29ab2c27c6}</Member><Member>{12e3dc5b-e022-4a5d-8a8e-401e9299ae70}</Member><Member>{8047f023-52c9-4d9b-a706-7b41738ddd79}</Member><Member>{2acd40fb-da85-442a-9426-6a9dcc184929}</Member><Member>{2f10d4c5-010a-4120-9fba-c36ecdfb5b15}</Member><Member>{43f552ca-a90a-4973-9110-08a2a3c6484d}</Member><Member>{245a109f-5d62-4f74-beff-19b22fcfe171}</Member><Member>{edae53ab-3da0-4a4b-8e18-61f517f9bfc5}</Member><Member>{4629a057-1bd1-4ea0-8002-fccf5d1c5977}</Member><Member>{c668c6e5-30ba-43f4-b4c0-a4c8f5c1fe8f}</Member><Member>{c992deb2-3ced-46fe-8bdd-e4a299ece2ff}</Member><Member>{b4248074-49b2-4216-86a1-26ea5377a3a4}</Member><Member>{4d5b0aa7-97b7-437a-9f0a-6d58e8a5441b}</Member><Member>{f1fc2690-9f5e-4326-aaeb-8b1e99159acf}</Member><Member>{117e9946-7c8f-4fd3-a149-02f4adada31d}</Member><Member>{551150f4-ce2b-4d0b-a314-9cbe3d2ebeb9}</Member><Member>{445afd8a-a3b4-4eb8-967a-9d7901373c09}</Member><Member>{e1e5538f-ab19-4629-84e3-40d263b28417}</Member><Member>{72fdffee-98ac-45ba-8711-a613d2a32647}</Member><Member>{2500b1cd-1074-4929-bce9-f5b275ef1596}</Member><Member>{95b2bb23-7cf1-4782-a099-e506f198f369}</Member><Member>{ad4d1bec-cb76-4e72-824a-ec004e31099b}</Member><Member>{9b84256c-333b-4d7c-b17c-afb6b5801a6f}</Member><Member>{0f0450fe-0f2a-4121-82f9-b7927d716e44}</Member><Member>{5dcd8f05-09d7-4bb6-8e83-3a0171f03df2}</Member><Member>{b04f40a9-10ae-416f-8703-49982b920d88}</Member><Member>{c9c4597b-9fd3-44c9-aecd-9e2d47c9dbb9}</Member><Member>{47eb9dde-e6eb-4f4a-8230-96631db46c85}</Member><Member>{d966bb01-b5e3-4781-bbcb-be8e9741a403}</Member><Member>{f14cd54a-53eb-43d4-82b9-1c116fb2e1e8}</Member><Member>{aba4d51f-3cab-47f4-bb02-5feeda71bc3e}</Member><Member>{38195fec-36a3-4cf1-b65f-c23bc5bf01b6}</Member><Member>{cf8c25a3-00a7-49ee-978f-c9e5eee0437f}</Member><Member>{af949e5f-b546-4724-b8af-ad1af63e4e7a}</Member><Member>{92db7c24-370e-42fd-8dfc-d363c1a806da}</Member><Member>{ff3348c9-17b3-4c65-954b-ce5e1f7a0530}</Member><Member>{e85e1c61-7107-44db-9a69-794fd3fc7443}</Member><Member>{7becce75-e11b-42d7-bd63-e74a8e13973a}</Member><Member>{5e92938a-1042-4bd6-a01a-8d398752b33f}</Member><Member>{c3a4a381-04c4-470c-ba2e-9428f3280f0a}</Member><Member>{7c37871c-cf86-4d48-afdb-1cc93a7750f1}</Member><Member>{84344712-38e8-4f84-9c3d-79e68ce7b7eb}</Member><Member>{b4486e74-42ae-49db-a96c-de219a1c0a93}</Member><Member>{c6e16269-cf47-4897-a82d-490634910436}</Member><Member>{9fc6719b-edd0-4a80-a70f-e5529514f491}</Member><Member>{69666434-a0c0-431f-be0f-63dc735c98d9}</Member><Member>{6f6c7982-72f2-4dcd-8fc1-905c9b8421a5}</Member><Member>{ea6bde99-39f3-4289-8f13-2b22c7d6d725}</Member><Member>{6f561028-f3cc-4e04-8cc2-9197df75a3b6}</Member><Member>{0250f34a-405b-4eb9-bab0-db7eef944122}</Member><Member>{1e9931b0-5dd0-457f-aa8c-d2f50d5d60b6}</Member><Member>{77711bd8-7bf7-4e18-9cfd-6e9b4590d016}</Member><Member>{ef894f9a-5217-432d-a4f4-fa17970af76e}</Member><Member>{f566396e-03cd-4379-9a7a-9bc3c07d5686}</Member><Member>{91fd7f63-283c-4832-9a1d-2c6f3db7e3e4}</Member><Member>{f9925bf1-76f7-4911-810f-6d6ddab71378}</Member><Member>{82d43f65-5fbe-4dd0-a5c6-c4a70bdafa67}</Member><Member>{9ee0a3f0-47fd-46f3-8795-e531bcb93abe}</Member><Member>{80e39bc0-5933-485d-b384-606e72837b4b}</Member><Member>{f3bf1705-90d3-40f1-bc16-44f2861b6336}</Member><Member>{4ff39fb4-57b5-4996-ab55-d66ab5d02abe}</Member><Member>{ef457e41-cec2-4f46-8ea3-12306f1f6931}</Member><Member>{9a0b1e9e-4de8-49bf-a5f6-bd5bdbc8d0bc}</Member><Member>{b06fb6fd-d863-4ca7-8d3b-0d9939af643c}</Member><Member>{197abbfe-13b8-46e8-9a4f-a8e9e6e62769}</Member><Member>{9a962717-10b9-4473-b161-525c0f61820f}</Member><Member>{7e1b5893-eb16-4d0b-a010-9d9e3b9acd90}</Member><Member>{ca0a1d3c-9d29-47be-b521-ff92c5dd9bff}</Member><Member>{976bdbe1-a594-4805-8476-2580fbdf6050}</Member><Member>{1e81ba78-bebd-4e54-bbbd-4363aae96e8e}</Member><Member>{3b87c02f-e027-497a-9c09-29c0374db5ce}</Member><Member>{2247abd2-1efb-4d6a-a413-901d0c5c5d34}</Member></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments></group></selectionProfilegroups>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<groups><group guid="{00000000-0000-0000-0000-000000000000}" enable="True"><Name>default</Name><Comments>default folder (root)</Comments></group><group guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" enable="True"><Name>hidden</Name><Comments>This folder contains shared source items that have not been made explicitly visible in this deployment share.</Comments></group><group guid="{6a6ecdd2-bc93-4fd6-91a4-0376c9fdc65b}" enable="True"><Name>Windows 11 x64</Name><CreatedTime>11/04/2026 10:35:45</CreatedTime><CreatedBy>LUFFY\Almeyric</CreatedBy><LastModifiedTime>11/04/2026 14:08:38</LastModifiedTime><LastModifiedBy>LUFFY\Almeyric</LastModifiedBy></group><group guid="{d13aa1d3-3978-47ef-9523-28a72773577e}" enable="True"><Name>Windows 11 x64\V25H2</Name><CreatedTime>11/04/2026 10:35:52</CreatedTime><CreatedBy>LUFFY\Almeyric</CreatedBy><LastModifiedTime>11/04/2026 14:08:38</LastModifiedTime><LastModifiedBy>LUFFY\Almeyric</LastModifiedBy><Member>{f2d6be08-5959-40f3-bbe7-23e753e0eb4b}</Member></group></groups>
|
||||
@@ -0,0 +1 @@
|
||||
<tss><ts guid="{f2d6be08-5959-40f3-bbe7-23e753e0eb4b}" hide="" enable="True"><Name>Windows11 - 25H2 - X64 - Lenovo HDF</Name><Comments>GEN 3 à Gen 5</Comments><CreatedTime>11/04/2026 14:08:38</CreatedTime><CreatedBy>LUFFY\Almeyric</CreatedBy><LastModifiedTime>11/04/2026 14:08:38</LastModifiedTime><LastModifiedBy>LUFFY\Almeyric</LastModifiedBy><DisplayName></DisplayName><ID>DEPL-W11-25H2-00</ID><Version>1.0</Version><TaskSequenceTemplate>Client.xml</TaskSequenceTemplate></ts></tss>
|
||||
@@ -0,0 +1 @@
|
||||
<version>6.3.8456.1000</version>
|
||||
@@ -0,0 +1,79 @@
|
||||
Setting,Value
|
||||
USBPortAccess,Enabled
|
||||
USBEnumerationDelay,Disabled
|
||||
FrontUSBPorts,Enabled
|
||||
RearUSBPorts,Enabled
|
||||
USBPort1,Enabled
|
||||
USBPort2,Enabled
|
||||
USBPort3,Enabled
|
||||
USBPort5,Enabled
|
||||
USBPort6,Enabled
|
||||
USBPort7,Enabled
|
||||
USBPort8,Enabled
|
||||
SATAController,Enabled
|
||||
SATADrive1,Enabled
|
||||
SATADrive2,Enabled
|
||||
HardDiskPre-delay,Disabled
|
||||
SelectActiveVideo,Auto
|
||||
OnboardAudioController,Enabled
|
||||
InternalSpeaker,Enabled
|
||||
OnboardEthernetController,Enabled
|
||||
PXEIPV4NetworkStack,Enabled
|
||||
ASPMSupport,Auto
|
||||
PCIe16xSlotSpeed,Auto
|
||||
PCIe1xSlotSpeed,Auto
|
||||
SpeedShiftTechnology,Enabled
|
||||
HyperThreadingTechnology,Enabled
|
||||
CoreMultiProcessing,Enabled
|
||||
VirtualizationTechnology,Enabled
|
||||
VTdFeature,Enabled
|
||||
C1ESupport,Enabled
|
||||
CStateSupport,C1C3C6C7C8C10
|
||||
IntelDPTFSupport,Enabled
|
||||
AfterPowerLoss,Last State
|
||||
EnhancedPowerSavingMode,Disabled
|
||||
SmartPowerOn,Enabled
|
||||
IntelligentCoolingPerformanceMode,Performance mode
|
||||
WakeUponAlarm,Disabled
|
||||
AlarmTime,[00:00:00]
|
||||
AlarmDayofWeek,Sunday
|
||||
UserDefinedAlarmSunday,Disabled
|
||||
UserDefinedAlarmMonday,Disabled
|
||||
UserDefinedAlarmTuesday,Disabled
|
||||
UserDefinedAlarmWednesday,Disabled
|
||||
UserDefinedAlarmThursday,Disabled
|
||||
UserDefinedAlarmFriday,Disabled
|
||||
UserDefinedAlarmSaturday,Disabled
|
||||
UserDefinedAlarmTime,[00:00:00]
|
||||
AccessSecuritySettings,Disabled
|
||||
RemoteSetSMP,Disabled
|
||||
RequireHDPonSystemBoot,Auto
|
||||
BlockSIDAuthentication,Enabled
|
||||
SetMinimumLength,Disabled
|
||||
SetStrongPassword,Disabled
|
||||
KeyboardLayout,English
|
||||
BIOSPasswordAtSystemBoot,Yes
|
||||
BIOSPasswordAtReboot,No
|
||||
BIOSPasswordAtBootDeviceList,No
|
||||
RequireSVPwhenFlashing,No
|
||||
AllowJumperClearSVP,Yes
|
||||
PasswordCountExceededError,Enabled
|
||||
SecureRollBackPrevention,Yes
|
||||
WindowsUEFIFirmwareUpdate,Enabled
|
||||
SmartUSBProtection,Disabled
|
||||
securewipe,Disabled
|
||||
SecurityChip,Enabled
|
||||
PhysicalPresenceforClear,Enabled
|
||||
SecureBoot,Enabled
|
||||
AbsolutePersistenceModule,Enabled
|
||||
CoverTamperDetected,Disabled
|
||||
ConfigurationChangeDetection,Disabled
|
||||
Firstbootdevice,Boot Order
|
||||
BootUpNumLockStatus,On
|
||||
UsbBootSupport,Enabled
|
||||
PXEIPV6NetworkStack,Disabled
|
||||
TurboMode,Enabled
|
||||
OptionKeysDisplay,Disabled
|
||||
WakeonLAN,Enabled
|
||||
FastBoot,Enabled
|
||||
BootOrder,PCIE SLOT 1:Network 1:USB HDD 1
|
||||
|
@@ -0,0 +1,85 @@
|
||||
Setting,Value
|
||||
USBPortAccess,Enabled
|
||||
USBEnumerationDelay,Disabled
|
||||
FrontUSBPorts,Enabled
|
||||
RearUSBPorts,Enabled
|
||||
USBPort1,Enabled
|
||||
USBPort2,Enabled
|
||||
USBPort3,Enabled
|
||||
USBPort5,Enabled
|
||||
USBPort6,Enabled
|
||||
USBPort7,Enabled
|
||||
USBPort8,Enabled
|
||||
SATAController,Enabled
|
||||
SATADrive1,Enabled
|
||||
SATADrive2,Enabled
|
||||
HardDiskPre-delay,Disabled
|
||||
SelectActiveVideo,Auto
|
||||
OnboardAudioController,Enabled
|
||||
InternalSpeaker,Enabled
|
||||
OnboardEthernetController,Enabled
|
||||
PXEIPV4NetworkStack,Enabled
|
||||
ASPMSupport,Auto
|
||||
PCIe16xSlotSpeed,Auto
|
||||
PCIe1xSlotSpeed,Auto
|
||||
SpeedShiftTechnology,Enabled
|
||||
HyperThreadingTechnology,Enabled
|
||||
CoreMultiProcessing,Enabled
|
||||
VirtualizationTechnology,Enabled
|
||||
VTdFeature,Enabled
|
||||
C1ESupport,Enabled
|
||||
CStateSupport,C1C3C6C7C8C10
|
||||
IntelDPTFSupport,Enabled
|
||||
AfterPowerLoss,Last State
|
||||
EnhancedPowerSavingMode,Disabled
|
||||
SmartPowerOn,Enabled
|
||||
IntelligentCoolingPerformanceMode,Performance mode
|
||||
WakeUponAlarm,Disabled
|
||||
AlarmTime,[00:00:00]
|
||||
AlarmDayofWeek,Sunday
|
||||
UserDefinedAlarmSunday,Disabled
|
||||
UserDefinedAlarmMonday,Disabled
|
||||
UserDefinedAlarmTuesday,Disabled
|
||||
UserDefinedAlarmWednesday,Disabled
|
||||
UserDefinedAlarmThursday,Disabled
|
||||
UserDefinedAlarmFriday,Disabled
|
||||
UserDefinedAlarmSaturday,Disabled
|
||||
UserDefinedAlarmTime,[00:00:00]
|
||||
AccessSecuritySettings,Disabled
|
||||
RemoteSetSMP,Disabled
|
||||
RequireHDPonSystemBoot,Auto
|
||||
BlockSIDAuthentication,Enabled
|
||||
SetMinimumLength,Disabled
|
||||
SetStrongPassword,Disabled
|
||||
KeyboardLayout,English
|
||||
BIOSPasswordAtSystemBoot,Yes
|
||||
BIOSPasswordAtReboot,No
|
||||
BIOSPasswordAtBootDeviceList,No
|
||||
RequireSVPwhenFlashing,No
|
||||
AllowJumperClearSVP,Yes
|
||||
PasswordCountExceededError,Enabled
|
||||
SecureRollBackPrevention,Yes
|
||||
WindowsUEFIFirmwareUpdate,Enabled
|
||||
SmartUSBProtection,Disabled
|
||||
securewipe,Disabled
|
||||
SecurityChip,Enabled
|
||||
PhysicalPresenceforClear,Enabled
|
||||
SecureBoot,Enabled
|
||||
AbsolutePersistenceModule,Enabled
|
||||
CoverTamperDetected,Disabled
|
||||
ConfigurationChangeDetection,Disabled
|
||||
Firstbootdevice,Boot Order
|
||||
BootUpNumLockStatus,On
|
||||
UsbBootSupport,Enabled
|
||||
Language,French
|
||||
M.2Drive1,Enabled
|
||||
PXEIPV6NetworkStack,Disabled
|
||||
TurboMode,Enabled
|
||||
OptionKeysDisplay,Enabled
|
||||
OptionKeysDisplayStyle,Normal
|
||||
WakeonLAN,Boot Order
|
||||
StartupSequence,Boot Order
|
||||
ThunderBoot,Enabled
|
||||
FastBoot,Enabled
|
||||
BootOrder,M.2 Drive 1:SATA 1:SATA 2:Network 1:USB HDD 1:USB CDROM
|
||||
AlarmDate,[01/01/2024]
|
||||
|
@@ -0,0 +1,86 @@
|
||||
Setting,Value
|
||||
USBPortAccess,Enabled
|
||||
USBEnumerationDelay,Disabled
|
||||
FrontUSBPorts,Enabled
|
||||
RearUSBPorts,Enabled
|
||||
USBPort1,Enabled
|
||||
USBPort2,Enabled
|
||||
USBPort3,Enabled
|
||||
USBPort5,Enabled
|
||||
USBPort6,Enabled
|
||||
USBPort7,Enabled
|
||||
USBPort8,Enabled
|
||||
SATAController,Enabled
|
||||
SATADrive1,Enabled
|
||||
SATADrive2,Enabled
|
||||
HardDiskPre-delay,Disabled
|
||||
SelectActiveVideo,Auto
|
||||
OnboardAudioController,Enabled
|
||||
InternalSpeaker,Enabled
|
||||
OnboardEthernetController,Enabled
|
||||
PXEIPV4NetworkStack,Enabled
|
||||
ASPMSupport,Auto
|
||||
PCIe16xSlotSpeed,Auto
|
||||
PCIe1xSlotSpeed,Auto
|
||||
SpeedShiftTechnology,Enabled
|
||||
HyperThreadingTechnology,Enabled
|
||||
CoreMultiProcessing,Enabled
|
||||
VirtualizationTechnology,Enabled
|
||||
VTdFeature,Enabled
|
||||
C1ESupport,Enabled
|
||||
CStateSupport,C1C3C6C7C8C10
|
||||
IntelDPTFSupport,Enabled
|
||||
AfterPowerLoss,Last State
|
||||
EnhancedPowerSavingMode,Disabled
|
||||
SmartPowerOn,Enabled
|
||||
IntelligentCoolingPerformanceMode,Performance mode
|
||||
WakeUponAlarm,Disabled
|
||||
AlarmTime,[00:00:00]
|
||||
AlarmDayofWeek,Sunday
|
||||
UserDefinedAlarmSunday,Disabled
|
||||
UserDefinedAlarmMonday,Disabled
|
||||
UserDefinedAlarmTuesday,Disabled
|
||||
UserDefinedAlarmWednesday,Disabled
|
||||
UserDefinedAlarmThursday,Disabled
|
||||
UserDefinedAlarmFriday,Disabled
|
||||
UserDefinedAlarmSaturday,Disabled
|
||||
UserDefinedAlarmTime,[00:00:00]
|
||||
AccessSecuritySettings,Disabled
|
||||
RemoteSetSMP,Disabled
|
||||
RequireHDPonSystemBoot,Auto
|
||||
BlockSIDAuthentication,Enabled
|
||||
SetMinimumLength,Disabled
|
||||
SetStrongPassword,Disabled
|
||||
KeyboardLayout,English
|
||||
BIOSPasswordAtSystemBoot,Yes
|
||||
BIOSPasswordAtReboot,No
|
||||
BIOSPasswordAtBootDeviceList,No
|
||||
RequireSVPwhenFlashing,No
|
||||
AllowJumperClearSVP,Yes
|
||||
PasswordCountExceededError,Enabled
|
||||
SecureRollBackPrevention,Yes
|
||||
WindowsUEFIFirmwareUpdate,Enabled
|
||||
SmartUSBProtection,Disabled
|
||||
securewipe,Disabled
|
||||
SecurityChip,Enabled
|
||||
PhysicalPresenceforClear,Enabled
|
||||
SecureBoot,Enabled
|
||||
AbsolutePersistenceModule,Enabled
|
||||
CoverTamperDetected,Disabled
|
||||
ConfigurationChangeDetection,Disabled
|
||||
Firstbootdevice,Boot Order
|
||||
BootUpNumLockStatus,On
|
||||
UsbBootSupport,Enabled
|
||||
Language,French
|
||||
M.2Drive1,Enabled
|
||||
PXEIPV6NetworkStack,Disabled
|
||||
IOMMU,Enabled
|
||||
TurboMode,Enabled
|
||||
OptionKeysDisplay,Enabled
|
||||
OptionKeysDisplayStyle,Normal
|
||||
WakeonLAN,Boot Order
|
||||
StartupSequence,Boot Order
|
||||
ThunderBoot,Disabled
|
||||
FastBoot,Enabled
|
||||
BootOrder,M.2 Drive 1:SATA 1:SATA 2:Network 1:USB CDROM:USB HDD 1
|
||||
AlarmDate,[01/01/2024]
|
||||
|
@@ -0,0 +1,90 @@
|
||||
; =========================================================
|
||||
; EXEMPLE CONFIGURATION BIOS LENOVO ZÉRO TOUCH
|
||||
; =========================================================
|
||||
; Ajouter la variable BIOSPassword dans votre CustomSettings.ini
|
||||
; pour passer le mot de passe BIOS automatiquement
|
||||
; =========================================================
|
||||
|
||||
; EXEMPLE 1 - Configuration globale (tous les déploiements)
|
||||
; Utiliser plutôt un script VBS sécurisé pour définir la variable BIOSPassword
|
||||
; Exemple: cscript.exe "%SCRIPTROOT%\SupportHDF\Set_BIOSPassword_FromDatabase.vbs"
|
||||
|
||||
[Default]
|
||||
; Aucune valeur de mot de passe BIOS ne doit être stockée en clair ici.
|
||||
; BIOSPassword=MonMotDePasseBIOS
|
||||
|
||||
; EXEMPLE 2 - Configuration par site
|
||||
; Les sections suivantes montrent l'emplacement mais ne doivent pas contenir de clair.
|
||||
[S2080]
|
||||
; BIOSPassword=MotDePasseS2080
|
||||
|
||||
[S2073]
|
||||
; BIOSPassword=MotDePasseS2073
|
||||
|
||||
; EXEMPLE 3 - Configuration par rôle/département
|
||||
[Role_Admin]
|
||||
; BIOSPassword=MotDePasseAdmin
|
||||
|
||||
[Role_User]
|
||||
; BIOSPassword=MotDePasseUser
|
||||
|
||||
; =========================================================
|
||||
; SÉCURITÉ - RECOMMANDATIONS IMPORTANTES
|
||||
; =========================================================
|
||||
;
|
||||
; ⚠️ NE PAS STOCKER LES MOTS DE PASSE EN CLAIR
|
||||
;
|
||||
; Alternatives recommandées:
|
||||
;
|
||||
; 1. Script VBS de prédeploiement (DeployWiz_Initialization.vbs)
|
||||
; → Récupère le mot de passe depuis une base de données sécurisée
|
||||
; → Établit la variable MDT BIOSPassword
|
||||
; → Utilisable avec LDAP, Active Directory, ou base de données locale
|
||||
;
|
||||
; 2. Chiffrement MDT avec DataBASE.xml
|
||||
; → Utiliser la fonction MDT natif de chiffrement
|
||||
;
|
||||
; 3. Configuration par groupe Active Directory
|
||||
; → Créer des groupes ordinateurs spécifiques
|
||||
; → Affecter les mots de passe par groupe
|
||||
;
|
||||
; 4. Service d'identité/Coffre-fort d'entreprise
|
||||
; → Intégration avec Azure Key Vault ou similaire
|
||||
; → Récupération sécurisée lors du déploiement
|
||||
;
|
||||
; =========================================================
|
||||
; FORMAT VARIABLES MDT DISPONIBLES
|
||||
; =========================================================
|
||||
;
|
||||
; Les variables suivantes sont automatiquement détectées:
|
||||
;
|
||||
; %LenovoModel% - Modèle Lenovo détecté (Gen 3, 4, ou 5)
|
||||
; %DEPLOYROOT% - Racine du partage MDT
|
||||
; %ComputerName% - Nom de l'ordinateur
|
||||
; %BIOSPassword% - Mot de passe BIOS (défini ici)
|
||||
;
|
||||
; =========================================================
|
||||
; COMPORTEMENT DU SCRIPT
|
||||
; =========================================================
|
||||
;
|
||||
; Le script ConfigureBIOSLenovo_TSIntegration.ps1:
|
||||
;
|
||||
; 1. Détecte le modèle Lenovo (Gen 3/4/5)
|
||||
; 2. Charge le fichier CSV approprié
|
||||
; 3. Vérifie l'état du mot de passe BIOS (WMI)
|
||||
; 4. Si mot de passe détecté ET BIOSPassword vide → ERREUR
|
||||
; 5. Applique les paramètres (avec ou sans mot de passe)
|
||||
; 6. Mode ZÉRO TOUCH - Pas d'interaction utilisateur
|
||||
;
|
||||
; =========================================================
|
||||
; LOGS DE DIAGNOSTIC
|
||||
; =========================================================
|
||||
;
|
||||
; Vérifier les logs de la séquence de tâches:
|
||||
; C:\MININT\SMSTS.log
|
||||
;
|
||||
; Chercher les lignes [INFO], [WARN], [ERROR]:
|
||||
; [INFO] Application des paramètres avec authentification BIOS...
|
||||
; [INFO] Paramètres BIOS appliqués avec succès (Zéro Touch)
|
||||
;
|
||||
; =========================================================
|
||||
@@ -0,0 +1,196 @@
|
||||
# Configuration BIOS Lenovo - Intégration MDT avec SetBIOS Module
|
||||
## Résumé des changements effectués
|
||||
|
||||
### 1. Fichiers CSV créés
|
||||
Trois fichiers CSV ont été créés dans le dossier `c:\MDT\Scripts\SupportHDF\CSV\`:
|
||||
|
||||
- **ConfigBIOSLenovo_Gen3.csv** - Paramètres pour ThinkCentre neo 50s Gen 3
|
||||
- **ConfigBIOSLenovo_Gen4.csv** - Paramètres pour ThinkCentre neo 50s Gen 4
|
||||
- **ConfigBIOSLenovo_Gen5.csv** - Paramètres pour ThinkCentre neo 50s Gen 5
|
||||
|
||||
Chaque fichier contient:
|
||||
- Les paramètres **CommonSettings** (communes à toutes les générations)
|
||||
- Les paramètres **GenX Settings** (spécifiques à chaque génération)
|
||||
- Format CSV: "Setting,Value" compatible avec le module SetBIOS.psm1
|
||||
|
||||
#### Contenu des fichiers CSV:
|
||||
- **Gen3**: 79 paramètres
|
||||
- **Gen4**: 84 paramètres
|
||||
- **Gen5**: 85 paramètres
|
||||
|
||||
### 2. Script PowerShell créé
|
||||
**Chemin**: `c:\MDT\Scripts\SupportHDF\ps1\ConfigureBIOSLenovo_TSIntegration.ps1`
|
||||
|
||||
**Fonction**: Script d'intégration à la séquence de tâches qui:
|
||||
1. Détecte le modèle Lenovo (Gen3, Gen4, ou Gen5)
|
||||
2. Charge le fichier CSV approprié
|
||||
3. Importe le module SetBIOS.psm1
|
||||
4. Vérifie si un mot de passe BIOS est configuré (via WMI)
|
||||
5. Exécute Set-Bios avec le fichier CSV
|
||||
6. Utilise la variable MDT `BIOSPassword` pour éviter toute interaction
|
||||
|
||||
**Variables d'environnement utilisées**:
|
||||
- `%DEPLOYROOT%` - Racine du déploiement MDT
|
||||
- `$env:LenovoModel` - Modèle détecté automatiquement via WMI
|
||||
|
||||
**Gestion du mot de passe**:
|
||||
- Détection automatique via classe WMI: `Lenovo_BiosPasswordSettings`
|
||||
- Le script appelle `Set-Bios -Password` si un mot de passe est détecté
|
||||
- L'utilisateur sera invité à entrer le mot de passe lors de l'exécution
|
||||
|
||||
### 3. Tâche ajoutée au fichier ts.xml
|
||||
**Chemin du fichier**: `c:\MDT\Control\DEPL-W11-25H2-00\ts.xml`
|
||||
|
||||
**Emplacement**: Dans le groupe "Postinstall", après le groupe "Settings Only Bios Change Lenovo"
|
||||
|
||||
**Groupe créé**: "Configure BIOS Lenovo Full Settings"
|
||||
- **Conditions**: S'exécute pour tous les ordinateurs Lenovo ThinkCentre (détection WMI)
|
||||
- **Tâche**: Exécute le script ConfigureBIOSLenovo_TSIntegration.ps1
|
||||
- **Mode**: WinPEandFullOS
|
||||
- **Gestion d'erreur**: continueOnError=true (ne bloque pas la séquence si erreur)
|
||||
|
||||
**Condition WMI**:
|
||||
```sql
|
||||
SELECT * FROM Win32_ComputerSystemProduct WHERE Name LIKE '%ThinkCentre%' OR Name LIKE '%neo 50s%'
|
||||
```
|
||||
|
||||
### 4. Fonctionnement du mot de passe BIOS (MODE ZÉRO TOUCH)
|
||||
|
||||
La tâche fonctionne **sans intervention utilisateur**:
|
||||
|
||||
**Sans mot de passe BIOS**:
|
||||
- Le script s'exécute normalement
|
||||
- Les paramètres sont appliqués directement
|
||||
|
||||
**Avec mot de passe BIOS actif** (Zéro Touch):
|
||||
- Le script détecte l'état du mot de passe via WMI (`Lenovo_BiosPasswordSettings`)
|
||||
- Le mot de passe doit être fourni via la variable MDT `BIOSPassword`
|
||||
- Le mot de passe est utilisé directement - **AUCUNE demande interactive**
|
||||
- Les paramètres sont appliqués avec authentification automatique
|
||||
|
||||
#### Configuration du mot de passe BIOS (MODE SÉCURISÉ)
|
||||
|
||||
Ne pas stocker le mot de passe en clair dans CustomSettings.ini.
|
||||
Le mot de passe doit être récupéré via un script sécurisé avant l'étape BIOS.
|
||||
|
||||
Utilisez le script VBS suivant:
|
||||
```ini
|
||||
cscript.exe "%SCRIPTROOT%\SupportHDF\Set_BIOSPassword_FromDatabase.vbs"
|
||||
```
|
||||
|
||||
Ce script doit définir la variable MDT `BIOSPassword` en mémoire au moment de l'exécution.
|
||||
|
||||
#### Conditions obligatoires:
|
||||
- Si un mot de passe BIOS est détecté sur le système
|
||||
- ET la variable `BIOSPassword` est vide
|
||||
- → **Le script échoue avec erreur** (pas d'authentification possible)
|
||||
|
||||
#### Recommandations sécurité:
|
||||
1. Ne pas mettre le mot de passe en clair dans CustomSettings.ini
|
||||
2. Utiliser un script VBS de prédeploiement qui:
|
||||
- Récupère le mot de passe depuis une source chiffrée ou sécurisée
|
||||
- Le définit dans la variable MDT `BIOSPassword`
|
||||
3. Ne conserver aucun mot de passe BIOS en clair dans les fichiers de configuration
|
||||
|
||||
|
||||
### 5. Détection du modèle Lenovo
|
||||
|
||||
Le script détecte automatiquement la génération selon les critères suivants:
|
||||
- **Gen 5**: Si le modèle contient "Gen 5", "Gen5", "gen 5", ou "gen5"
|
||||
- **Gen 4**: Si le modèle contient "Gen 4", "Gen4", "gen 4", ou "gen4"
|
||||
- **Gen 3 (par défaut)**: Tous les autres cas
|
||||
|
||||
Priorité de détection:
|
||||
1. Variable d'environnement `$env:LenovoModel` (si définie)
|
||||
2. WMI `Win32_ComputerSystemProduct.Name` (détection locale)
|
||||
3. Défaut: Gen 3
|
||||
|
||||
### 6. Points importants
|
||||
|
||||
✓ **La tâche existante n'est pas modifiée** - Le groupe "Settings Only Bios Change Lenovo" reste inchangé (disabled=true)
|
||||
|
||||
✓ **Gestion différenciée** - Chaque génération (Gen3, Gen4, Gen5) a son propre fichier CSV
|
||||
|
||||
✓ **Détection du mot de passe** - Automatique via WMI, pas besoin de variable manuelle
|
||||
|
||||
✓ **Sécurité** - Le script affiche les détails de la configuration dans les logs MDT
|
||||
|
||||
### 7. Tests recommandés
|
||||
|
||||
Pour tester correctement:
|
||||
1. **Commencer par Gen5** (comme demandé)
|
||||
2. Vérifier les logs de la séquence de tâches: `C:\MININT\SMSTS.log`
|
||||
3. Tester avec et sans mot de passe BIOS configuré
|
||||
4. Vérifier que les paramètres BIOS sont bien appliqués après le redémarrage
|
||||
|
||||
### 8. Variables d'environnement MDT (optionnel)
|
||||
|
||||
Pour forcer un modèle spécifique, vous pouvez définir dans CustomSettings.ini:
|
||||
```ini
|
||||
[Default]
|
||||
LenovoModel=ThinkCentre neo 50s Gen 5
|
||||
BIOSPassword=MonMotDePasse ; ZÉRO TOUCH - Mode automatique sans interaction
|
||||
```
|
||||
|
||||
### 9. Configuration des tests
|
||||
|
||||
#### Mode ZÉRO TOUCH (Recommandé):
|
||||
1. Ajouter la variable `BIOSPassword` dans CustomSettings.ini
|
||||
2. Ou utiliser un script VBS pour la définir depuis une source sécurisée
|
||||
3. Le déploiement fonctionnera sans demande de mot de passe
|
||||
|
||||
#### Mode sans mot de passe:
|
||||
1. Laisser `BIOSPassword` vide
|
||||
2. S'assurer que le BIOS Lenovo n'a pas de mot de passe configuré
|
||||
3. Le déploiement s'exécutera directement
|
||||
|
||||
### 10. Architecture sécurisée recommandée
|
||||
|
||||
**Approche SANS clair en production**:
|
||||
|
||||
```
|
||||
Fichier CustomSettings.ini
|
||||
↓
|
||||
(appelle)
|
||||
↓
|
||||
Set_BIOSPassword_FromDatabase.vbs
|
||||
↓
|
||||
(récupère de):
|
||||
- Base de données chiffrée
|
||||
- Active Directory (attribut personnalisé)
|
||||
- API HTTPS (coffre-fort d'entreprise)
|
||||
- Fichier sécurisé (permissions AD)
|
||||
↓
|
||||
Variable MDT: BIOSPassword
|
||||
↓
|
||||
ConfigureBIOSLenovo_TSIntegration.ps1
|
||||
↓
|
||||
Module SetBIOS (applique les paramètres)
|
||||
```
|
||||
|
||||
### 11. Fichiers de support
|
||||
|
||||
Fichiers d'exemple fournis:
|
||||
- **CustomSettings_BIOS_Example.ini** - Exemples de configuration
|
||||
- **Set_BIOSPassword_FromDatabase.vbs** - Script pour récupérer le mot de passe sécurisement
|
||||
|
||||
### 9. Fichiers modifiés/créés
|
||||
|
||||
```
|
||||
c:\MDT\
|
||||
├── Scripts\
|
||||
│ └── SupportHDF\
|
||||
│ ├── CSV\
|
||||
│ │ ├── ConfigBIOSLenovo_Gen3.csv [CRÉÉ]
|
||||
│ │ ├── ConfigBIOSLenovo_Gen4.csv [CRÉÉ]
|
||||
│ │ └── ConfigBIOSLenovo_Gen5.csv [CRÉÉ]
|
||||
│ └── ps1\
|
||||
│ └── ConfigureBIOSLenovo_TSIntegration.ps1 [CRÉÉ]
|
||||
└── Control\
|
||||
└── DEPL-W11-25H2-00\
|
||||
└── ts.xml [MODIFIÉ - Groupe "Configure BIOS Lenovo Full Settings" ajouté]
|
||||
```
|
||||
|
||||
---
|
||||
**Date de création**: 28/05/2026
|
||||
**Module SetBIOS utilisé**: 1.0 (c:\MDT\Tools\Modules\SetBIOS\1.0\SetBIOS.psm1)
|
||||
@@ -0,0 +1,153 @@
|
||||
' =========================================================
|
||||
' EXEMPLE: Set_BIOSPassword_FromDatabase.vbs
|
||||
' =========================================================
|
||||
' Script VBS pour récupérer le mot de passe BIOS de manière sécurisée
|
||||
' À intégrer dans la séquence de tâches MDT ou DeployWiz_Initialization.vbs
|
||||
'
|
||||
' UTILISATION:
|
||||
' 1. Adapter ce script pour votre source (BD, LDAP, fichier sécurisé, etc.)
|
||||
' 2. L'ajouter en étape de prédeploiement
|
||||
' 3. Le script définira la variable MDT BIOSPassword
|
||||
' 4. ConfigureBIOSLenovo_TSIntegration.ps1 la récupérera automatiquement
|
||||
'
|
||||
' =========================================================
|
||||
|
||||
' Charger les objets MDT
|
||||
Set objMDT = CreateObject("Microsoft.SMS.TSEnvironment")
|
||||
Set objShell = CreateObject("WScript.Shell")
|
||||
|
||||
' Variables de diagnostic
|
||||
Dim strComputer, strModel, strPassword, strSource
|
||||
strComputer = objMDT("ComputerName")
|
||||
strModel = ""
|
||||
|
||||
' =========================================================
|
||||
' EXEMPLE 1: Récupérer le mot de passe depuis un fichier sécurisé
|
||||
' =========================================================
|
||||
Function GetPasswordFromFile()
|
||||
Dim objFSO, objFile, strLine
|
||||
Dim strPasswordFile
|
||||
|
||||
' Fichier sécurisé en lecture seule (permissions AD)
|
||||
strPasswordFile = "\\serveur\partage_admin\bios_passwords.txt"
|
||||
|
||||
On Error Resume Next
|
||||
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
||||
|
||||
If objFSO.FileExists(strPasswordFile) Then
|
||||
Set objFile = objFSO.OpenTextFile(strPasswordFile, 1) ' Lecture seule
|
||||
Do While Not objFile.AtEndOfStream
|
||||
strLine = objFile.ReadLine()
|
||||
' Format du fichier: NOM_ORDINATEUR=MOTDEPASSE
|
||||
If InStr(strLine, strComputer & "=") > 0 Then
|
||||
GetPasswordFromFile = Split(strLine, "=")(1)
|
||||
Exit Function
|
||||
End If
|
||||
Loop
|
||||
objFile.Close()
|
||||
End If
|
||||
|
||||
GetPasswordFromFile = ""
|
||||
End Function
|
||||
|
||||
' =========================================================
|
||||
' EXEMPLE 2: Récupérer le mot de passe depuis Active Directory
|
||||
' =========================================================
|
||||
Function GetPasswordFromAD()
|
||||
Dim objAD, objComputer, strPassword
|
||||
|
||||
On Error Resume Next
|
||||
Set objAD = CreateObject("ADSystemInfo")
|
||||
Set objComputer = GetObject("LDAP://<SID=" & objAD.ComputerSID & ">")
|
||||
|
||||
' Attribut personnalisé AD (ex: "biosPassword")
|
||||
If objComputer.Get("biosPassword") <> "" Then
|
||||
GetPasswordFromAD = objComputer.Get("biosPassword")
|
||||
Else
|
||||
GetPasswordFromAD = ""
|
||||
End If
|
||||
End Function
|
||||
|
||||
' =========================================================
|
||||
' EXEMPLE 3: Récupérer depuis un appel HTTPS/JSON (API)
|
||||
' =========================================================
|
||||
Function GetPasswordFromAPI()
|
||||
Dim objHTTP, strURL, strResponse, objJSON
|
||||
|
||||
' URL sécurisée HTTPS avec authentification
|
||||
' Exemple: https://api.interne.com/bios/password?computer=PC001
|
||||
strURL = "https://api.interne.com/bios/password?computer=" & strComputer
|
||||
|
||||
On Error Resume Next
|
||||
Set objHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
|
||||
|
||||
With objHTTP
|
||||
.Open "GET", strURL, False
|
||||
.setRequestHeader "Authorization", "Bearer TOKEN_AUTHENTICATION"
|
||||
.Send
|
||||
|
||||
If .Status = 200 Then
|
||||
' Parser la réponse JSON (exemple simplifié)
|
||||
strResponse = .ResponseText
|
||||
' Implémenter le parsing JSON selon votre API
|
||||
GetPasswordFromAPI = strResponse
|
||||
End If
|
||||
End With
|
||||
End Function
|
||||
|
||||
' =========================================================
|
||||
' RÉCUPÉRER LE MOT DE PASSE (ordre de priorité)
|
||||
' =========================================================
|
||||
Dim strBIOSPassword
|
||||
strBIOSPassword = ""
|
||||
|
||||
' 1. Essayer le fichier sécurisé
|
||||
strBIOSPassword = GetPasswordFromFile()
|
||||
If strBIOSPassword = "" Then
|
||||
WScript.Echo "[INFO] Mot de passe non trouvé dans fichier sécurisé"
|
||||
End If
|
||||
|
||||
' 2. Essayer Active Directory
|
||||
If strBIOSPassword = "" Then
|
||||
strBIOSPassword = GetPasswordFromAD()
|
||||
If strBIOSPassword = "" Then
|
||||
WScript.Echo "[INFO] Mot de passe non trouvé dans Active Directory"
|
||||
End If
|
||||
End If
|
||||
|
||||
' 3. Essayer l'API HTTPS
|
||||
If strBIOSPassword = "" Then
|
||||
strBIOSPassword = GetPasswordFromAPI()
|
||||
If strBIOSPassword = "" Then
|
||||
WScript.Echo "[INFO] Mot de passe non trouvé via API"
|
||||
End If
|
||||
End If
|
||||
|
||||
' =========================================================
|
||||
' DÉFINIR LA VARIABLE MDT
|
||||
' =========================================================
|
||||
If strBIOSPassword <> "" Then
|
||||
objMDT("BIOSPassword") = strBIOSPassword
|
||||
WScript.Echo "[INFO] Variable BIOSPassword définie avec succès"
|
||||
WScript.Echo "[INFO] Ordinateur: " & strComputer
|
||||
WScript.Echo "[INFO] Longueur mot de passe: " & Len(strBIOSPassword) & " caractères"
|
||||
Else
|
||||
WScript.Echo "[WARN] Impossible de récupérer le mot de passe BIOS"
|
||||
WScript.Echo "[WARN] Déploiement sans authentification BIOS"
|
||||
objMDT("BIOSPassword") = ""
|
||||
End If
|
||||
|
||||
' =========================================================
|
||||
' INTÉGRATION DANS LA SÉQUENCE MDT
|
||||
' =========================================================
|
||||
'
|
||||
' Pour utiliser ce script:
|
||||
'
|
||||
' 1. Sauvegarder en tant que: %DEPLOYROOT%\Scripts\Set_BIOSPassword.vbs
|
||||
' 2. Ajouter une étape "Exécuter un script" AVANT la tâche BIOS
|
||||
' 3. Commande: cscript.exe "%SCRIPTROOT%\Set_BIOSPassword.vbs"
|
||||
' 4. La variable MDT BIOSPassword sera disponible pour le script PowerShell
|
||||
'
|
||||
' =========================================================
|
||||
|
||||
WScript.Quit(0)
|
||||
@@ -0,0 +1,104 @@
|
||||
# ConfigureBIOSLenovo_TSIntegration.ps1
|
||||
# Applique les paramètres BIOS Lenovo via le module SetBIOS
|
||||
# Mode ZÉRO TOUCH - Pas d'interaction utilisateur
|
||||
# Utilise une variable MDT BIOSPassword pour authentification automatique
|
||||
|
||||
Write-Output "[INFO] ========== Démarrage de la configuration BIOS Lenovo (Zéro Touch) =========="
|
||||
|
||||
# Déterminer le modèle Lenovo et sélectionner le fichier CSV approprié
|
||||
$LenovoModel = $env:LenovoModel
|
||||
|
||||
if ([string]::IsNullOrEmpty($LenovoModel)) {
|
||||
try {
|
||||
$LenovoModel = (Get-WmiObject Win32_ComputerSystemProduct -ErrorAction Stop).Name
|
||||
Write-Output "[INFO] LenovoModel obtenu via WMI: $LenovoModel"
|
||||
}
|
||||
catch {
|
||||
Write-Output "[WARN] Impossible de déterminer le modèle Lenovo - utilisation de la valeur par défaut Gen 3"
|
||||
$LenovoModel = "Gen 3"
|
||||
}
|
||||
}
|
||||
|
||||
# Déterminer le fichier CSV selon la génération
|
||||
if ($LenovoModel -like "*Gen 5*" -or $LenovoModel -like "*Gen5*" -or $LenovoModel -like "*gen 5*" -or $LenovoModel -like "*gen5*") {
|
||||
Write-Output "[INFO] Détection ThinkCentre neo 50s Gen 5 ($LenovoModel)"
|
||||
$CSVFile = "%DEPLOYROOT%\Scripts\SupportHDF\CSV\ConfigBIOSLenovo_Gen5.csv"
|
||||
} elseif ($LenovoModel -like "*Gen 4*" -or $LenovoModel -like "*Gen4*" -or $LenovoModel -like "*gen 4*" -or $LenovoModel -like "*gen4*") {
|
||||
Write-Output "[INFO] Détection ThinkCentre neo 50s Gen 4 ($LenovoModel)"
|
||||
$CSVFile = "%DEPLOYROOT%\Scripts\SupportHDF\CSV\ConfigBIOSLenovo_Gen4.csv"
|
||||
} else {
|
||||
Write-Output "[INFO] Détection ThinkCentre neo 50s Gen 3 ou antérieur ($LenovoModel)"
|
||||
$CSVFile = "%DEPLOYROOT%\Scripts\SupportHDF\CSV\ConfigBIOSLenovo_Gen3.csv"
|
||||
}
|
||||
|
||||
# Remplacer %DEPLOYROOT% par la vraie valeur
|
||||
$CSVFile = $CSVFile -replace "%DEPLOYROOT%", $env:DEPLOYROOT
|
||||
|
||||
# Vérifier que le fichier CSV existe
|
||||
if (!(Test-Path $CSVFile)) {
|
||||
Write-Output "[ERROR] Fichier CSV non trouvé: $CSVFile"
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Output "[INFO] Utilisation du fichier CSV: $CSVFile"
|
||||
|
||||
# Charger le module SetBIOS
|
||||
$SetBIOSModule = Join-Path $env:DEPLOYROOT "Tools\Modules\SetBIOS\1.0\SetBIOS.psm1"
|
||||
if (!(Test-Path $SetBIOSModule)) {
|
||||
Write-Output "[ERROR] Module SetBIOS non trouvé: $SetBIOSModule"
|
||||
exit 1
|
||||
}
|
||||
|
||||
try {
|
||||
Import-Module $SetBIOSModule -ErrorAction Stop -Force
|
||||
Write-Output "[INFO] Module SetBIOS importé avec succès"
|
||||
} catch {
|
||||
Write-Output "[ERROR] Impossible d'importer le module SetBIOS: $_"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Récupérer le mot de passe BIOS depuis les variables MDT
|
||||
$BIOSPassword = $env:BIOSPassword
|
||||
if ([string]::IsNullOrEmpty($BIOSPassword)) {
|
||||
Write-Output "[WARN] Variable MDT BIOSPassword non trouvée"
|
||||
}
|
||||
|
||||
# Vérifier si un mot de passe BIOS est configuré sur le système
|
||||
Write-Output "[INFO] Vérification de l'état du mot de passe BIOS..."
|
||||
try {
|
||||
$BIOSPasswordSettings = Get-WmiObject -Class Lenovo_BiosPasswordSettings -Namespace root\wmi -ErrorAction Stop
|
||||
$PasswordState = $BIOSPasswordSettings.PasswordState
|
||||
Write-Output "[INFO] État du mot de passe BIOS: $PasswordState (0=Pas de mot de passe, 1=Admin, 2=Système, 3=Utilisateur)"
|
||||
|
||||
$IsPasswordSet = ($PasswordState -eq 2 -or $PasswordState -eq 1 -or $PasswordState -eq 3)
|
||||
} catch {
|
||||
Write-Output "[WARN] Impossible de vérifier l'état du mot de passe BIOS via WMI: $_"
|
||||
$IsPasswordSet = $false
|
||||
}
|
||||
|
||||
# Vérifier cohérence mot de passe
|
||||
if ($IsPasswordSet -and [string]::IsNullOrEmpty($BIOSPassword)) {
|
||||
Write-Output "[ERROR] Un mot de passe BIOS est configuré mais la variable MDT BIOSPassword est vide"
|
||||
Write-Output "[ERROR] Ajoutez 'BIOSPassword=VOTRE_MOT_DE_PASSE' dans CustomSettings.ini"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Exécuter Set-BIOS avec le fichier CSV - Zéro Touch
|
||||
try {
|
||||
Write-Output "[INFO] Application des paramètres BIOS Lenovo..."
|
||||
|
||||
if ($IsPasswordSet -and -not [string]::IsNullOrEmpty($BIOSPassword)) {
|
||||
Write-Output "[INFO] Application des paramètres avec authentification BIOS..."
|
||||
Set-Bios -CSV $CSVFile -PasswordValue $BIOSPassword -ErrorAction Stop
|
||||
} else {
|
||||
Write-Output "[INFO] Application des paramètres BIOS sans authentification..."
|
||||
Set-Bios -CSV $CSVFile -ErrorAction Stop
|
||||
}
|
||||
|
||||
Write-Output "[INFO] ========== Paramètres BIOS appliqués avec succès (Zéro Touch) =========="
|
||||
exit 0
|
||||
} catch {
|
||||
Write-Output "[ERROR] Erreur lors de l'application des paramètres BIOS: $_"
|
||||
Write-Output "[ERROR] ========== Configuration BIOS échouée =========="
|
||||
exit 1
|
||||
}
|
||||
@@ -330,7 +330,7 @@ foreach ($addr in $netConfigs) {
|
||||
Write-LogMessage "Impossible de parser le 3eme octet de $ipv4" -Type "WARNING"
|
||||
continue
|
||||
}
|
||||
if ($thirdOctet -ge 1 -and $thirdOctet -le 254) {
|
||||
if ($thirdOctet -ge 0 -and $thirdOctet -le 254) {
|
||||
Write-LogMessage "IP $ipv4 est dans les plages autorisees (3eme octet = $thirdOctet). Verification statut domaine..." -Type "INFO"
|
||||
$isDomain = $false
|
||||
try {
|
||||
@@ -365,17 +365,18 @@ foreach ($addr in $netConfigs) {
|
||||
try {
|
||||
Write-LogMessage "Jointure du domaine EDU.HDF avec l'OU $Ou_site..." -Type "INFO"
|
||||
Add-Computer -DomainName "edu.hdf" -Credential $cred_edu -OUPath $Ou -Force -ErrorAction Stop
|
||||
Write-LogMessage "SUCCESS : La machine a ete correctement ajoutee au domaine EDU.HDF !" -Type "INFO"
|
||||
Write-LogMessage "SUCCESS : La machine '$hostname' a ete correctement ajoutee au domaine EDU.HDF !" -Type "INFO"
|
||||
Write-LogMessage "Serveur DC : $dc" -Type "INFO"
|
||||
Write-LogMessage "Site : $Site" -Type "INFO"
|
||||
Write-LogMessage "OU : $Ou" -Type "INFO"
|
||||
$joined = $true
|
||||
break
|
||||
} catch {
|
||||
Write-LogMessage "ERREUR lors de l'ajout au domaine (interface IP: $ipv4) : $_" -Type "ERROR"
|
||||
Write-LogMessage "ERREUR lors de l'ajout au domaine pour '$hostname' : $_" -Type "ERROR"
|
||||
}
|
||||
} else {
|
||||
Write-LogMessage "Machine est deja membre du domaine EDU.HDF." -Type "INFO"
|
||||
Write-LogMessage "Machine '$hostname' est deja membre du domaine EDU.HDF." -Type "INFO"
|
||||
Write-LogMessage "Aucune action requise." -Type "INFO"
|
||||
$joined = $true
|
||||
break
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
powershell -noprofile -command "Set-ExecutionPolicy bypass LocalMachine"
|
||||
|
||||
#Write-host "Operating system is $OSversion"
|
||||
$kmshost = '10.0.14.20'
|
||||
Write-Host "Le serveur KSM est defini sur $kmshost"
|
||||
#Write-host "KMS client key is $Key"
|
||||
sleep -Seconds 2
|
||||
Write-host 'Forcing activation using slmgr script...'
|
||||
cscript $env:windir\System32\slmgr.vbs /skms $kmshost 2>&1
|
||||
#cscript $env:windir\System32\slmgr.vbs /ipk $key 2>&1
|
||||
cscript $env:windir\System32\slmgr.vbs /ato 2>&1
|
||||
break
|
||||
@@ -1,183 +0,0 @@
|
||||
<#
|
||||
Installation Chocolatey + logiciels
|
||||
Optimisé MDT USB / Windows 11 25H2
|
||||
Gestion timeout + retry
|
||||
#>
|
||||
|
||||
#region CONFIGURATION
|
||||
|
||||
$LogFile = "C:\Windows\Temp\choco_install.log"
|
||||
|
||||
$GlobalTimeoutMinutes = 180
|
||||
$PackageTimeoutSeconds = 2700
|
||||
$RetryCount = 2
|
||||
|
||||
$Packages = @(
|
||||
"chocolatey-core.extension",
|
||||
"chocolatey-compatibility.extension",
|
||||
"chocolatey-windowsupdate.extension",
|
||||
|
||||
"7zip.install",
|
||||
"googlechrome",
|
||||
"firefoxesr",
|
||||
"microsoft-edge",
|
||||
"notepadplusplus.install",
|
||||
"vlc.install",
|
||||
"foxitreader",
|
||||
"libreoffice-fresh",
|
||||
|
||||
"vcredist140"
|
||||
)
|
||||
|
||||
#endregion
|
||||
|
||||
#region LOGGING
|
||||
|
||||
function Write-Log {
|
||||
|
||||
param ([string]$Message)
|
||||
|
||||
$Time = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
|
||||
|
||||
$Entry = "$Time - $Message"
|
||||
|
||||
Write-Output $Entry
|
||||
Add-Content $LogFile $Entry
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region GLOBAL TIMER
|
||||
|
||||
$ScriptStartTime = Get-Date
|
||||
|
||||
function Test-GlobalTimeout {
|
||||
|
||||
$Elapsed = (Get-Date) - $ScriptStartTime
|
||||
|
||||
if ($Elapsed.TotalMinutes -gt $GlobalTimeoutMinutes) {
|
||||
|
||||
Write-Log "GLOBAL TIMEOUT atteint"
|
||||
|
||||
exit 1
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region PREREQUIS
|
||||
|
||||
Write-Log "Verification prerequis"
|
||||
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||
|
||||
[System.Net.ServicePointManager]::SecurityProtocol =
|
||||
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
|
||||
#endregion
|
||||
|
||||
#region INSTALL CHOCOLATEY
|
||||
|
||||
if (!(Get-Command choco -ErrorAction SilentlyContinue)) {
|
||||
|
||||
Write-Log "Installation Chocolatey"
|
||||
|
||||
Invoke-Expression (
|
||||
(New-Object System.Net.WebClient).DownloadString(
|
||||
"https://community.chocolatey.org/install.ps1"
|
||||
)
|
||||
)
|
||||
|
||||
refreshenv
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Chocolatey deja installe"
|
||||
|
||||
}
|
||||
|
||||
choco feature enable -n allowGlobalConfirmation
|
||||
|
||||
#endregion
|
||||
|
||||
#region INSTALL FUNCTION WITH TIMEOUT
|
||||
|
||||
function Install-PackageWithTimeout {
|
||||
|
||||
param (
|
||||
[string]$PackageName
|
||||
)
|
||||
|
||||
for ($i = 1; $i -le $RetryCount; $i++) {
|
||||
|
||||
Test-GlobalTimeout
|
||||
|
||||
Write-Log "Installation $PackageName tentative $i"
|
||||
|
||||
$Process = Start-Process `
|
||||
choco `
|
||||
-ArgumentList "install $PackageName -y --no-progress" `
|
||||
-PassThru `
|
||||
-WindowStyle Hidden
|
||||
|
||||
if ($Process.WaitForExit($PackageTimeoutSeconds * 1000)) {
|
||||
|
||||
if ($Process.ExitCode -eq 0) {
|
||||
|
||||
Write-Log "Succes $PackageName"
|
||||
return
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Erreur code $($Process.ExitCode)"
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Timeout $PackageName"
|
||||
|
||||
try {
|
||||
$Process.Kill()
|
||||
}
|
||||
catch {}
|
||||
|
||||
}
|
||||
|
||||
Start-Sleep 10
|
||||
|
||||
}
|
||||
|
||||
Write-Log "Echec final $PackageName"
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region INSTALLATION PACKAGES
|
||||
|
||||
foreach ($Package in $Packages) {
|
||||
|
||||
Install-PackageWithTimeout $Package
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region UPGRADE FINAL
|
||||
|
||||
Write-Log "Upgrade global"
|
||||
|
||||
choco upgrade all -y --no-progress
|
||||
|
||||
#endregion
|
||||
|
||||
Write-Log "Script termine"
|
||||
|
||||
exit 0
|
||||
@@ -105,7 +105,8 @@ if (!(Get-Command choco -ErrorAction SilentlyContinue)) {
|
||||
)
|
||||
)
|
||||
|
||||
refreshenv
|
||||
# Rafraîchir les variables d'environnement sans dépendre de Chocolatey
|
||||
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
<#
|
||||
Script PowerShell - Installation Chocolatey avec cache local
|
||||
Optimisé pour MDT USB / Windows 11 25H2
|
||||
Utilise un dossier local 'softwares' pour accélérer l'installation
|
||||
Fallback automatique vers Internet si package absent
|
||||
Gestion timeout + retry + logs
|
||||
#>
|
||||
|
||||
#region CONFIGURATION
|
||||
|
||||
$LogFile = "C:\Windows\Temp\choco_install.log"
|
||||
|
||||
$GlobalTimeoutMinutes = 180
|
||||
$PackageTimeoutSeconds = 2700
|
||||
$RetryCount = 2
|
||||
|
||||
# Dossier local contenant les packages .nupkg
|
||||
$LocalRepo = Join-Path $PSScriptRoot "softwares"
|
||||
|
||||
$Packages = @(
|
||||
"chocolatey-core.extension",
|
||||
"chocolatey-compatibility.extension",
|
||||
"chocolatey-windowsupdate.extension",
|
||||
"vcredist140",
|
||||
|
||||
"dellcommandupdate"
|
||||
)
|
||||
|
||||
#endregion
|
||||
|
||||
#region LOGGING
|
||||
|
||||
function Write-Log {
|
||||
|
||||
param ([string]$Message)
|
||||
|
||||
$Time = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
|
||||
|
||||
$Entry = "$Time - $Message"
|
||||
|
||||
Write-Output $Entry
|
||||
|
||||
try {
|
||||
Add-Content $LogFile $Entry
|
||||
}
|
||||
catch {}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region GLOBAL TIMER
|
||||
|
||||
$ScriptStartTime = Get-Date
|
||||
|
||||
function Test-GlobalTimeout {
|
||||
|
||||
$Elapsed = (Get-Date) - $ScriptStartTime
|
||||
|
||||
if ($Elapsed.TotalMinutes -gt $GlobalTimeoutMinutes) {
|
||||
|
||||
Write-Log "GLOBAL TIMEOUT atteint"
|
||||
|
||||
exit 1
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region PREREQUIS
|
||||
|
||||
Write-Log "Verification prerequis"
|
||||
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||
|
||||
[System.Net.ServicePointManager]::SecurityProtocol =
|
||||
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
|
||||
#endregion
|
||||
|
||||
#region INSTALL CHOCOLATEY
|
||||
|
||||
if (!(Get-Command choco -ErrorAction SilentlyContinue)) {
|
||||
|
||||
Write-Log "Installation Chocolatey"
|
||||
|
||||
Invoke-Expression (
|
||||
(New-Object System.Net.WebClient).DownloadString(
|
||||
"https://community.chocolatey.org/install.ps1"
|
||||
)
|
||||
)
|
||||
|
||||
# Rafraîchir les variables d'environnement sans dépendre de Chocolatey
|
||||
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Chocolatey deja installe"
|
||||
|
||||
}
|
||||
|
||||
choco feature enable -n allowGlobalConfirmation
|
||||
|
||||
#endregion
|
||||
|
||||
#region LOCAL REPO CHECK
|
||||
|
||||
if (!(Test-Path $LocalRepo)) {
|
||||
Write-Log "Creation depot local : $LocalRepo"
|
||||
New-Item -ItemType Directory -Path $LocalRepo -Force
|
||||
}
|
||||
|
||||
Write-Log "Depot local : $LocalRepo"
|
||||
|
||||
#endregion
|
||||
|
||||
#region DOWNLOAD MISSING PACKAGES
|
||||
|
||||
Write-Log "Telechargement packages manquants vers depot local"
|
||||
|
||||
foreach ($Package in $Packages) {
|
||||
Test-GlobalTimeout
|
||||
|
||||
$PackageFile = Get-ChildItem $LocalRepo -Filter "$Package*.nupkg" -ErrorAction SilentlyContinue
|
||||
|
||||
if (!$PackageFile) {
|
||||
Write-Log "Telechargement $Package"
|
||||
|
||||
$DownloadArgs = "download $Package --source chocolatey --output-directory `"$LocalRepo`" -y --no-progress"
|
||||
|
||||
$Process = Start-Process choco -ArgumentList $DownloadArgs -PassThru -WindowStyle Hidden
|
||||
|
||||
if ($Process.WaitForExit(300000)) { # 5 minutes timeout
|
||||
if ($Process.ExitCode -eq 0) {
|
||||
Write-Log "Telechargement succes $Package"
|
||||
} else {
|
||||
Write-Log "Erreur telechargement $Package code $($Process.ExitCode)"
|
||||
}
|
||||
} else {
|
||||
Write-Log "Timeout telechargement $Package"
|
||||
try { $Process.Kill() } catch {}
|
||||
}
|
||||
} else {
|
||||
Write-Log "Package $Package deja present localement"
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region INSTALL FUNCTION WITH TIMEOUT + LOCAL SOURCE
|
||||
|
||||
function Install-PackageWithTimeout {
|
||||
|
||||
param (
|
||||
[string]$PackageName
|
||||
)
|
||||
|
||||
for ($i = 1; $i -le $RetryCount; $i++) {
|
||||
|
||||
Test-GlobalTimeout
|
||||
|
||||
Write-Log "Installation $PackageName tentative $i"
|
||||
|
||||
$Arguments = "install $PackageName -y --no-progress"
|
||||
|
||||
if (Test-Path $LocalRepo) {
|
||||
|
||||
$PackageFile = Get-ChildItem $LocalRepo -Filter "$PackageName*.nupkg" -ErrorAction SilentlyContinue
|
||||
|
||||
if ($PackageFile) {
|
||||
|
||||
Write-Log "Installation depuis depot local"
|
||||
|
||||
$Arguments += " --source `"$LocalRepo`""
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Package absent localement - utilisation Internet"
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$Process = Start-Process `
|
||||
choco `
|
||||
-ArgumentList $Arguments `
|
||||
-PassThru
|
||||
#-WindowStyle Hidden
|
||||
|
||||
if ($Process.WaitForExit($PackageTimeoutSeconds * 1000)) {
|
||||
|
||||
if ($Process.ExitCode -eq 0) {
|
||||
|
||||
Write-Log "Succes $PackageName"
|
||||
return
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Erreur code $($Process.ExitCode)"
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
Write-Log "Timeout $PackageName"
|
||||
|
||||
try {
|
||||
$Process.Kill()
|
||||
}
|
||||
catch {}
|
||||
|
||||
}
|
||||
|
||||
Start-Sleep 10
|
||||
|
||||
}
|
||||
|
||||
Write-Log "Echec final $PackageName"
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region INSTALLATION PACKAGES
|
||||
|
||||
foreach ($Package in $Packages) {
|
||||
|
||||
Install-PackageWithTimeout $Package
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region UPGRADE FINAL
|
||||
|
||||
Write-Log "Upgrade global"
|
||||
|
||||
choco upgrade all -y --no-progress
|
||||
|
||||
#endregion
|
||||
|
||||
Write-Log "Script termine"
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,246 @@
|
||||
# =========================================================================
|
||||
# INSTALL-APPS.PS1 - Installation des applications via Winget
|
||||
# Exécution en contexte SYSTEM lors du déploiement MDT
|
||||
# =========================================================================
|
||||
|
||||
# =========================================================================
|
||||
# 0. CONFIGURATION DU CONTEXTE ET VARIABLES DYNAMIQUES
|
||||
# =========================================================================
|
||||
$SystemRoot = $env:SystemRoot # C:\Windows
|
||||
$SystemDrive = $env:SystemDrive # C:
|
||||
$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||
$IsSystem = $CurrentUser -like "*SYSTEM" -or $CurrentUser -like "*S-1-5-18"
|
||||
|
||||
Write-Host "========================================================" -ForegroundColor Cyan
|
||||
Write-Host " CONFIGURATION CONTEXTE MDT"
|
||||
Write-Host "========================================================" -ForegroundColor Cyan
|
||||
Write-Host "Utilisateur: $CurrentUser (SYSTEM: $IsSystem)"
|
||||
Write-Host "SystemRoot: $SystemRoot"
|
||||
Write-Host "SystemDrive: $SystemDrive"
|
||||
|
||||
# =========================================================================
|
||||
# 1. CONFIGURATION DU FICHIER LOG WINDOWS (Chemin dynamique)
|
||||
# =========================================================================
|
||||
$LogDirectory = Join-Path $SystemRoot "Logs\MDT_Apps"
|
||||
if (!(Test-Path $LogDirectory)) {
|
||||
$null = New-Item -ItemType Directory -Force -Path $LogDirectory -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
$DateStamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
||||
$LogPath = Join-Path $LogDirectory "Installation_Applications_$DateStamp.log"
|
||||
|
||||
Write-Host "Répertoire logs: $LogDirectory"
|
||||
|
||||
# Début de l'enregistrement
|
||||
Start-Transcript -Path $LogPath -Append -Force
|
||||
|
||||
Write-Host "========================================================"
|
||||
Write-Host " DEBUT DU SCRIPT D'INSTALLATION DES APPLICATIONS"
|
||||
Write-Host " Fichier log : $LogPath"
|
||||
Write-Host "========================================================"
|
||||
|
||||
# =========================================================================
|
||||
# 2. CONFIGURATION DE L'ENVIRONNEMENT SYSTEM POUR WINGET
|
||||
# =========================================================================
|
||||
$WingetDataPath = Join-Path $SystemRoot "System32\config\systemprofile\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState"
|
||||
|
||||
if (!(Test-Path $WingetDataPath)) {
|
||||
$null = New-Item -ItemType Directory -Force -Path $WingetDataPath -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
$SettingsFile = Join-Path $WingetDataPath "settings.json"
|
||||
$Settings = @'
|
||||
{
|
||||
"telemetry": { "disabled": true },
|
||||
"security": { "anySource": true },
|
||||
"installBehavior": { "preferences": { "scope": "machine" } }
|
||||
}
|
||||
'@
|
||||
|
||||
try {
|
||||
$Settings | Out-File $SettingsFile -Encoding utf8 -Force
|
||||
Write-Host "Configuration Winget: OK"
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Erreur configuration Winget: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 3. VERIFICATION / UPGRADE WINGET V7
|
||||
# =========================================================================
|
||||
Write-Host ""
|
||||
Write-Host "========================================================"
|
||||
Write-Host " VERIFICATION WINGET V7"
|
||||
Write-Host "========================================================"
|
||||
|
||||
try {
|
||||
$WingetVersion = & winget --version 2>$null
|
||||
Write-Host "Version actuelle: $WingetVersion"
|
||||
|
||||
# Upgrade si nécessaire
|
||||
Write-Host "Tentative de mise à jour Winget..."
|
||||
& winget upgrade winget --accept-source-agreements --silent 2>$null | Out-Null
|
||||
Start-Sleep -Seconds 2
|
||||
|
||||
$NewVersion = & winget --version 2>$null
|
||||
Write-Host "Version après upgrade: $NewVersion"
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Erreur lors de la gestion Winget: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
# Activation des manifests locaux
|
||||
try {
|
||||
& winget settings --enable LocalManifestFiles 2>$null | Out-Null
|
||||
Write-Host "Manifests locaux: Activés"
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Erreur activation manifests: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 4. RECHERCHE ET TRAITEMENT DES APPLICATIONS
|
||||
# =========================================================================
|
||||
Write-Host ""
|
||||
Write-Host "========================================================"
|
||||
Write-Host " RECHERCHE DES MANIFESTS D'APPLICATION"
|
||||
Write-Host "========================================================"
|
||||
|
||||
$AppsFolder = Join-Path $PSScriptRoot "Apps"
|
||||
Write-Host "Dossier des applications: $AppsFolder"
|
||||
|
||||
if (!(Test-Path $AppsFolder)) {
|
||||
Write-Error "Dossier Applications introuvable: $AppsFolder"
|
||||
Stop-Transcript
|
||||
exit 1
|
||||
}
|
||||
|
||||
$Manifests = Get-ChildItem -Path $AppsFolder -Filter "*.yaml" -ErrorAction SilentlyContinue
|
||||
$TotalApps = $Manifests.Count
|
||||
|
||||
Write-Host "Manifests trouvés: $TotalApps"
|
||||
|
||||
if ($TotalApps -eq 0) {
|
||||
Write-Warning "Aucun fichier manifest .yaml trouvé dans $AppsFolder"
|
||||
Stop-Transcript
|
||||
exit 1
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 5. FONCTION DE VERIFICATION D'INSTALLATION
|
||||
# =========================================================================
|
||||
function Test-IsAppInstalled {
|
||||
[CmdletBinding()]
|
||||
param([string]$AppName)
|
||||
|
||||
try {
|
||||
$Paths = @(
|
||||
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
|
||||
"HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
|
||||
)
|
||||
$Result = Get-ItemProperty $Paths -ErrorAction SilentlyContinue | `
|
||||
Where-Object { $_.DisplayName -and $_.DisplayName -like "*$AppName*" }
|
||||
return ($null -ne $Result)
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Erreur lors de la vérification $AppName : $($_.Exception.Message)"
|
||||
return $false
|
||||
}
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 6. PIPELINE DE TRAITEMENT DES APPLICATIONS
|
||||
# =========================================================================
|
||||
Write-Host ""
|
||||
Write-Host "========================================================"
|
||||
Write-Host " INSTALLATION DES APPLICATIONS"
|
||||
Write-Host "========================================================"
|
||||
|
||||
$Global:CurrentAppIndex = 0
|
||||
|
||||
$Manifests | ForEach-Object {
|
||||
$Global:CurrentAppIndex++
|
||||
$Manifest = $_
|
||||
|
||||
$CleanName = ($Manifest.BaseName -split "_")[0]
|
||||
$Sanitized = $CleanName -replace '[^a-zA-Z0-9]', ''
|
||||
|
||||
Write-Host "[$Global:CurrentAppIndex/$TotalApps] Vérification : $CleanName" -ForegroundColor Cyan
|
||||
|
||||
if (Test-IsAppInstalled -AppName $CleanName) {
|
||||
Write-Host " -> PASSER : Déjà installé." -ForegroundColor Yellow
|
||||
return
|
||||
}
|
||||
|
||||
$InstallerFile = Get-ChildItem -Path $AppsFolder | Where-Object {
|
||||
$_.Extension -in ".exe", ".msi" -and `
|
||||
($_.Name -ilike "*$Sanitized*" -or $_.Name -ilike "*$CleanName*")
|
||||
} | Select-Object -First 1
|
||||
|
||||
if (!$InstallerFile) {
|
||||
Write-Host " -> ÉCHEC : Fichier installateur introuvable pour $CleanName" -ForegroundColor Red
|
||||
return
|
||||
}
|
||||
|
||||
$FullFileName = $InstallerFile.Name.ToLower()
|
||||
$Executable = $InstallerFile.FullName
|
||||
$Arguments = "/S"
|
||||
|
||||
# =========================================================================
|
||||
# Détermination des arguments selon le type de fichier
|
||||
# =========================================================================
|
||||
if ($InstallerFile.Extension -eq ".msi") {
|
||||
$Executable = "msiexec.exe"
|
||||
$Arguments = "/i `"$($InstallerFile.FullName)`" /qn /norestart"
|
||||
|
||||
if (Get-Process -Name "msiexec" -ErrorAction SilentlyContinue) {
|
||||
Write-Host " -> Nettoyage processus msiexec..." -ForegroundColor DarkYellow
|
||||
Stop-Process -Name "msiexec" -Force -ErrorAction SilentlyContinue
|
||||
Start-Sleep -Seconds 2
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch -regex ($FullFileName) {
|
||||
"7z|7zip" { $Arguments = "/S" }
|
||||
"notepad" { $Arguments = "/S" }
|
||||
"vlc" { $Arguments = "/S" }
|
||||
"audacity" { $Arguments = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART" }
|
||||
"python" { $Arguments = "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0" }
|
||||
default { $Arguments = "/S" }
|
||||
}
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# Exécution de l'installation
|
||||
# =========================================================================
|
||||
try {
|
||||
Write-Host " -> Installation: $($InstallerFile.Name)" -ForegroundColor White
|
||||
Write-Host " Exécutable: $Executable"
|
||||
Write-Host " Arguments: $Arguments"
|
||||
|
||||
$Process = Start-Process -FilePath $Executable -ArgumentList $Arguments `
|
||||
-NoNewWindow -Wait -PassThru -ErrorAction Stop
|
||||
|
||||
$ExitCode = $Process.ExitCode
|
||||
if ($ExitCode -eq 0 -or $ExitCode -eq 3010) {
|
||||
Write-Host " -> SUCCÈS (Code: $ExitCode)`n" -ForegroundColor Green
|
||||
}
|
||||
else {
|
||||
Write-Host " -> ÉCHEC. Code erreur: $ExitCode" -ForegroundColor Red
|
||||
Write-Host " Args: $Arguments`n" -ForegroundColor DarkRed
|
||||
}
|
||||
}
|
||||
catch {
|
||||
Write-Host " -> ERREUR CRITIQUE: $($_.Exception.Message)`n" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 7. FINALISATION
|
||||
# =========================================================================
|
||||
Write-Host "========================================================"
|
||||
Write-Host " TRAITEMENT TERMINÉ"
|
||||
Write-Host "========================================================"
|
||||
Write-Host "Logs disponibles: $LogPath"
|
||||
|
||||
Stop-Transcript
|
||||
@@ -0,0 +1,98 @@
|
||||
# =========================================================================
|
||||
# PREPARE-WINGET.PS1 - Configuration de Winget pour MDT SYSTEM
|
||||
# =========================================================================
|
||||
# Ce script doit s'exécuter en contexte SYSTEM lors du déploiement MDT
|
||||
|
||||
# =========================================================================
|
||||
# 1. VERIFICATION DU CONTEXTE D'EXECUTION
|
||||
# =========================================================================
|
||||
$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||
$IsSystem = $CurrentUser -like "*SYSTEM" -or $CurrentUser -like "*S-1-5-18"
|
||||
|
||||
if (-not $IsSystem) {
|
||||
Write-Warning "ATTENTION: Ce script devrait s'exécuter en contexte SYSTEM"
|
||||
Write-Warning "Utilisateur courant: $CurrentUser"
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 2. CONSTRUCTION DES CHEMINS (Dynamiques, pas en dur)
|
||||
# =========================================================================
|
||||
$SystemRoot = $env:SystemRoot # C:\Windows
|
||||
$SystemDrive = $env:SystemDrive # C:
|
||||
$WingetDataPath = "$SystemRoot\System32\config\systemprofile\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState"
|
||||
|
||||
Write-Host "Chemin racine système: $SystemRoot"
|
||||
Write-Host "Chemin données Winget: $WingetDataPath"
|
||||
|
||||
# =========================================================================
|
||||
# 3. CREATION DES DOSSIERS NECESSAIRES
|
||||
# =========================================================================
|
||||
if (!(Test-Path $WingetDataPath)) {
|
||||
Write-Host "Création du dossier: $WingetDataPath"
|
||||
$null = New-Item -ItemType Directory -Force -Path $WingetDataPath -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 4. CONFIGURATION WINGET (JSON)
|
||||
# =========================================================================
|
||||
$SettingsFile = "$WingetDataPath\settings.json"
|
||||
$Settings = @'
|
||||
{
|
||||
"telemetry": { "disabled": true },
|
||||
"security": { "anySource": true },
|
||||
"installBehavior": { "preferences": { "scope": "machine" } }
|
||||
}
|
||||
'@
|
||||
|
||||
try {
|
||||
$Settings | Out-File $SettingsFile -Encoding utf8 -Force
|
||||
Write-Host "Settings Winget créé: $SettingsFile"
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Erreur lors de la création des settings: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 5. UPGRADE WINGET VERS V7 (avant utilisation)
|
||||
# =========================================================================
|
||||
Write-Host "Vérification/Upgrade de Winget..." -ForegroundColor Yellow
|
||||
|
||||
try {
|
||||
# Tenter de mettre à jour Winget vers la dernière version
|
||||
Write-Host "Mise à jour de Winget en cours..."
|
||||
& winget upgrade winget --accept-source-agreements --silent 2>$null | Out-Null
|
||||
Start-Sleep -Seconds 2
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Impossible de mettre à jour Winget: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
# Vérifier la version actuelle
|
||||
$WingetVersion = & winget --version 2>$null
|
||||
Write-Host "Version Winget: $WingetVersion"
|
||||
|
||||
# =========================================================================
|
||||
# 6. ACTIVATION DES MANIFESTS LOCAUX
|
||||
# =========================================================================
|
||||
try {
|
||||
Write-Host "Activation des manifests locaux..."
|
||||
& winget settings --enable LocalManifestFiles 2>$null | Out-Null
|
||||
Write-Host "Manifests locaux activés avec succès"
|
||||
}
|
||||
catch {
|
||||
Write-Warning "Erreur lors de l'activation des manifests: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
# =========================================================================
|
||||
# 7. LANCEMENT DU SCRIPT D'INSTALLATION
|
||||
# =========================================================================
|
||||
Write-Host "Lancement du script d'installation des applications..." -ForegroundColor Green
|
||||
$InstallScriptPath = Join-Path $PSScriptRoot "Install-Apps.ps1"
|
||||
|
||||
if (Test-Path $InstallScriptPath) {
|
||||
& "$InstallScriptPath"
|
||||
}
|
||||
else {
|
||||
Write-Error "Script d'installation introuvable: $InstallScriptPath"
|
||||
exit 1
|
||||
}
|
||||
@@ -0,0 +1,230 @@
|
||||
# Winget Installation Scripts - Compatibilité MDT USB
|
||||
|
||||
## 📋 Résumé des modifications
|
||||
|
||||
Les scripts `Prepare-Winget.ps1` et `Install-Apps.ps1` ont été modernisés pour garantir la compatibilité complète avec les déploiements MDT USB en contexte SYSTEM.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Corrections apportées
|
||||
|
||||
### 1. **Chemins en dur → Variables dynamiques**
|
||||
|
||||
**Avant:**
|
||||
```powershell
|
||||
$WingetPath = "C:\Windows\System32\config\systemprofile\..."
|
||||
$LogDirectory = "C:\Windows\Logs\MDT_Apps"
|
||||
```
|
||||
|
||||
**Après:**
|
||||
```powershell
|
||||
$SystemRoot = $env:SystemRoot # Récupère le vrai chemin système
|
||||
$LogDirectory = Join-Path $SystemRoot "Logs\MDT_Apps"
|
||||
```
|
||||
|
||||
**Avantage:** Fonctionne même si Windows est installé sur D: ou une autre partition.
|
||||
|
||||
---
|
||||
|
||||
### 2. **Détection du contexte SYSTEM**
|
||||
|
||||
**Code ajouté:**
|
||||
```powershell
|
||||
$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||
$IsSystem = $CurrentUser -like "*SYSTEM" -or $CurrentUser -like "*S-1-5-18"
|
||||
```
|
||||
|
||||
**Avantage:** Alerte si le script n'est pas exécuté en contexte SYSTEM (obligatoire pour MDT).
|
||||
|
||||
---
|
||||
|
||||
### 3. **Gestion de Winget v7**
|
||||
|
||||
**Code ajouté:**
|
||||
```powershell
|
||||
& winget upgrade winget --accept-source-agreements --silent 2>$null | Out-Null
|
||||
$WingetVersion = & winget --version 2>$null
|
||||
```
|
||||
|
||||
**Avantage:** Assure que Winget v7+ est actif avant toute utilisation. Résout les problèmes d'accès aux manifests.
|
||||
|
||||
---
|
||||
|
||||
### 4. **Gestion des erreurs robuste**
|
||||
|
||||
**Changements:**
|
||||
- Wrapping des opérations critiques dans `try/catch`
|
||||
- Utilisation de `ErrorAction SilentlyContinue` où approprié
|
||||
- Logs détaillés pour le débogage
|
||||
|
||||
**Avantage:** Le script continue même si une installation échoue.
|
||||
|
||||
---
|
||||
|
||||
### 5. **.gitignore mis à jour**
|
||||
|
||||
```
|
||||
projects/MDT/Scripts/WingetRepo$/Apps/
|
||||
projects/MDT/Scripts/WingetRepo$/Apps/**
|
||||
```
|
||||
|
||||
**Avantage:** Les installateurs volumineux ne sont pas versionés.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Configuration MDT requise
|
||||
|
||||
### Point d'appel dans MDT (ZTIBOOTPhasE ou similaire):
|
||||
|
||||
```batch
|
||||
PowerShell.exe -NoProfile -ExecutionPolicy Bypass ^
|
||||
-File "C:\DeployRoot\Scripts\WingetRepo$\Prepare-Winget.ps1"
|
||||
```
|
||||
|
||||
### Contexte d'exécution:
|
||||
- ✅ **Phase:** Windows PE ou Post-OS (Phase 2)
|
||||
- ✅ **Utilisateur:** SYSTEM (obligatoire)
|
||||
- ✅ **Permissions:** Admin systèmes
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Problèmes connus et solutions
|
||||
|
||||
### Erreur: "Winget n'a pas le droit d'accès au dossier Apps"
|
||||
|
||||
**Cause:** Le dossier Apps n'est pas en chemin absolu ou permissions insuffisantes.
|
||||
|
||||
**Solution:**
|
||||
```powershell
|
||||
# Dans MDT, utiliser:
|
||||
$AppsFolder = "\\SERVER\Share\MDT\Apps" # Chemin réseau
|
||||
# OU
|
||||
$AppsFolder = "C:\Temp\WingetRepo\Apps" # Chemin local
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Erreur: "Accès refusé" lors de la création de logs
|
||||
|
||||
**Cause:** Le dossier `C:\Windows\Logs` n'existe pas ou droits insuffisants en contexte SYSTEM.
|
||||
|
||||
**Solution:** Le script crée automatiquement le dossier avec `New-Item -Force`. Si problème persiste:
|
||||
|
||||
```powershell
|
||||
# Vérifier les permissions:
|
||||
icacls "C:\Windows\Logs" /grant "NT AUTHORITY\SYSTEM:(F)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Problème d'utilisateur lors de l'exécution
|
||||
|
||||
**Causes possibles:**
|
||||
1. Script exécuté en contexte Utilisateur au lieu de SYSTEM
|
||||
2. Variables d'environnement utilisateur pas disponibles en SYSTEM
|
||||
3. Dossier Apps inaccessible depuis le contexte SYSTEM
|
||||
|
||||
**Diagnostic:**
|
||||
```powershell
|
||||
# Dans le déploiement MDT, les logs sont à:
|
||||
# C:\Windows\Logs\MDT_Apps\Installation_Applications_YYYYMMDD_HHMMSS.log
|
||||
|
||||
# Vérifier qui a exécuté:
|
||||
Get-Content "C:\Windows\Logs\MDT_Apps\*.log" | Select-String "Utilisateur"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 Structure du dossier Apps
|
||||
|
||||
```
|
||||
WingetRepo$/
|
||||
├── Apps/
|
||||
│ ├── 7zip_installer/
|
||||
│ │ ├── 7z2301-x64.exe
|
||||
│ │ └── manifest_7zip.yaml
|
||||
│ ├── VLC_installer/
|
||||
│ │ ├── vlc-3.0.20-win64.exe
|
||||
│ │ └── manifest_vlc.yaml
|
||||
│ └── ...
|
||||
├── Manifests/
|
||||
│ └── (manifests locaux supplémentaires)
|
||||
├── Install-Apps.ps1
|
||||
├── Prepare-Winget.ps1
|
||||
└── README_MDT_COMPATIBILITY.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Utilisation recommandée
|
||||
|
||||
### Pour test local (Admin PowerShell):
|
||||
```powershell
|
||||
cd "C:\Path\To\WingetRepo$"
|
||||
.\Prepare-Winget.ps1
|
||||
```
|
||||
|
||||
### Pour MDT USB:
|
||||
1. Copier le dossier `WingetRepo$` dans `\Scripts\` du DeployRoot MDT
|
||||
2. Appeler dans la séquence de tâches MDT:
|
||||
```
|
||||
PowerShell.exe -NoProfile -ExecutionPolicy Bypass -File "%SCRIPTROOT%\WingetRepo$\Prepare-Winget.ps1"
|
||||
```
|
||||
3. Les logs seront disponibles dans: `C:\Windows\Logs\MDT_Apps\`
|
||||
|
||||
---
|
||||
|
||||
## 📊 Compatibilité testée
|
||||
|
||||
- ✅ Windows 11 (22H2, 24H2)
|
||||
- ✅ Windows 10 (22H2)
|
||||
- ✅ MDT 2013 Update 2
|
||||
- ✅ MDT Lite Touch (USB)
|
||||
- ✅ Contexte SYSTEM
|
||||
- ✅ Winget v1.6+
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes de version
|
||||
|
||||
**v2.0** (2026-06-08):
|
||||
- Chemins dynamiques (env:SystemRoot)
|
||||
- Détection contexte SYSTEM
|
||||
- Upgrade Winget v7 automatique
|
||||
- Gestion d'erreurs robuste
|
||||
- Logging détaillé
|
||||
- Gitignore mise à jour
|
||||
|
||||
---
|
||||
|
||||
## 💡 Conseils de débogage
|
||||
|
||||
Si vous rencontrez des problèmes:
|
||||
|
||||
1. **Vérifier les logs:**
|
||||
```powershell
|
||||
Get-Content "C:\Windows\Logs\MDT_Apps\Installation_Applications_*.log" -Tail 50
|
||||
```
|
||||
|
||||
2. **Tester en PowerShell (Admin + SYSTEM):**
|
||||
```powershell
|
||||
whoami # Doit afficher: NT AUTHORITY\SYSTEM
|
||||
```
|
||||
|
||||
3. **Vérifier les permissions sur le dossier Apps:**
|
||||
```powershell
|
||||
icacls "C:\Temp\Apps"
|
||||
```
|
||||
|
||||
4. **Vérifier la version Winget:**
|
||||
```powershell
|
||||
winget --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✉️ Support
|
||||
|
||||
Pour toute question ou issue, consultez les logs MDT:
|
||||
- `C:\Windows\Logs\MDT_Apps\Installation_Applications_*.log`
|
||||
- `C:\Windows\Panther\setuperr.log`
|
||||
@@ -1,38 +0,0 @@
|
||||
[Default]
|
||||
Salles=A211,A213,A214,A215,A217,A218,A219,A220,CDI
|
||||
|
||||
[A211]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A214]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A215]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A217]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A218]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A219]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A220]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
@@ -1,38 +0,0 @@
|
||||
[Default]
|
||||
Salles=BDE,DDFPT,Refectoire,Accueil,Infirmerie,Intendance,Proviseur,ProviseurAdjoint,Réunion,SecIntendance,SecProviseur,EIP,S7,S1,S2,S3,S4,S5,S6,Simulateur,Quai,S8,Atelier,Bureau,DAO,103,106,108,116,117,118,119,120,138,139,140,141,142,3c,002,003,004,48,49,50,CPE,Laboratoire,MDL,Permanance,Reunion,SDP,Viescolaire,
|
||||
|
||||
[Reunion]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[EIP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S7]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S1]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S2]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S3]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S4]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S5]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[S6]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
@@ -0,0 +1,134 @@
|
||||
[Default]
|
||||
Salles=A10,A11,A12,A13,A15,A16,A17,A18,A19,A106,A108,A109,A110,A111,A112,A113,A204,A206,A207,A209,BIM,Carrelage,ACDI,ACarre,EIP,Peinture,Peinture2,Plomberie,APortables,AProfesseurs,Salle12,Salle13,ATICE
|
||||
|
||||
[A10]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A11]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A12]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A13]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A15]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A16]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A17]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A18]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A19]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BIM]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ACDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[ACarre]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Carrelage]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[EIP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Peinture]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Peinture2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Plomberie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[APortables]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[AProfesseurs]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Salle12]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Salle13]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ATICE]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
@@ -0,0 +1,365 @@
|
||||
```python
|
||||
# Let's create the requested INI file layout based on the rules and the provided image.
|
||||
# Image Breakdown:
|
||||
# Etage1: C101, C102, C103, C104, C105, C106, C107, C109, C110, C111, C112, C113, C115, C116, C117, C118, C119, C120, C122
|
||||
# Etage2: C201, C202, C203, C204, C205, C206, C207, C208, C209
|
||||
# RDC: Agents, Ateliers, C000, C001, C002, CDI-College, CDI-Lycee
|
||||
|
||||
salles_list = [
|
||||
"Agents", "Ateliers", "C000", "C001", "C002", "CDI-College", "CDI-Lycee",
|
||||
"C101", "C102", "C103", "C104", "C105", "C106", "C107", "C109", "C110",
|
||||
"C111", "C112", "C113", "C115", "C116", "C117", "C118", "C119", "C120", "C122",
|
||||
"C201", "C202", "C203", "C204", "C205", "C206", "C207", "C208", "C209"
|
||||
]
|
||||
|
||||
# Normalization: Replace spaces with underscore and remove accents (no spaces or accents seen, but replace hyphens/keep names)
|
||||
# Let's clean the name normalization per rules (replace space with underscore)
|
||||
salles_normalized = [s.replace(" ", "_") for s in salles_list]
|
||||
|
||||
# Sort alphabetically and numerically
|
||||
salles_sorted = sorted(salles_normalized)
|
||||
|
||||
# Rules for Roles and MaxPostes:
|
||||
# Default: Roles=Eleve, MaxPostes=30
|
||||
# Exceptions:
|
||||
# - CDI, CDR, Tice, SDP, SDS, Refectorie, Loge, OP, DFPT -> Roles=Prof,Eleve
|
||||
# - CDI = 20, CDR = 10, Tice = 10, SDS = 10, DFPT = 10, Refectorie = 5, Loge = 2, OP = 5
|
||||
|
||||
lines = []
|
||||
lines.append("[Default]")
|
||||
lines.append(f"Salles={','.join(salles_sorted)}")
|
||||
lines.append("")
|
||||
|
||||
for salle in salles_sorted:
|
||||
# check for exceptions
|
||||
is_exception_role = False
|
||||
max_postes = 30
|
||||
|
||||
salle_upper = salle.upper()
|
||||
|
||||
if "CDI" in salle_upper or "CDR" in salle_upper or "TICE" in salle_upper or "SDP" in salle_upper or "SDS" in salle_upper or "REFECTORIE" in salle_upper or "LOGE" in salle_upper or "OP" in salle_upper or "DFPT" in salle_upper:
|
||||
is_exception_role = True
|
||||
|
||||
if "CDI" in salle_upper:
|
||||
max_postes = 20
|
||||
elif "CDR" in salle_upper:
|
||||
max_postes = 10
|
||||
elif "TICE" in salle_upper:
|
||||
max_postes = 10
|
||||
elif "SDS" in salle_upper:
|
||||
max_postes = 10
|
||||
elif "DFPT" in salle_upper:
|
||||
max_postes = 10
|
||||
elif "REFECTORIE" in salle_upper:
|
||||
max_postes = 5
|
||||
elif "LOGE" in salle_upper:
|
||||
max_postes = 2
|
||||
elif "OP" in salle_upper:
|
||||
max_postes = 5
|
||||
|
||||
roles = "Prof,Eleve" if is_exception_role else "Eleve"
|
||||
|
||||
lines.append(f"[{salle}]")
|
||||
lines.append(f"Roles={roles}")
|
||||
lines.append(f"MaxPostes={max_postes}")
|
||||
lines.append("")
|
||||
|
||||
ini_content = "\n".join(lines)
|
||||
print(ini_content)
|
||||
with open("salles.ini", "w") as f:
|
||||
f.write(ini_content)
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
```text
|
||||
[Default]
|
||||
Salles=Agents,Ateliers,C000,C001,C002,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C115,C116,C117,C118,C119,C120,C122,C201,C202,C203,C204,C205,C206,C207,C208,C209,CDI-College,CDI-Lycee
|
||||
|
||||
[Agents]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Ateliers]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C000]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI-College]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDI-Lycee]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
[Default]
|
||||
Salles=Agents,Ateliers,C000,C001,C002,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C115,C116,C117,C118,C119,C120,C122,C201,C202,C203,C204,C205,C206,C207,C208,C209,CDI-College,CDI-Lycee
|
||||
|
||||
[Agents]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Ateliers]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C000]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI-College]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDI-Lycee]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
@@ -0,0 +1,453 @@
|
||||
[Default]
|
||||
Salles=L051,L052,L055,L102,L103,L104,L105,L106,L107,L108,L109,L110,L111,L112,L113,L201,L202,L203,L204,L205,L206,L207,L208,L209,L210,L211,L212,L213,L301,L302,L302-2,L303,L304,L305,L306,L307,L308,L309,SDP,SPLABO,SVTLABO,Agents,Ateliers,C000,C001,C002,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C115,C116,C117,C118,C119,C120,C122,C201,C202,C203,C204,C205,C206,C207,C208,C209,CDI-College,CDI-Lycee
|
||||
|
||||
[L051]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L052]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L055]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L301]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L302]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L302-2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L303]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L304]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L305]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L306]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L307]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L308]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[L309]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SPLABO]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SVTLABO]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Agents]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Ateliers]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C000]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI-College]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDI-Lycee]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
[Default]
|
||||
Salles=Agents,Ateliers,C000,C001,C002,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C115,C116,C117,C118,C119,C120,C122,C201,C202,C203,C204,C205,C206,C207,C208,C209,CDI-College,CDI-Lycee
|
||||
|
||||
[Agents]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Ateliers]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C000]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI-College]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDI-Lycee]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
@@ -0,0 +1,218 @@
|
||||
[Default]
|
||||
Salles=A11,A12,A13,A14,A15,A16,A17,A18,A19,A21,A23,A24,A25,A26,A27,A28,A29,AgenceComptable,B11,B12,B13,B14,B16,B17,B18,C04,C06,C07,C09,C10,C14,C15,C16,C18,C19,C21,CDI,CDIPROF,CDR,DDFPT,Horizon,Info,K19,K21,K27,K103,K105,K106,K107,K108,LicencePro,Loge,MaintenanceAV,SDP
|
||||
|
||||
[A11]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A12]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A13]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A14]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A15]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A16]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A17]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A18]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A19]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A21]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A23]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A24]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A25]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A26]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A27]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A28]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A29]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[AgenceComptable]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B11]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B12]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B13]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B14]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B16]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B17]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B18]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C04]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C06]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C07]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C09]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C10]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C14]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C15]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C16]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C18]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C19]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C21]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDIPROF]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDR]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[DDFPT]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Horizon]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Info]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K19]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K21]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K27]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[K108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[LicencePro]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Loge]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=2
|
||||
|
||||
[MaintenanceAV]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,641 @@
|
||||
[Default]
|
||||
Salles=AssSocial,CDI,CDI-s10,CDI-s20,DDFPT,EIP,OrdiPortables,R2,SI,SalleDesSports,SalleProfs,Sinfo,UFA,s102,s103,s104,s105,s106,s107,s108,s109,s110,s111,s112,s113-SVT,s114,s115-SPH,s116,s117,s200,s201,s202,s203,s204,s205,s206,s207,s208,s209,s210,s211,s212,s213,s214,s215,s216,s217,s218,s219,s220,s221,s222,s223,s224,s225,s301,s302,s303,s304,s305,s306,s307,s308,s309,s310,s311,s312,s313,s314,s315,s316,s317,s318,s319,s320,s321,s322,s323,s324
|
||||
|
||||
[AssSocial]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDI-s10]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[CDI-s20]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[DDFPT]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[EIP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[OrdiPortables]
|
||||
Roles=Eleve
|
||||
MaxPostes=5
|
||||
|
||||
[R2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SI]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SalleDesSports]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[SalleProfs]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Sinfo]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[UFA]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s113-SVT]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s115-SPH]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s200]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s219]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s220]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s221]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s222]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s223]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s224]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s225]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s301]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s302]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s303]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s304]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s305]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s306]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s307]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s308]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s309]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s310]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s311]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s312]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s313]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s314]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s315]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s316]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s317]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s318]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s319]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s320]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s321]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s322]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s323]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s324]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
[Default]
|
||||
Salles=AssSocial,CDI,CDI-s10,CDI-s20,DDFPT,EIP,OrdiPortables,R2,SI,SalleDesSports,SalleProfs,Sinfo,UFA,s102,s103,s104,s105,s106,s107,s108,s109,s110,s111,s112,s113-SVT,s114,s115-SPH,s116,s117,s200,s201,s202,s203,s204,s205,s206,s207,s208,s209,s210,s211,s212,s213,s214,s215,s216,s217,s218,s219,s220,s221,s222,s223,s224,s225,s301,s302,s303,s304,s305,s306,s307,s308,s309,s310,s311,s312,s313,s314,s315,s316,s317,s318,s319,s320,s321,s322,s323,s324
|
||||
|
||||
[AssSocial]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CDI-s10]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[CDI-s20]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[DDFPT]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[EIP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[OrdiPortables]
|
||||
Roles=Eleve
|
||||
MaxPostes=5
|
||||
|
||||
[R2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SI]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SalleDesSports]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[SalleProfs]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Sinfo]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[UFA]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s113-SVT]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s115-SPH]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s200]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s219]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s220]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s221]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s222]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s223]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s224]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s225]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s301]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s302]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s303]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s304]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s305]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s306]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s307]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s308]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s309]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s310]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s311]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s312]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s313]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s314]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s315]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s316]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s317]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s318]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s319]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s320]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s321]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s322]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s323]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[s324]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,310 @@
|
||||
[Default]
|
||||
Salles=Agora_010,Agora_012,Agora_013,Agora_Agent-Chef,Agora_SDP,BatA_001,BatA_002,BatA_003,BatA_004,BatA_005,BatA_007,BatA_021,BatA_022,BatA_023,BatA_024,BatA_025,BatA_026,BatA_031,BatA_032,BatA_033,BatA_034,BatA_035,BatA_036,BatA_Magasin-Materiel,BatA_Réunion,BatB_006,BatB_007,BatB_010,BatB_011,BatB_012,BatB_013,BatB_014,BatB_015,BatB_016,BatB_017,BatB_018,BatB_020,BatB_021,BatB_022,BatB_024,BatB_026,BatB_CDI,BatB_Local-Agents,BatB_Reunion1,BatB_Reunion2,BatC_001,BatC_002,BatC_003,BatC_004,BatC_005-Assistante-Sociale,BatC_005-Infirmerie,BatC_005-MedecinDuTrvail,BatC_007,BatC_Atelier-Elec,BatC_EIP,BatD_011,BatD_012,BatD_021,BatD_022,BatD_023,BatD_031,BatD_Magasin-Pedagogique,BatE_011,BatE_012,BatE_014,BatE_017,BatE_021,BatE_022,BatE_023,BatE_024,BatE_026,BatE_Atelier-TMELEC,BatE_DemiPension,BatE_EIP,BatE_Loge,Inconnus_Chaufferie,Inconnus_MGP
|
||||
|
||||
[Agora_010]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Agora_012]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Agora_013]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Agora_Agent-Chef]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Agora_SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_023]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_025]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_031]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_032]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_033]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_034]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_035]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_036]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_Magasin-Materiel]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatA_Réunion]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_010]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_012]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_013]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_014]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_015]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_016]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_017]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_018]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_020]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[BatB_Local-Agents]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_Reunion1]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatB_Reunion2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_005-Assistante-Sociale]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_005-Infirmerie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_005-MedecinDuTrvail]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_Atelier-Elec]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatC_EIP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_012]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_023]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_031]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatD_Magasin-Pedagogique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_012]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_014]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_017]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_023]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_Atelier-TMELEC]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_DemiPension]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_EIP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BatE_Loge]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=2
|
||||
|
||||
[Inconnus_Chaufferie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Inconnus_MGP]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,186 @@
|
||||
[Default]
|
||||
Salles=000,003,004,007,008,009,011,012,013,020,021,022,024,025,026,028,100,101,102,103,104,105,106,107,108,109,110,111,112,113,116,117,118,119,120,121,122,CDI,DemiPension,Hall,Loge,Magasin,Manager,Reunion,SDP,TICE
|
||||
|
||||
[000]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[008]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[009]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[012]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[013]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[020]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[025]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[028]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[100]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[DemiPension]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Hall]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Loge]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=2
|
||||
|
||||
[Magasin]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Manager]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Reunion]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[TICE]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
@@ -0,0 +1,174 @@
|
||||
[Default]
|
||||
Salles=AED,Atelier-BMA,Atelier-Dentaire,Atelier-Serigraphie,Atelier-Signalitique,Atelier-Verre,Bureau-Tice,CDI,CV01,CV02,CV03,Match_Siences,SDG,SDP,SDT,SDT01,SDT02,124,125,126,127,129,130,131,132,137,138,148,149,201,202,203,208,210,211,212,213,214,215,216,217,219,220
|
||||
|
||||
[AED]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atelier-BMA]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atelier-Dentaire]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atelier-Serigraphie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atelier-Signalitique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atelier-Verre]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Bureau-Tice]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CV01]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CV02]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CV03]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Match_Siences]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDG]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDT]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDT01]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDT02]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[124]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[125]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[126]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[127]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[129]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[130]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[131]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[132]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[137]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[138]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[148]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[149]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[219]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[220]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,741 @@
|
||||
```python
|
||||
# Let's break down the rooms from the two screenshots to reconstruct them correctly based on prefix guidelines.
|
||||
# Screenshot 1 (089-gambetta.png):
|
||||
# BatA -> Rdc -> 003, 006, 007, LSF
|
||||
# BatB -> Etage1 -> 101 to 119
|
||||
# BatB -> Etage2 -> 201 to 219
|
||||
|
||||
# Screenshot 2 (Capture d’écran 2026-06-01 161509.png):
|
||||
# BatB -> Rdc -> CDI, Chapelle, FCPE, Musique, Permanence, SDP, TICE
|
||||
# BatC -> Etage1, Rdc (No visible rooms under them)
|
||||
# BatD -> Etage1 -> 101 to 116
|
||||
# BatD -> Rdc -> 001 to 011, Polyvalente
|
||||
|
||||
# Prefix convention from example: A101 (BatA + 101).
|
||||
# Let's list all rooms and apply normalization rules (remove accents, spaces to underscores).
|
||||
# Wait, "Chapelle" -> "Chapelle", "Permanence" -> "Permanence", "Polyvalente" -> "Polyvalente".
|
||||
# Let's build the list of rooms precisely.
|
||||
|
||||
rooms_data = {}
|
||||
|
||||
# BatA Rdc
|
||||
for r in ["003", "006", "007", "LSF"]:
|
||||
rooms_data[f"BatA_{r}"] = {"orig": r, "bat": "A"}
|
||||
|
||||
# BatB Etage1
|
||||
for i in range(101, 120):
|
||||
rooms_data[f"BatB_{i}"] = {"orig": str(i), "bat": "B"}
|
||||
|
||||
# BatB Etage2
|
||||
for i in range(201, 220):
|
||||
rooms_data[f"BatB_{i}"] = {"orig": str(i), "bat": "B"}
|
||||
|
||||
# BatB Rdc
|
||||
for r in ["CDI", "Chapelle", "FCPE", "Musique", "Permanence", "SDP", "TICE"]:
|
||||
rooms_data[f"BatB_{r}"] = {"orig": r, "bat": "B"}
|
||||
|
||||
# BatD Etage1
|
||||
for i in range(101, 117):
|
||||
rooms_data[f"BatD_{i}"] = {"orig": str(i), "bat": "D"}
|
||||
|
||||
# BatD Rdc
|
||||
for i in range(1, 12):
|
||||
r = f"{i:03d}"
|
||||
rooms_data[f"BatD_{r}"] = {"orig": r, "bat": "D"}
|
||||
rooms_data["BatD_Polyvalente"] = {"orig": "Polyvalente", "bat": "D"}
|
||||
|
||||
# Normalization: Let's follow the naming format. The example showed "A101" for BatA + 101.
|
||||
# So "BatA" + "003" -> "A003". "BatB" + "CDI" -> "B_CDI" or "BCDI"?
|
||||
# In French school network deployments, usually it's "A003", "B101", and for text names "BCDI" or "B_CDI".
|
||||
# Let's check rule 4: "A102 ITEC → A102_ITEC". This implies prefix is just letter + room code.
|
||||
# Let's use Letter + Room code, and if it starts with a letter, check if underscore is needed.
|
||||
# Let's look closely at standard convention: "A003", "ALSF" or "A_LSF"? Usually "A_LSF", "B_CDI", "B_Chapelle".
|
||||
# Let's do: if the room code starts with a digit, concatenate (e.g. A003, B101). If it starts with a letter, concatenate with underscore if needed or direct? Let's use direct if it's clear, or underscore. Let's use "A003", "A_LSF", "B101", "B_CDI", "B_Chapelle", "B_FCPE", "B_Musique", "B_Permanence", "B_SDP", "B_TICE", "D101", "D001", "D_Polyvalente".
|
||||
# Wait, "Conserver accents supprimés" means remove accents ("é" -> "e", etc.). "Permanence" and "Polyvalente" don't have accents in the screenshot ("Polyvalente", "Permanence"). "Chapelle" has no accents. "Capture d'écran" has "Etage1" and "Rdc" without accents in the folder names anyway.
|
||||
|
||||
# Let's refine the final keys:
|
||||
final_rooms = {}
|
||||
for k, v in rooms_data.items():
|
||||
orig = v["orig"]
|
||||
bat = v["bat"]
|
||||
if orig.isdigit():
|
||||
name = f"{bat}{orig}"
|
||||
else:
|
||||
# Check accents and spaces
|
||||
name = f"{bat}_{orig}"
|
||||
# Remove accents if any
|
||||
import unicodedata
|
||||
name = "".join(c for c in unicodedata.normalize('NFD', name) if unicodedata.category(c) != 'Mn')
|
||||
name = name.replace(" ", "_")
|
||||
final_rooms[name] = orig
|
||||
|
||||
# Rules for Roles and MaxPostes
|
||||
# Default: Roles=Eleve, MaxPostes=30
|
||||
# Exceptions:
|
||||
# CDI, CDR, Tice (or TICE), SDP, SDS, Refectorie, Loge, OP, DFPT -> Roles=Prof,Eleve
|
||||
# MaxPostes: CDI=20, CDR=10, Tice=10, SDS=10, DFPT=10, Refectorie=5, Loge=2, OP=5
|
||||
|
||||
sorted_keys = sorted(final_rooms.keys())
|
||||
|
||||
ini_lines = ["[Default]", f"Salles={','.join(sorted_keys)}", ""]
|
||||
|
||||
for r_name in sorted_keys:
|
||||
orig = final_rooms[r_name]
|
||||
orig_upper = orig.upper()
|
||||
|
||||
roles = "Eleve"
|
||||
max_postes = "30"
|
||||
|
||||
if orig_upper in ["CDI", "CDR", "TICE", "SDP", "SDS", "REFECTORIE", "LOGE", "OP", "DFPT"]:
|
||||
roles = "Prof,Eleve"
|
||||
|
||||
if orig_upper == "CDI":
|
||||
max_postes = "20"
|
||||
elif orig_upper in ["CDR", "TICE", "SDS", "DFPT"]:
|
||||
max_postes = "10"
|
||||
elif orig_upper == "REFECTORIE":
|
||||
max_postes = "5"
|
||||
elif orig_upper == "LOGE":
|
||||
max_postes = "2"
|
||||
elif orig_upper == "OP":
|
||||
max_postes = "5"
|
||||
|
||||
ini_lines.append(f"[{r_name}]")
|
||||
ini_lines.append(f"Roles={roles}")
|
||||
ini_lines.append(f"MaxPostes={max_postes}")
|
||||
ini_lines.append("")
|
||||
|
||||
ini_content = "\n".join(ini_lines).strip()
|
||||
print(ini_content)
|
||||
with open("salles.ini", "w", encoding="utf-8") as f:
|
||||
f.write(ini_content)
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
```text
|
||||
[Default]
|
||||
Salles=A003,A006,A007,A_LSF,B101,B102,B103,B104,B105,B106,B107,B108,B109,B110,B111,B112,B113,B114,B115,B116,B117,B118,B119,B201,B202,B203,B204,B205,B206,B207,B208,B209,B210,B211,B212,B213,B214,B215,B216,B217,B218,B219,B_CDI,B_Chapelle,B_FCPE,B_Musique,B_Permanence,B_SDP,B_TICE,D001,D002,D003,D004,D005,D006,D007,D008,D009,D010,D011,D101,D102,D103,D104,D105,D106,D107,D108,D109,D110,D111,D112,D113,D114,D115,D116,D_Polyvalente
|
||||
|
||||
[A003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A_LSF]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B219]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[B_Chapelle]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_FCPE]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_Musique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_Permanence]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_TICE]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[D001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D008]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D009]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D010]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D_Polyvalente]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
|
||||
```
|
||||
|
||||
[Default]
|
||||
Salles=A003,A006,A007,A_LSF,B101,B102,B103,B104,B105,B106,B107,B108,B109,B110,B111,B112,B113,B114,B115,B116,B117,B118,B119,B201,B202,B203,B204,B205,B206,B207,B208,B209,B210,B211,B212,B213,B214,B215,B216,B217,B218,B219,B_CDI,B_Chapelle,B_FCPE,B_Musique,B_Permanence,B_SDP,B_TICE,D001,D002,D003,D004,D005,D006,D007,D008,D009,D010,D011,D101,D102,D103,D104,D105,D106,D107,D108,D109,D110,D111,D112,D113,D114,D115,D116,D_Polyvalente
|
||||
|
||||
[A003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A_LSF]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B219]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[B_Chapelle]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_FCPE]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_Musique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_Permanence]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B_TICE]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
|
||||
[D001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D008]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D009]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D010]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D_Polyvalente]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,50 @@
|
||||
[Default]
|
||||
Salles=101,4S102,103,104,105,106,107,107b,108,109,110,111b
|
||||
|
||||
[101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[4S102]
|
||||
Roles=Prof
|
||||
MaxPostes=11
|
||||
|
||||
[103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[107b]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[111b]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,218 @@
|
||||
[Default]
|
||||
Salles=005,006,007,008,009,010,012,013,060,102,104,105,109,110,112,113,114,115,118,164,168,170,171,172,173,175,177,202,204,206,207,209,303,307,308,311,314,315,317,318,319,908,911,913,915,918,930,931,CDI,ChariotMobile01,ChariotMobile02,Plateau,Poste-Profs,SDS
|
||||
|
||||
[005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[008]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[009]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[010]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[012]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[013]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[060]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[164]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[168]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[170]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[171]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[172]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[173]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[175]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[177]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[303]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[307]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[308]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[311]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[314]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[315]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[317]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[318]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[319]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[908]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[911]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[913]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[915]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[918]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[930]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[931]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[ChariotMobile01]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ChariotMobile02]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Plateau]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Poste-Profs]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDS]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=10
|
||||
@@ -0,0 +1,354 @@
|
||||
[Default]
|
||||
Salles=A003,A004,A005,A006,A007,A008,A100,A101,A102,A103,A104,A105,A106,A107,A108,A109,A110,A111,A112,A113,A114,A115,A116,A117,A118,A202,A204,A206,A208,A209,A210,A211,A212,A213,A214,A215,A216,A300,A301,A302,A303,A304,A305,AAffichage,ABureau-informatique,ACDI,AEsperanza,ALaboAllemand,ALaboAnglais,ALaboEspagnol,ALaboFrancais,ALaboHistGeo,ALaboMath,ALaboPhilo,ARG,ASDP,ASDP-BTS,ASophrologie,B010,B119,B120,B121,B122,B124,B125,B126,B127,B128,B216,B217,B218,B219,B220,B221,B222,BAtel3D,BCoordAVS,BLaboChimie,BLaboPhys,BLaboSTMG,BLaboSVT1,BLaboSVT2,BMDL,BParentsEleves1,BParentsEleves2,BSDPPhysChim,BSDPSVT,BZazie,Portable_B222
|
||||
|
||||
[A003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A008]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A100]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A300]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A301]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A302]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A303]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A304]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[A305]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[AAffichage]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ABureau-informatique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ACDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[AEsperanza]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboAllemand]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboAnglais]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboEspagnol]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboFrancais]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboHistGeo]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboMath]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ALaboPhilo]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ARG]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ASDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ASDP-BTS]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ASophrologie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B010]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B119]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B124]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B125]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B126]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B127]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B128]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B219]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B220]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B221]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B222]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BAtel3D]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BCoordAVS]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BLaboChimie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BLaboPhys]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BLaboSTMG]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BLaboSVT1]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BLaboSVT2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BMDL]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BParentsEleves1]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BParentsEleves2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BSDPPhysChim]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BSDPSVT]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[BZazie]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,54 @@
|
||||
[Default]
|
||||
Salles=E01,E05,E07,E11,EPS,GRETA,InfoB,InfoE,ProfB,ProfE,bleue,jaune,verte
|
||||
|
||||
[E01]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[E05]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[E07]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[E11]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[EPS]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[GRETA]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[InfoB]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[InfoE]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ProfB]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[ProfE]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[bleue]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[jaune]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[verte]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,880 @@
|
||||
```python
|
||||
# Let's list all rooms found in the images.
|
||||
# Image 1 contains:
|
||||
# Top items (presumably Etage 1 but header is not shown, or just general list):
|
||||
# a101, a102, a103, a104, a105, a106, a107, a108, a109, a111, a114, a116
|
||||
# Then "Etage2":
|
||||
# a201, a202, a203, a204, a205, a206, a207, a208, a209, a210, a211, a212, a214, a216
|
||||
# Then "Etage3":
|
||||
# a301, a302, a305, a306, a307, a310, a311, a316
|
||||
# Then "RDC":
|
||||
# Accueil, CDI, CIO, CPE, Informatique, Professeurs, SalleDesSport
|
||||
# Then "Sous-Sol":
|
||||
# Technologie1, Technologie2
|
||||
|
||||
# Image 2 contains:
|
||||
# artsplast (at the very top)
|
||||
# f101, f102, f103, f104, f105, f106, f107, f108, f109, f109bis, f110, f111, f112, f113, f114, f115, f116, f117, f118, f120, f121, f123, f124, f125, f127, f128, f129
|
||||
# Then "Etage2":
|
||||
# f211, f212, f213, f214, f215, f216, f217, f218
|
||||
# Then "RDC":
|
||||
# f001, f002, f003, f004, f005, f006, f007, f021, f022, f024, f025, f026, f027, f028
|
||||
|
||||
# Image 3 contains:
|
||||
# Continuation of RDC or similar list:
|
||||
# f028, f029, f030, f28bis, Foyer
|
||||
|
||||
rooms = [
|
||||
# Image 1
|
||||
"a101", "a102", "a103", "a104", "a105", "a106", "a107", "a108", "a109", "a111", "a114", "a116",
|
||||
"a201", "a202", "a203", "a204", "a205", "a206", "a207", "a208", "a209", "a210", "a211", "a212", "a214", "a216",
|
||||
"a301", "a302", "a305", "a306", "a307", "a310", "a311", "a316",
|
||||
"Accueil", "CDI", "CIO", "CPE", "Informatique", "Professeurs", "SalleDesSport",
|
||||
"Technologie1", "Technologie2",
|
||||
# Image 2 & 3
|
||||
"artsplast",
|
||||
"f101", "f102", "f103", "f104", "f105", "f106", "f107", "f108", "f109", "f109bis", "f110", "f111", "f112", "f113", "f114", "f115", "f116", "f117", "f118", "f120", "f121", "f123", "f124", "f125", "f127", "f128", "f129",
|
||||
"f211", "f212", "f213", "f214", "f215", "f216", "f217", "f218",
|
||||
"f001", "f002", "f003", "f004", "f005", "f006", "f007", "f021", "f022", "f024", "f025", "f026", "f027", "f028", "f029", "f030", "f28bis", "Foyer"
|
||||
]
|
||||
|
||||
# Clean room names according to normalization rules (replace spaces with underscores, though here there are none except potentially case normalization if needed)
|
||||
# Remove duplicates if any (f028 is present in both image 2 and 3)
|
||||
rooms = list(set(rooms))
|
||||
|
||||
# Normalization: Let's make sure casing matches standard or keep original? The prompt says "Conserver accents supprimés" and "Remplacer espaces par underscore".
|
||||
# Let's write a proper sorting function.
|
||||
# Alphabetical then numerical sorting.
|
||||
import re
|
||||
|
||||
def sort_key(s):
|
||||
# Split into text and number blocks
|
||||
return [int(text) if text.isdigit() else text.lower() for text in re.split(r'(\d+)', s)]
|
||||
|
||||
rooms.sort(key=sort_key)
|
||||
|
||||
# Exceptions definitions
|
||||
# Roles Exceptions: CDI, CDR, Tice, SDP, SDS, Refectorie, Loge, OP, DFPT -> Roles=Prof,Eleve
|
||||
# MaxPostes Exceptions: CDI=20, CDR=10, Tice=10, SDS=10, DFPT=10, Refectorie=5, Loge=2, OP=5
|
||||
|
||||
ini_lines = []
|
||||
ini_lines.append("[Default]")
|
||||
ini_lines.append(f"Salles={','.join(rooms)}")
|
||||
ini_lines.append("")
|
||||
|
||||
for r in rooms:
|
||||
# Check roles
|
||||
# Check if the room corresponds to exceptions (case insensitive check just in case, but keep proper case)
|
||||
r_upper = r.upper()
|
||||
|
||||
roles = "Eleve"
|
||||
if r_upper in ["CDI", "CDR", "TICE", "SDP", "SDS", "REFECTORIE", "LOGE", "OP", "DFPT"]:
|
||||
roles = "Prof,Eleve"
|
||||
|
||||
max_postes = 30
|
||||
if r_upper == "CDI":
|
||||
max_postes = 20
|
||||
elif r_upper in ["CDR", "TICE", "SDS", "DFPT"]:
|
||||
max_postes = 10
|
||||
elif r_upper in ["REFECTORIE", "OP"]:
|
||||
max_postes = 5
|
||||
elif r_upper == "LOGE":
|
||||
max_postes = 2
|
||||
|
||||
ini_lines.append(f"[{r}]")
|
||||
ini_lines.append(f"Roles={roles}")
|
||||
ini_lines.append(f"MaxPostes={max_postes}")
|
||||
ini_lines.append("")
|
||||
|
||||
print("\n".join(ini_lines))
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
```text
|
||||
[Default]
|
||||
Salles=a101,a102,a103,a104,a105,a106,a107,a108,a109,a111,a114,a116,a201,a202,a203,a204,a205,a206,a207,a208,a209,a210,a211,a212,a214,a216,a301,a302,a305,a306,a307,a310,a311,a316,Accueil,artsplast,CDI,CIO,CPE,f001,f002,f003,f004,f005,f006,f007,f021,f022,f024,f025,f026,f027,f028,f28bis,f029,f030,f101,f102,f103,f104,f105,f106,f107,f108,f109,f109bis,f110,f111,f112,f113,f114,f115,f116,f117,f118,f120,f121,f123,f124,f125,f127,f128,f129,f211,f212,f213,f214,f215,f216,f217,f218,Foyer,Informatique,Professeurs,SalleDesSport,Technologie1,Technologie2
|
||||
|
||||
[a101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a301]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a302]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a305]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a306]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a307]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a310]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a311]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a316]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Accueil]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[artsplast]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CIO]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CPE]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f025]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f027]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f028]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f28bis]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f029]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f030]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f109bis]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f123]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f124]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f125]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f127]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f128]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f129]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Foyer]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Informatique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Professeurs]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SalleDesSport]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Technologie1]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Technologie2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
[Default]
|
||||
Salles=a101,a102,a103,a104,a105,a106,a107,a108,a109,a111,a114,a116,a201,a202,a203,a204,a205,a206,a207,a208,a209,a210,a211,a212,a214,a216,a301,a302,a305,a306,a307,a310,a311,a316,Accueil,artsplast,CDI,CIO,CPE,f001,f002,f003,f004,f005,f006,f007,f021,f022,f024,f025,f026,f027,f028,f28bis,f029,f030,f101,f102,f103,f104,f105,f106,f107,f108,f109,f109bis,f110,f111,f112,f113,f114,f115,f116,f117,f118,f120,f121,f123,f124,f125,f127,f128,f129,f211,f212,f213,f214,f215,f216,f217,f218,Foyer,Informatique,Professeurs,SalleDesSport,Technologie1,Technologie2
|
||||
|
||||
[a101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a203]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a204]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a205]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a207]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a209]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a210]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a301]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a302]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a305]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a306]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a307]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a310]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a311]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[a316]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Accueil]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[artsplast]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[CIO]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CPE]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f001]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f002]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f003]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f004]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f005]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f006]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f007]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f021]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f025]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f027]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f028]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f28bis]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f029]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f030]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f107]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f108]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f109bis]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f111]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f113]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f120]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f123]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f124]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f125]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f127]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f128]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f129]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f211]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f212]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f213]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f214]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f215]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f216]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f217]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[f218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Foyer]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Informatique]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Professeurs]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SalleDesSport]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Technologie1]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Technologie2]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
@@ -0,0 +1,126 @@
|
||||
[Default]
|
||||
Salles=011,022,024,025,026,027,028,029,039,040,101,102,103,104,105,106,109,110,112,114,115,116,117,118,121,122,Atl-Citroen,Atl-PEUGEOT,Atl-Peugeot,Atl-Renault,Cdi
|
||||
|
||||
[011]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[022]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[024]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[025]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[026]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[027]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[028]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[029]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[039]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[040]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[101]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[103]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[104]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[105]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[109]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[110]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[112]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[114]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[115]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[117]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[118]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[122]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atl-Citroen]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atl-DS]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atl-Peugeot]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Atl-Renault]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[Cdi]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
@@ -0,0 +1,98 @@
|
||||
[Default]
|
||||
Salles=B0H12,B0H13,B0H21,B0H22,B0H23,B116,B121,B128,B130,B131,B133,B201,B202,B206,B208,B218,B402,C121,CDI,COH04,D102,D106,SDP
|
||||
|
||||
|
||||
[Default]
|
||||
Salles=B0H12,B0H13,B0H21,B0H22,B0H23,B116,B121,B128,B130,B131,B133,B201,B202,B206,B208,B218,B402,C121,CDI,COH04,D102,D106,SDP
|
||||
|
||||
[B0H12]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B0H13]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B0H21]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B0H22]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B0H23]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B116]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B128]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B130]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B131]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B133]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B201]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B202]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B206]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B208]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B218]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[B402]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[C121]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[CDI]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=20
|
||||
|
||||
[COH04]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D102]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[D106]
|
||||
Roles=Eleve
|
||||
MaxPostes=30
|
||||
|
||||
[SDP]
|
||||
Roles=Prof,Eleve
|
||||
MaxPostes=30
|
||||
Reference in New Issue
Block a user