Documentation technique
Infrastructure logicielle d'AlternC
AlternC est essentiellement developpe en PHP4 (70%), Shell-script (5%), Perl (5%) et il y a aussi beaucoup de travail de Configuration et Administration d'effectue (20%), cette derniere partie consiste notemment a la creation des paquets debian d'AlternC, partie importante de part le choix de rendre AlternC facilement installable...
AlternC utilise une suite logicielle libre pour les services web utilises (mail,web,ml...). Ces logiciels sont pilotes par un bureau virtuel, qui se doit d'etre facilement adaptable aux besoins, securise, et fiable. Pour cela, on utilise un developpement en 4 couches :
- Couche Systeme d'exploitation (contient les fichiers de configuration, les paquets Debian des serveurs mysql, ldap, apache etc.). Par definition, on ne developpera presque rien de cette couche, car elle repose essentiellement sur des paquets Debian standard, qui pourront donc profiter des mises-a-jour Debian de securite entre autres. Les seuls developpements effectues sur cette couche concernent les fichiers de configuration de ces logiciels
- Couche Pilotage de l'OS. Cette couche consiste en un certain nombre de programmes ecrits en C ou en shell-script situes dans /usr/lib/alternc, pour lesquels php ne suffit pas car il ne dispose pas de droits suffisants. Il s'agit par exemple du pilotage des listes de diffusion, de la creation de dossiers ayant des droits particuliers (mail, web etc.) de la gestion des quotas systeme etc. Ces programmes en C sont eventuellement suid root. les parametres de php interdisent aux utilisateurs le lancement de ces programmes, seul le bureau virtuel le peut.
- Couche Classes PHP. Cette couche regroupe les modules de pilotage des services fournis, sous forme de classes php. Les fichiers, situes dans /var/alternc/bureau/class sont nommes m_"nom de la classe".php et sont inclus par le fichier config.php. Chaque classe s'occupe d'un service particulier en entier, et fait appel, si besoin, aux programmes en C de pilotage de l'OS et a d'autres classes. Voir la documentation sur les modules et [Classes PHP] de la documentation.
- Couche presentation en HTML/PHP. Cette couche contient plein de fichiers en HTML avec le minimum possible de php. elle doit pouvoir etre modifiee facilement pour coller au fonctionnement de chaque hebergeur, ainsi qu'a la charte graphique de celui-ci.
- Les logicels utilisés par Alternc
- Module
- Gestion de domaines
- Gestion de messagerie
- Gestion de base de données
- Gestion de listes de discussion
- Gestion de statistiques
- Gestion de comptes
- Quotas
- Plugins
- AlternC-AWStats
- AlternC-Roundcube
- AlternC-Squirrelmail
- AlternC-Mailman
- AlternC-SlaveDns
- AlternC-SecondaryMX
- AlternC-Munin
Documentation Technique
Gestion du développement
- Principes de développement
- ReleaseProcess : Comment passe-t-on d'une version a l'autre
- BugWorkFlow : De la naissance a la mort d'un bug
- EquipeAlternc : L'équipe AlternC
- GestionDesComptesSvn : Comment disposer d'un compte sur le trac.
- MeetingsDeDev : Rapports des meeting de développement
- EtatsDesPlugins : Les plugins additionnels d'AlternC.
- AideEnLigne : Comment on redirige l'internaute qui clique sur les bouées d'aide vers la bonne page
- Les outils
- SVN
- AutoBuilder
- Construction des packages : Comment construire les packages debian d'AlternC
- DeSpam : Comment despammer ce *ith973972* de wiki/trac
- Le code
- CodingStandards
- InfrastructureLogicielle
- Classes Php
- InterfaceUtilisateur
- MaintenanceTraduction
- TodoCourante
Voir aussi La documentation docbook Pour ceux qui maîtrisent DocBook? et SVN, nous proposons aussi une documentation au format DocBook? accessible sur le serveur source:alternc-doc/trunk.
