<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://wiki.sage.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cesru</id>
	<title>Wiki1000 - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.sage.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cesru"/>
	<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php/Sp%C3%A9cial:Contributions/Cesru"/>
	<updated>2026-05-25T00:43:13Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://wiki.sage.fr/index.php?title=Travailler_sur_une_branche_git&amp;diff=13506</id>
		<title>Travailler sur une branche git</title>
		<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=Travailler_sur_une_branche_git&amp;diff=13506"/>
		<updated>2020-07-01T08:14:04Z</updated>

		<summary type="html">&lt;p&gt;Cesru : Correction mot manquant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Principe==&lt;br /&gt;
&lt;br /&gt;
Il s&#039;agit de créer une branche, de développer sur cette branche et de pousser les modifications dans BitBucket pour partager cette branche avec l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
==Mise en oeuvre==&lt;br /&gt;
&lt;br /&gt;
===Création de branche dans le concepteur===&lt;br /&gt;
====Dans le concepteur de modèle ajouter un nouvelle branche====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;add new branch&amp;quot;=crée une branche ; &amp;quot;Checkout new branch&amp;quot;=crée une branche et se positionne dessus)&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch0.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Choisir le type de branche et la nommer====&lt;br /&gt;
&lt;br /&gt;
{{tip|Le type de branche influe sur les pulls requests}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La branche apparaît dans les branches locales&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch30.png]]&lt;br /&gt;
&lt;br /&gt;
La branche courante apparaît dans le titre de l&#039;onglet Git&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch50.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Obtenir une branche distante===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si on souhaite travailler sur une branche qu&#039;on a pas créée (crée dans JIRA ou créée par un autre membre de l&#039;équipe dans le concepteur), il faut faire un refresh des branches distantes pour la voir apparaître et faire un checkout pour se positionner dessus.&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch14.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch15.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voir les modifications effectuées===&lt;br /&gt;
&lt;br /&gt;
Pour voir les modification de source dans Git, penser à enregistrer les modifications&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch40.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voir les modifications apportées&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch6.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Commiter son travail===&lt;br /&gt;
&lt;br /&gt;
Ajouter les fichiers modifiés dans l&#039;index &lt;br /&gt;
&lt;br /&gt;
[[image:git_branch7.png]]&lt;br /&gt;
&lt;br /&gt;
Les fichiers apparaissent dans l&#039;index&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch8.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
effectuer un commit&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch10.png]]&lt;br /&gt;
&lt;br /&gt;
Le commit apparaît sur la branche&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch9.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Pousser sa branche sur le répertoire distant===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch11.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch12.png]]&lt;br /&gt;
&lt;br /&gt;
La branche est visible dans BitBucket, les autres membres de l&#039;équipe peuvent travailler dessus en faisaint un &amp;quot;pull&amp;quot; dans le concepteur de modèle et en faisant un &amp;quot;checkout&amp;quot; sur cette branche&lt;br /&gt;
&lt;br /&gt;
[[image:git_branch13.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Git]]&lt;br /&gt;
[[Category:Développement]]&lt;br /&gt;
[[Category:Version910]]&lt;/div&gt;</summary>
		<author><name>Cesru</name></author>
	</entry>
	<entry>
		<id>http://wiki.sage.fr/index.php?title=Parameters_(type)&amp;diff=12791</id>
		<title>Parameters (type)</title>
		<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=Parameters_(type)&amp;diff=12791"/>
		<updated>2019-09-30T08:20:50Z</updated>

		<summary type="html">&lt;p&gt;Cesru : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le type de données « Paramètres » permet de stocker dynamiquement des [[Parameter (type)|paramètres]] qui ne sont pas connu à l&#039;avance.&lt;br /&gt;
&lt;br /&gt;
Le type paramètres est stocké sous forme de document XML&lt;br /&gt;
&lt;br /&gt;
Le type [[Parameter (type)|paramètre]] peut être utilisé pour stocker des couple clé/valeur.&lt;br /&gt;
&lt;br /&gt;
===Propriétés===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Count (parameters type)|Count]]&lt;br /&gt;
|Retourne le nombre de paramètre&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Méthodes===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Clear (parameters type)|Clear]]&lt;br /&gt;
|Vide la liste des paramètres&lt;br /&gt;
|-&lt;br /&gt;
|[[Names (parameters type)|Names]]&lt;br /&gt;
|Accède au nom des paramètres&lt;br /&gt;
|-&lt;br /&gt;
|[[Values (parameters type)|Values]]&lt;br /&gt;
|Accède au valeur des paramètres&lt;br /&gt;
|-&lt;br /&gt;
|[[ValueByIndex (parameters type)|ValueByIndex]]&lt;br /&gt;
|Accède au valeur des paramètres par leur index&lt;br /&gt;
|-&lt;br /&gt;
|[[NameExists (parameters type)|NameExists]]&lt;br /&gt;
|Test si un paramètre existe.&lt;br /&gt;
|-&lt;br /&gt;
|[[IndexOfName (parameters type)|IndexOfName]]&lt;br /&gt;
|Retourne l&#039;index d&#039;un paramètre&lt;br /&gt;
|-&lt;br /&gt;
|[[Add (parameters type)|Add]]&lt;br /&gt;
|Ajoute un paramètre&lt;br /&gt;
|-&lt;br /&gt;
|[[Find (parameters type)|Find]]&lt;br /&gt;
|Retourne un paramètre par son nom&lt;br /&gt;
|-&lt;br /&gt;
|[[Remove (parameters type)|Remove]]&lt;br /&gt;
|Supprime un paramètre&lt;br /&gt;
|-&lt;br /&gt;
|[[Merge (parameters type)|Merge]]&lt;br /&gt;
|Fusionne une liste de paramètre&lt;br /&gt;
|-&lt;br /&gt;
|[[Replace (parameters type)|Replace]]&lt;br /&gt;
|Remplace les valeurs par une liste de paramètre&lt;br /&gt;
|-&lt;br /&gt;
|[[Items (parameters type)|Items]]&lt;br /&gt;
|Retourne un paramètre par son index&lt;br /&gt;
|-&lt;br /&gt;
|[[LogEvent (parameters type)|LogEvent]]&lt;br /&gt;
|Transmet le contenu comme évènement.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
unit TestSYFREWF;&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
  Facade1 = Class(TitObject)&lt;br /&gt;
  public&lt;br /&gt;
    keyvalue: TFrameWorkDataType;&lt;br /&gt;
    Procedure AddKeyValue;&lt;br /&gt;
    Class Procedure TestFacade1;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
Implementation&lt;br /&gt;
&lt;br /&gt;
{Facade1}&lt;br /&gt;
&lt;br /&gt;
Procedure Facade1.AddKeyValue;&lt;br /&gt;
//Procedure AddKeyValue;&lt;br /&gt;
begin&lt;br /&gt;
  keyvalue.Add(&#039;source&#039;,&#039;key1&#039;,100);&lt;br /&gt;
  //&lt;br /&gt;
  if keyvalue.Find(&#039;source&#039;,&#039;key1&#039;).Value=100&lt;br /&gt;
     then showMessage(&#039;OK&#039;)&lt;br /&gt;
     else showMessage(&#039;failed&#039;);&lt;br /&gt;
&lt;br /&gt;
  if keyvalue.Names[0]=&#039;key1&#039;&lt;br /&gt;
     then showMessage(&#039;Names ok&#039;)&lt;br /&gt;
     else showMessage(&#039;Names failed&#039;);&lt;br /&gt;
&lt;br /&gt;
  if keyvalue.Values[&#039;key1&#039;]=100&lt;br /&gt;
     then showMessage(&#039;Values ok&#039;)&lt;br /&gt;
     else showMessage(&#039;Values failed&#039;);&lt;br /&gt;
&lt;br /&gt;
  if keyvalue.ValueByIndex[0]=100&lt;br /&gt;
     then showMessage(&#039;ValueByIndex ok&#039;)&lt;br /&gt;
     else showMessage(&#039;ValueByIndex failed&#039;);&lt;br /&gt;
&lt;br /&gt;
  if keyvalue.NameExists(&#039;key1&#039;)&lt;br /&gt;
     then showMessage(&#039;NameExists ok&#039;)&lt;br /&gt;
     else showMessage(&#039;NameExists failed&#039;);&lt;br /&gt;
&lt;br /&gt;
  if keyvalue.IndexOfName(&#039;key1&#039;)&amp;lt;&amp;gt;-1&lt;br /&gt;
     then showMessage(&#039;IndexOfName ok&#039;)&lt;br /&gt;
     else showMessage(&#039;IndexOfName failed&#039;);&lt;br /&gt;
&lt;br /&gt;
  if keyvalue.Items[keyvalue.IndexOfName(&#039;key1&#039;)].Value=100&lt;br /&gt;
     then showMessage(&#039;Items ok&#039;)&lt;br /&gt;
     else showMessage(&#039;Items failed&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
Class Procedure Facade1.TestFacade1;&lt;br /&gt;
//Class Procedure TestFacade1;&lt;br /&gt;
begin&lt;br /&gt;
  showMessage(&#039;Test Facade1&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voir aussi :&lt;br /&gt;
&lt;br /&gt;
* [[Parameter (type)|Type paramètre]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Type de donnée Paramètres]]&lt;br /&gt;
[[category:Types]]&lt;br /&gt;
[[Category:Version700]]&lt;/div&gt;</summary>
		<author><name>Cesru</name></author>
	</entry>
	<entry>
		<id>http://wiki.sage.fr/index.php?title=TSelectorConstraint_(selector)&amp;diff=11174</id>
		<title>TSelectorConstraint (selector)</title>
		<link rel="alternate" type="text/html" href="http://wiki.sage.fr/index.php?title=TSelectorConstraint_(selector)&amp;diff=11174"/>
		<updated>2016-11-17T15:08:27Z</updated>

		<summary type="html">&lt;p&gt;Cesru : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{latest}}&lt;br /&gt;
&amp;lt;source lang=&#039;delphi&#039;&amp;gt;TSelectorConstraint:TObject;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cet objet matérialise une contrainte posée sur un sélecteur.&lt;br /&gt;
&lt;br /&gt;
Une contrainte permet de définir une jointure et de poser des conditions sur cette jointure.&lt;br /&gt;
&lt;br /&gt;
===Attributs===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Attribut&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|[[Nom (TSelectorConstraint)|Nom]]&lt;br /&gt;
|Nom de la contrainte&lt;br /&gt;
|-&lt;br /&gt;
|[[Parent (TSelectorConstraint)|Parent]]&lt;br /&gt;
|Objet parent de la contrainte&lt;br /&gt;
|-&lt;br /&gt;
|[[ClassName (TSelectorConstraint)|ClassName]]&lt;br /&gt;
|Nom de la classe sur laquelle porte la sélection&lt;br /&gt;
|-&lt;br /&gt;
|[[Left (TSelectorConstraint)|Left]]&lt;br /&gt;
|Nom de l&#039;attribut gauche&lt;br /&gt;
|-&lt;br /&gt;
|[[Right (TSelectorConstraint)|Right]]&lt;br /&gt;
|Nom de l&#039;attribut droit&lt;br /&gt;
|-&lt;br /&gt;
|[[Where (TSelectorConstraint)|Where]]&lt;br /&gt;
|Clause Where de la contrainte&lt;br /&gt;
|-&lt;br /&gt;
|[[ArgCount (TSelectorConstraint)|ArgCount]]&lt;br /&gt;
|Nombre d&#039;arguments de la clause where&lt;br /&gt;
|-&lt;br /&gt;
|[[Args (TSelectorConstraint)|Args[]]]&lt;br /&gt;
|Argument de la clause where&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Méthodes d&#039;instance===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Méthode&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|[[AliasOf (TSelectorConstraint)|AliasOf]]&lt;br /&gt;
|Retourne la colonne préfixée d&#039;un attribut de la classe de la contrainte&lt;br /&gt;
|-&lt;br /&gt;
|[[Delete (TSelectorConstraint)|Delete]]&lt;br /&gt;
|Supprime la contrainte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemples d&#039;utilisation de contrainte===&lt;br /&gt;
&lt;br /&gt;
[[image:selector_constraint_1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Contrainte venant d&#039;une référence&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
function doSelector(const iCodeA:string; const iCodeB:string):Integer;&lt;br /&gt;
var selA:TSelector; obj:TSelectorConstraint;&lt;br /&gt;
begin&lt;br /&gt;
  selA := ClassA.CreateSelector(&#039;unCodeA=%1&#039;,&#039;unCodeA&#039;,True,[iCodeA]);&lt;br /&gt;
  obj  := selA.AddConstraint(nil, &#039;ClassB&#039;,&#039;oid&#039;,&#039;refB&#039;,&#039;unCodeB=%1&#039;,[iCodeB]);&lt;br /&gt;
  Result := selA.Count;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Contrainte venant d&#039;une référence inversée&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
function doSelector(const iCodeA:string; const iCodeB:string):Integer;&lt;br /&gt;
var selB:TSelector; obj:TSelectorConstraint;&lt;br /&gt;
begin&lt;br /&gt;
  selB := ClassB.CreateSelector(&#039;unCodeB=%1&#039;,&#039;unCodeB&#039;,True,[iCodeB]);&lt;br /&gt;
  obj  := selB.AddConstraint(nil, &#039;ClassA&#039;,&#039;refB&#039;,&#039;oid&#039;,&#039;unCodeA=%1&#039;,[iCodeA]);&lt;br /&gt;
  Result := selB.Count;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Contrainte en cascade&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
function doSelector(const iCodeA:string; const iCodeB:string):Integer;&lt;br /&gt;
var selA:TSelector; obj:TSelectorConstraint;&lt;br /&gt;
begin&lt;br /&gt;
  selA := ClassA.CreateSelector(&#039;unCodeA=%1&#039;,&#039;unCodeA&#039;,True,[iCodeA]);&lt;br /&gt;
  obj  := selA.AddConstraint(nil, &#039;ClassB&#039;,&#039;oid&#039;,&#039;refB&#039;,&#039;unCodeB=%1&#039;,[iCodeB]);&lt;br /&gt;
  obj  := selA.AddConstraint(obj, &#039;ClassA2&#039;,&#039;refB&#039;,&#039;oid&#039;,&#039;AliasOf(&#039;&#039;ClassA&#039;&#039;,&#039;&#039;unCodeA&#039;&#039;)=unCodeA&#039;,[]);&lt;br /&gt;
  Result := selA.Count;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Contrainte entre classes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
function doSelector(const iCodeA:string; const iCodeB:string):Integer;&lt;br /&gt;
var selB:TSelector; obj:TSelectorConstraint;&lt;br /&gt;
begin&lt;br /&gt;
  selB := ClassB.CreateSelector(&#039;unCodeB=%1&#039;,&#039;unCodeB&#039;,True,[iCodeB]);&lt;br /&gt;
  obj  := selB.AddConstraint(nil, &#039;ClassA&#039;,&#039;refB&#039;,&#039;oid&#039;,&#039;&#039;,[]);&lt;br /&gt;
  obj  := selB.AddConstraint(nil, &#039;ClassA2&#039;,&#039;refB&#039;,&#039;oid&#039;,&#039;(AliasOf(&#039;&#039;ClassA&#039;&#039;,&#039;&#039;unCodeA&#039;&#039;)=unCodeA2) and (unCodeA2=%1)&#039;,[iCodeA]);&lt;br /&gt;
  Result := selB.Count;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise à jour&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
function doSelector(const iCodeA:string; const iCodeB:string):Integer;&lt;br /&gt;
var selA:TSelector; obj:TSelectorConstraint;&lt;br /&gt;
begin&lt;br /&gt;
  selA := ClassA.CreateSelector(&#039;unCodeA=%1&#039;,&#039;unCodeA&#039;,True,[iCodeA]);&lt;br /&gt;
  obj  := selA.AddConstraint(nil, &#039;ClassB&#039;,&#039;oid&#039;,&#039;refB&#039;,&#039;unCodeB=%1&#039;,[iCodeB]);&lt;br /&gt;
  withP long transaction do&lt;br /&gt;
   begin&lt;br /&gt;
     Result := selA.Update([&#039;unEntierA&#039;],[0]);&lt;br /&gt;
   end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise à jour en utilisant un attribut de la contrainte&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;delphi&amp;quot;&amp;gt;&lt;br /&gt;
function doSelector(const iCodeA:string; const iCodeB:string):Integer;&lt;br /&gt;
var selA:TSelector; obj:TSelectorConstraint;&lt;br /&gt;
begin&lt;br /&gt;
  selA := ClassA.CreateSelector(&#039;unCodeA=%1&#039;,&#039;unCodeA&#039;,True,[iCodeA]);&lt;br /&gt;
  obj  := selA.AddConstraint(nil, &#039;ClassB&#039;,&#039;oid&#039;,&#039;refB&#039;,&#039;unCodeB=%1&#039;,[iCodeB]); // obj.Name=&#039;C1&#039;&lt;br /&gt;
  obj  := selA.AddConstraint(obj, &#039;ClassA2&#039;,&#039;refB&#039;,&#039;oid&#039;,&#039;AliasOf(&#039;&#039;ClassA&#039;&#039;,&#039;&#039;unCodeA&#039;&#039;)=unCodeA2&#039;,[]); // obj.Name=&#039;C2&#039;&lt;br /&gt;
  withP long transaction do&lt;br /&gt;
   begin&lt;br /&gt;
     Result :=  selA.Update([&#039;unEntierA&#039;],[&#039;C2.unEntierA2&#039;]);&lt;br /&gt;
   end;&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voir aussi :&lt;br /&gt;
&lt;br /&gt;
* [[AddConstraint (selector)|Ajouter une contrainte]]&lt;br /&gt;
* [[AliasOf (exp)|AliasOf]]&lt;br /&gt;
&lt;br /&gt;
{{Footer|Selecteur (tech)}}&lt;br /&gt;
[[category:Sélecteur]]&lt;/div&gt;</summary>
		<author><name>Cesru</name></author>
	</entry>
</feed>