
Recherche avancée
Autres articles (76)
-
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Taille des images et des logos définissables
9 février 2011, parDans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)
Sur d’autres sites (4437)
-
Scalable Webinar Features Using Open-Source Tools ? [closed]
31 janvier, par Firas Ben saidI am searching for a scalable webinar solution that can handle 1000+ concurrent users. I have explored platforms like BigBlueButton but encountered limitations with scalability in real-world scenarios.


My requirements include :


- 

- Support for RTMP and HLS streaming.
- Chat and screen-sharing functionalities.
- Ability to integrate with custom APIs.








I’d like to know how to address these challenges using open-source tools. For instance :


- 

- What configurations are necessary to scale tools like BigBlueButton for large audiences ?
- Are there specific architectural patterns or server setups recommended for handling this user load ?






Any guidance or examples would be appreciated.


-
Roadmap #3844 : Gérer la parenté dans la déclaration d’un objet éditorial.
12 mars 2018, par RastaPopoulos ♥J’ai continué dans la réflexion, ayant besoin de parent et enfants dans le plugin Duplicator. J’ai expliqué différents problèmes dans la liste Zone, mais pour pas le perdre, je vais copier ça dans ce ticket.
Proposition de deux fonctions d’API génériques¶
À mon avis il faut aller stable et plus abstrait que juste la déclaration dans l’objet, car
1) ça peut éventuellement changer
2) il faudrait pouvoir prendre en compte les cas courants magiquement même quand ya pas eu de déclaration explicite (id_rubrique, id_parent…)
3) ça donne le parent d’un type d’objet pour remonter, mais ça ne donne pas l’inverse, les enfantsDonc dans tous les cas il faudrait sûrement une fonction du genre
array objet_info_parent($objet)
dont l’algorithme serait :
- s’il y a une déclaration explicite, c’est ça qu’on utilise
- s’il y a un champ id_rubrique, on fait comme si ça avait été déclaré avec la rubrique array(type=>rubrique, champ=>id_rubrique)
- s’il y a un champ id_parent, on considère que l’objet est arborescent de lui-même, et donc comme si ça avait été déclaré comme ça array(type=$objet, champ=>id_parent)Mais je pense aussi une fonction cette fois un peu plus longue, qui donnerait l’ensemble des enfants directs qu’on a réussi à trouver
array objet_info_enfants($objet)
dont l’algorithme serait :
- un tableau de résultats en static pour toujours faire qu’une fois par hit
- si $enfants[$objet] déjà rempli en renvoie
- sinon on boucle sur tous les objets déclarés
- pour chaque, si on trouve que l’objet peut avoir comme parent direct le $objet qu’on cherche, alors on l’ajoute à son tableau des enfants possibles
- donc soit si dans sa clé "parent" ya $objet, soit s’il a un id_rubrique et qu’on cherchait pour "rubrique", soit s’il a un id_parent et qu’on cherchait pour son typeUn parent direct dont l’objet n’est pas fixe¶
Encore autre chose, je ne sais pas si c’est prévu, mais il faudrait pouvoir gérer les cas où le parent direct (on parle bien toujours de parentée directe, pas de liens multiples) peut être n’importe quel objet. Dans ce cas, il y a les champs objet et id_objet directement dans la table de l’objet.
Un parent encore plus compliqué avec deux cas à tester pour le même contenu¶
Mais il y a encore plus compliqué, et c’est le cas pour mes Chapitres, mais aussi le cas pour les Forums fournit par SPIP : le parent direct
peut être
- SOIT l’objet lui-même car il est arborescent avec un id_parent
- SOIT n’importe quel autre contenu SI ET SEULEMENT SI le champ id_parent=0 !C’est bien le cas pour les forums :
- le premier forum d’un fil a pour parent un objet SPIP, avec objet et id_objet remplis dans sa table ET id_parent=0
- les sous-forums ont AUSSI gardé en mémoire objet et id_objet du forum racine, mais avec id_parent rempli avec l’identifiant id_forum de leur parentDans ce cas on ne peut pas se baser uniquement sur le fait que objet et id_objet sont remplis. Le parent est un objet SPIP quelconque si objet et id_objet remplis ET id_parent=0. Et dès que id_parent>0 alors le parent direct est le même objet (forum, chapitre ou autre).
Bref ya des cas comme ça qui sont plus complexes, mais pourtant légitimes, et en plus fournis dans la dist, maintenus par le core, donc il faut savoir les gérer aussi.
Du coup pour conclure, j’ai pas forcément de solution directe pour la déclaration générique qui doit intégrer le noyau au final, mais c’est pour expliquer pourquoi peut-être, possiblement, il y aurait besoin d’un pipeline dédié dans Duplicator pour gérer ces enfantillages compliqués tant que dans l’API de parent c’est pas encore résolu.
En tout cas ça fait avancer la réflexion :)
-
Anomalie #4562 : Suite #4468 : Unification des CSS pour les boutons et les icônes
17 février 2021Bon bon bon, on a pas mal réfléchi au sujet avec rastapopoulos, et je crois qu’on est arrivé à une solution satisfaisante.
En tout cas une solution qui répond complètement aux problèmes et besoins soulevés dans ce ticket, en ce qui me concerne.Le problème était de ne traiter des icônes que sous l’angle d’une utilisation dans des boutons, de ne le faire qu’à moitié en proposant un jeu d’icônes très restreint, et avec des icônes pas toutes prévues pour cette utilisation qui plus est.
Dans l’immédiat, pour clôturer ce ticket au plus vite, il s’agirait de faire ça :
- dans le CSS, retirer complètement les variantes de boutons avec icônes :
.bouton_add
,.bouton_supprimer
, etc. (ça sera fait différemment et mieux). - renommer la classe
.bouton
en.btn
: c’est moins verbeux et on comprend aussi bien. - préfixer les variantes génériques qui restent :
.btn_mini
au lieu de.btn mini
, etc. - finir les derniers petits ajustement visuels.
Avec ça le ticket pourra enfin être fermé.
Mais alors comment fait-on pour avoir des icônes dans les boutons ?
C’est l’étape suivante.Des icônes¶
On s’est dit, tant qu’à faire, autant proposer tout de suite un jeu complet d’icônes symboliques.
Les besoins sont multiples pour pleins d’éléments d’interface, dans les plugins et dans le core : plier/déplier des trucs, dupliquer un contenu, afficher un menu, remonter dans la hiérarchie, etc., etc. (je fais vite).
Et chacun doit réimplémenter ça un peu à sa sauce.On reprendrait un jeu d’icônes existant, qu’on n’aura pas à maintenir, optimisé, et qui fournit des icônes cohérentes visuellement, utilisables dans tous les contextes.
Il y a plusieurs choix de jeux d’icônes libres : Bootstrap-icons, Octicon, Material, Entypo, etc.Ces icônes seraient utilisables de 2 façons :
1. Des classes¶
Quand il s’agit d’icônes purement décoratives, des classes que l’on peut ajouter à n’importe quel élément inline.
Pour éviter les conflits, on propose la contraption de spip + icon = spicon.
Cette solution utilise une fontface, l’icône hérite de la taille et de la couleur du texte.Pour les boutons, même principe : la classe signifie « ajoute une icône dans cet élément »
Exemples :
<span class="CodeRay"><span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">spicon_menu</span><span class="delimiter">"</span></span><span class="tag">></span>Ouvrir le menu<span class="tag"></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">spicon_truc</span><span class="delimiter">"</span></span><span class="tag">></span><span class="tag"></span> Du texte
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">titrem spicon_machin</span><span class="delimiter">"</span></span><span class="tag">></span>Mon titre<span class="tag"></span>
</span></span></span></span>2. Une balise #ICON¶
En complément, on peut vouloir embarquer une icône svg dans le HTML.
On propose de reprendre et d’adapter la super balise #ICON du plugin Zcore, qui fait ça très bien.
Cette balise permet d’embarquer une icône du set par défaut, mais également n’importe quelle autre (je rentre pas dans les détails).Un modèle correspondant permettra aussi d’inclure des icônes svg dans les textes :
<span class="CodeRay">#ICONE{identifiant}
#ICONE{chemin/vers/mon_icone.svg}
#ICONE{#identifiant_autre_set}
</span>Identifiants sémantiques¶
Les identifiants des icônes seront directement ceux du jeu d’icônes choisi.
Mais ils peuvent avoir des noms un peu barbares :chevron-double-right
,eye-slash
,grip-vertical
, etc.Dans tous les cas on pourra les utiliser tels quels, mais en plus de ça, on propose de faire une correspondance sémantique pour les icônes correspondants aux actions les plus courantes. Par exemple au lieu de faire
#ICONE{chevron-double-down}
on pourra faire#ICONE{deplier}
.La liste initiale est visible ici : https://demo.hedgedoc.org/3zIXkcFLTVSwV0nKC1_qcA?both
Voilà, je crois que c’est tout, rastapopoulos tu complètera si j’ai oublié des trucs.
Peut-être qu’on peut partir sur un nouveau ticket pour ce sujet et la branche dev qui ira avec.À vous les studios.
- dans le CSS, retirer complètement les variantes de boutons avec icônes :