Skip to main content Help Control Panel

YACS CMS : Open source !

Community «   Le forum «   Machine à café «  

Système de programmation

Dépôts de fichiers et gestion de versions
Bonjour,

Je commence à trifouiller yacs dans tous les sens à fin de mieux le comprendre et de me remettre à jour en PHP... Personnellement je gère tous mes sites, projets et même les textes de mes cours avec SVN.

J'aurais aimé savoir comment vous vous y prenez avec le code de yacs, comment gérez-vous les versions et les différentes branches. Utilisez-vous un gestionnaire de version ? si oui lequel ? est-il possible d'y avoir accès en lecture seule afin de voir l'évolution des fichiers ?

En tout cas, je trouve le concept de yacs vraiment génial...

Je voudrais faire quelques modifications du code, pas parce que je le trouve mal fait... mais tout simplement pour m'aiguiser les doigts...

J'aimerai par exemple, durant l'été : - Rajouter la possibilité de changer le contenu de "à propos de ce site" & "règles de confidentialité". - Tenter de modifier la letter affin de proposer plusieurs letters et de pouvoir s'y inscrire séparément. - Ajouter la possibilité pour chaque inscrit de se faire son propre petit menu dans son cadre user qui parait sur chaque page.

Je ne suis pas un codeur hors pair... loin s'en faut... et je n'ai pas, pour l'instant, un réel besoin de ces modifications, c'est plus pour apprendre et m'entraîner... Je ne vous propose pas de "faire" ces choses... juste d'essayer... et si j'arrive à quelque chose je vous le proposerai bien évidemment...

Pour l'instant, j'ai un site Internet qui tourne sous YACS, 3 Intranets, je prévois d'y passer trois sites qui sont sous NPDS, un sous Plume, cinq sous SPIP, quatre en HTML et 4 en PHP version perso... Autrement dit cela me promet pas mal de travail en perspective... Tous ces sites sont d'association ou de départements de mon université. Je pense qu'avec yacs je gagnerai beaucoup de temps dans la gestion du programme et dans les interfaces graphiques, mais là où j'attend, et de loin, le plus grand gain de temps, c'est dans la formations des utilisateurs. Yacs me semble beaucoup plus simple à utiliser que tout ce que j'ai pu installer jusqu'à ce jour. Mis à part Dokuwiki que je vais conserver pour plusieurs site, pas sous forme de wiki, mais la création et modification d'une page est tellement simple qu'il ne nécessite pas d'apprentissage et que pour certains besoins très précis il est peut-être plus adéquat que YACS.

Comments

GnapZ
from Caribbean
2970 posts

on June 10 2006


Bonjour,

Je laisserai à Bernard le soin de répondre pour la gestion des versions.

Pour "A propos" et "Règles", ce sont deux fichiers que tout un chacun peu modifier à sa guise (c'est fait pour ça): /about.php et /privacy.php .

Pour les lettres, ce n'est qu'une strucure, sorte d'entête-pied de page et chaque lettre est générée indépendament. Par contre, il n'y a qu'une souscription mais rien ne vous empêche d'en créer d'autres qui soient gérée sous votre skin. Yacs est un noyau de fonctions et les skins permettent d'en dériver quasiment tout ce qu'on veut, sans perdre en cas de mise à jour.

Pour le menu "user", c'est plus délicat car il intervient à plusieurs niveaux mais un menu personnalisable serait effectivement intéressant.

Pour ce qui est de vos projets, il y a du pain sur la planche ... bon courage.
Tof
from Grenoble-Chambery
554 posts

on June 10 2006


Pour le menu utilisateur, sache qu'il est possible de dériver à loisir la fonction build_user_menu().
Récupérer la-dite fonction dans le skin_skeleton.php et la copier dans son skin.php Ensuite, faire ce que l'on veut.


Tof
Egide
from Ponthaux, Fribourg, Suisse
48 posts

inspired from GnapZ on June 10 2006


GnapZ : merci.

Moi oui je peux le modifier, mais pas les personnes qui concrêtement gèrent le contenu du site, c'est beaucoup trop compliquer pour elle... je verais bien de tenter de rajouter la chose dans /skins/configure.php... Ainsi le changement peut se faire sans forcément passer par "l'informaticien"...
Egide
from Ponthaux, Fribourg, Suisse
48 posts

inspired from Tof on June 10 2006


Tof : merci.

je vais regarder cette fonction...
Bernard
avatar
from nearby-an-airport
Associate, 7053 posts

on June 12 2006


Pour l'instant YACS est géré de façon monobloc et artisanale, pour garder le plus longtemps possible un seul tronc de développement.

YACS intègre un calcul de hachage qui lui permet de détecter les mises à jour par rapport à un serveur de référence (par défaut, yetanother... mais c'est configurable).

Ceci suffit aujourd'hui (aux bugs près) aux mises à jour incrémentales des serveurs de production.

Si quelqu'un pouvait mettre les différentes versions publiées dans un CVS, cela aiderait les différents développeurs non ?

Une option serait de rentrer ça dans source forge ou équivalent, mais je n'ai vraiment pas le temps de m'en occuper. Où sont les volontaires ?
Egide
from Ponthaux, Fribourg, Suisse
48 posts

on June 14 2006


Bonjour,

" Pour l'instant YACS est géré de façon monobloc et artisanale, pour garder le plus longtemps possible un seul tronc de développement. "
Cela ne change pas avec un système de gestion de version, c'est l'admin qui décide s'il faut créer une branche ou pas. Concrètement, le principe de faire une branche production et une branche développement. Ainsi il facile de suivre la correction de bug de la version de production sans pour autant devoir modifier la version de production (ou le code du bug est peut-être déjà modifié ou voir supprimé).

" Si quelqu'un pouvait mettre les différentes versions publiées dans un CVS, cela aiderait les différents développeurs non ? "
Oui, mais non... Le CVS est très bien, mais c'est une technologie qui est vieille. CVS est avantageusement remplacé par SVN qui offre les avantages suivant par rapport à CVS :

- Renommer des fichiers ou dossiers ; - Le déplacement de fichiers ou dossiers dans l'arborescence ; - La possibilité de le mettre en modules apache, on peut alors l'atteindre par http ou https (je n'ai encore jamais utilisé cette fonctionnalité) ;

Mettre les différentes versions dans un SVN n'est pas forcément compliqué à faire... mais l'on peut se demander si c'est vraiment utile. En effet, l'apport principal d'un tel système est la gestion des différences, mais aussi (surtout) des commentaires liés à chacune de ces versions.

" Une option serait de rentrer ça dans source forge ou équivalent, mais je n'ai vraiment pas le temps de m'en occuper. "
Oui, mais non... Source forge c'est bien, mais les fonctions sont quand même très limitées et je ne suis pas sûr qu'il prenne déjà le SVN en compte. De plus, quelque chose qui est génial avec SVN (je ne saurais pas le mettre en route, mais je l'utilise sur un serveur de mon université), c'est la possibilité de déclancher des actions conditionnelles. Par exemple, on peut imaginer que lors de la création d'un tag dans une certaine branche, le serveur exporte automatiquement le contenu du tag et en fasse une archive qu'il télécharge ensuite sur le (les) serveur de mise à jour. Bien sûr il est possible de gérer des droit par groupes et utilisateurs.

" Où sont les volontaires ? "
J'entre dans la période des examens ce lundi... je me marie le premier juillet... et tour de noce ensuite... au retour je peux regarder la chose... Mais si j'utilise SVN quotidiennement en local (rédaction et modifications de mes cours, de mes présentations 'slides', programmation, gestions du code de différents sites et même la gestion de recettes de cuisines !), je ne pense pas avoir les compétences pour gérer un serveur SVN sécurisé...

Il y a, je dirais, trois usages distincts d'un tel système :

- Pour les développeurs, cela permet de suivre les modifications et de toujours êtres à jour dans le code lorsque le travail se fait à plusieurs. La possibilité de mettre des commentaires sur chaque modification est aussi très utile... même si l'on développe seul ! La fonctionnalité de comparaison du code de différentes version est également une aide non négligeable à la programmation.

- Les utilisateurs qui peuvent profiter des commentaires pour mieux comprendre la logique du programme ou charger des versions spécifiques.

- Les utilisateurs avancés qui peuvent suivre l'évolution de dépôt, produire des patchs de différence pour les appliquer sur leurs propres dépôts. Je le fais pour les templates. Ce qui me permet de partir d'un template original et d'en faire différentes branches pour les sites que je gère. Ainsi je n'ai pas besoin de reproduire les changements de la source dans chaque site...
Egide
from Ponthaux, Fribourg, Suisse
48 posts

inspired from Bernard on May 9 2007


Le temps a passé...

" Une option serait de rentrer ça dans source forge ou équivalent, mais je n'ai vraiment pas le temps de m'en occuper. Où sont les volontaires ? "


Il y a un système qui est vraiment pas mal maintenant, trac. c'est un système de suivit de code source. il permet de naviguer dans le dépôt subversion, intègre un wiki et un système de gestion des tickets (bug, todo...).

j'en ai installer plusieurs en local pour différents projets que je gère, et je dois dire que j'en suis vraiment très satisfait. c'est un gain de temps vraiment énorme...

Le seul soucis, c'est de trouver un hébergeur qui permette l'installation de svn et qui autorise un accès ssh et de toucher au fichier de configuration d'apache...
Bernard
avatar
from nearby-an-airport
Associate, 7053 posts

inspired from egide on May 11 2007


Egide: Entre-temps, YACS a été installé sur le CVS de Source Forge, comme indiqué à la page How to access the SVN repository? ...

 
Dey, Egide

egide
on June 10 2006
from Ponthaux, Fribourg, Suisse

Enseignant.
Share
Information channels
Recent files