De rien
GalaxySoftware Mais je vais être honnête :
Voyons les bons côtés et les mauvais (comme Polien qui a en grande partie raison) :
Mauvais côtés : - Barre de tâche qui ne s'adapte pas au résolution des autres utilisateurs... Mantrix s'adapte depuis le début :/ c'est les bases du développement : à tu pensez à mettre ta barre de tâche en Dock = Bottom (bas) ?
- Les icônes sont des PNG ? Ils ne peuvent pas être déplacés :/ Utilise des astuces d'inter-fenêtrage (voir google) et utilise le Shell de Windows pour créer de véritable icône (Shell Extended -> Niveau difficile mais avec du temps t'y arrivera
) sinon fait comme Mantrix (Beta) : adieu les icônes et bonjour au interfaces dynamiques et fluides
- Aide toi des Timer (Minuteur de SZ) pour afficher l'heure en temps réel
ça ne ralentie pas forcément le tout, de plus tu te basera sur la pile du PC et non Windows et tu ne consommera presque pas de mémoire supplémentaire
Les codes du temps (encore comparé à Mantrix Beta mais c'est pour l'exemple) sont dispo dans les codes Linux (Linux est un exemple très bon à prendre) : à retransformer en VB.NET
- Et bien d'autres petits soucis malheureusement
Points positifs : - Décors et interfaces graphiques
- Fonctionnement interne
- L'explorateur de fichier (même basé sur Window-X) est bien fait
- Le status de gestion utilisateur
Alors en gros si tu veux que ton OS ArionNova fonctionne bien chez tout le monde il te faut ce n'est qu'un résumé qui t'aidera ): - Connaître comment placer correctement des zones et objets dans le décors d'une fenêtre
- Supprimer le status de fenêtre : tu doit dire à Windows qu'il ne s'agit plus d'une fenêtre Windows normal mais d'un CNI (Corp Nu Interface)
- Tu devra utiliser des fichiers comme stockage de variable interconnexion entre un utilisateur et l'OS : ne pas utiliser de DLL (sinon tu devra les recoder comme assembleur si tu décide d'en faire un OS Natif un jour. Si il compte rester sous Windows, quel que soit ton codage, évite d'utiliser (je sais pas si tu la fait) le Krypton : seul Windows le reconnais. Créer tes propres fenêtres : au revoir Window-X
Gipse, sur le forum, m'a appris grâce à ces tutoriels à le faire : c'est très simple en faite.
- Connaître le fonctionnement interne d'un OS Windows et Linux : Windows est un pack assembleur non découpable qui stock des fichiers n'importes où sur un disque dur et le fatigue obligeant une défragmentation régulière. Linux lui est un OS assembleur découpable : car tout est découpé et assembler en unique partie : la barre de tâche de Linux par exemple est à part et non intégré : Linux range tout seul les fichiers sur le disque et donc ce défragmente lui même <3 Ah Linux <3 mdr Tout ça pour te dire que tu devra aussi gérer les fichiers NTFS/FAT32 et FAT8 (pour le boot si tu désire le créer en natif).
- Savoir créer un ordre d'action complet et logique
Utilise l'exemple de Mantrix (JHPC Software t'avais fait un exemple
) : voir ici :
http://www.algostepmantrix.sitew.fr/fs/Root/adlzk-demo2.JPGC'est en utilisant cette méthode que tu comprendra les actions à suivre et bien sûr les variables à créer à l'avance
- N’oublie pas le cryptage des mots de passe également : c'est une méthode Linux qu'on utilisera avec SZ2012 : le cryptage à un sens (unique).
SZ 2012 en à 2 : le sens double cryptage : tu crypte et décrypte : donc il faut que tu crypte un fichier avec SZ et que tu décrypte le fichier en question en effaçant les traces instantanément ! Comment ? Si les MDP d'un utilisateur, disons Marc, est aerty : tu le crypte avec un nom reconnu par ton OS (exemple : marc_passwd.cry) mais pour cela voici une astuce qui t'aidera (à faire en une seule action
! ) :
Imaginons avant que ton OS cherche mes MDP dans un fichier nommé "%(VARIABLE=un_compte_cible)%_passwd.cry" :
* Tu créer un utilisateur appelé "marc". Son MDP est "azerty".
* Tu stock son MDP en clair dans par exemple
marc_passwd2.cry* Tu crypte
marc_passwd2.cry en marc_passwd.cry
* tu supprime
marc_passwd2.cry qui est en clair
* Seul le fichier marc_passwd.cry qui est crypter existe
Compte crypter !
Décrypter ? En une action ? Tu fait l'inverse
:
Imaginons que Marc veux se connecter à sa session. Il entre "marc" dans Username et "azerty" dans Password :
Déjà ton OS va voir si un fichier XXXXXXX_passwd.cry existe (XXXXXXX = le nom de compte, stocker dans les variables) :
On imagine que marc_passwd.cry a été trouvé :
* Tu décrypte marc_passwd.cry
en marc_passwd2.cry qui devient bien sûr clair
* Tu lit le fichier
marc_passwd2.cry et tu le compare à ce qu'a taper l'utilisateur dans le "TextBox.Text" de ton écran de connexion
S'il ne correspond pas : erreur + Suppression du fichier en clair !!. * Là le mot de passe correspond donc :
* Suppression du fichier
marc_passwd2.cry qui était en clair juste avant l'ouverture de la session de l'utilisateur.
J'ai aussi, temps qu'on est partie sur un cours de conception d'un OS
, une astuce pour toi :
Un OS ne crypte presque pas ces données (sauf mot de passes, etc bien sûr).
Un OS fonctionne (Mantrix aussi) en utilisant des interfaces PNP/NPN : comme en électricité (dont j'ai fait 6 ans d'études avant l'informatique
) le PNP et NPN sont deux choses différentes et utilise si tu préfère des Messages d'Entrées et de Sorties (E/S ou I/O en anglais) :
PNP MSG OS = Sortant \\ NPN MSG OS = Entrant (très important !)
Donc maintenant que tu vois le truc il faut que ton OS interagie avec le disque dur : tu nous a dit sur ton site : le bureau est le même pour tout les utilisateurs... Voilà comment il faut faire : Windows à créer des liens et des INI/INF pour contrôler tout ça dans un dossier Desktop. Linux a fait plus simple (variable E/S). Pour ton OS (Mantrix utilise la même technique depuis l'alpha) : tu peut créer des fichiers de configurations (propres au documents de chaque utilisateurs !) qui gère LEURS sessions. Exemple : si tu créer un dossier en même temps pour un utilisateur créer (Marc) :
créer un sous dossier de configuration (exemple \marc\config\ ) et dans config tu mettra chaque script !
Si l'utilisateur supprime un icone du bureau ; tu créer un fichier compréhensible que par toi (TXGVUDB73.mnk) mais qui sera chercher à l'ouverture de la session de Marc (et que de Marc) : si il existe alors tu n'affichera plus l'icones ;P !!
Je vais arrêter là mais il existe des milliers de choses à savoir
Bon courage et si tu veux de l'aide hésite pas