From 4baa38ca134365bcc822ac33db780fae8442f947 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 14 Nov 2025 18:08:07 +0100 Subject: [PATCH 1/9] =?UTF-8?q?Ajout=20de=20la=20lettre=20de=20r=C3=A9sili?= =?UTF-8?q?ation=20au=20cr=C3=A9dit=20coop=C3=A9ratif?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resiliation_credit_cooperatif.typ | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 resiliation_ccoop/resiliation_credit_cooperatif.typ diff --git a/resiliation_ccoop/resiliation_credit_cooperatif.typ b/resiliation_ccoop/resiliation_credit_cooperatif.typ new file mode 100644 index 0000000..f5079b7 --- /dev/null +++ b/resiliation_ccoop/resiliation_credit_cooperatif.typ @@ -0,0 +1,52 @@ +#import "@preview/formalettre:0.3.0": lettre + +#set text(lang: "fr") + +#show: lettre.with( + expediteur: ( + nom: [Johan Lafon\ Semalibre], + adresse: [9 avenue Paul Verlaine], + commune: [38100 Grenoble], + email: "contact@semalibre.com", + signature: [Johan Lafon, Président de Semalibre], + // image-signature: image("signature.png"), + ), + + // destinataire: ( + // nom: [Crédit Coopératif], + // adresse: [12 boulevard Pesaro], + // commune: [CS10002\ 92024 Nanterre Cedex], + // ), + // ou: + destinataire: ( + nom: [Crédit Coopératif\ Agence : *Grenoble Mistral*], + adresse: [26 rue Gustave Eiffel], + commune: [38000 Grenoble], + ), + + lieu: [Grenoble], + date: auto, + objet: [Clôture de compte bancaire], + + appel: [Madame, Monsieur,], + salutation: [Dans cette attente, je vous prie d’agréer, Madame, Monsieur, l’expression de mes salutations distinguées.], + + pj: ([RIB de destination], []), + + // Décommenter la ligne suivante pour afficher des informations d'envoi suivi + // ou recommandé + // envoi: [Lettre suivie numéro XXXXXXXX], + + marque-pliage: true, +) + +Je vous informe aujourd'hui par cette lettre envoyée en recommandé, que je souhaite +clôturer le compte bancaire courant n°*08024859914 87* de l'entreprise *Semalibre*, +anciennement *Syslinbit*, domicilié dans votre agence, ainsi que tous les services liés au compte. + +Je vous remercie de prendre en compte ma demande de résiliation dès réception de +cette lettre recommandée, de procéder au virement de mon solde créditeur sur le +compte dont vous trouverez le Relevé d'Identité Bancaire joint à ce courrier. + +Je vous joins à cette lettre le KBis de l'entreprise, une photocopie de ma +pièce d'identité ainsi que le RIB de destination du solde créditeur. From 7ff71db251ed66afe311f093af23b9b9e09b5d20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Tue, 25 Nov 2025 17:12:47 +0100 Subject: [PATCH 2/9] Modifications de Johan, rajout des parts sociales et de la signature --- .../resiliation_credit_cooperatif.typ | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/resiliation_ccoop/resiliation_credit_cooperatif.typ b/resiliation_ccoop/resiliation_credit_cooperatif.typ index f5079b7..61434d2 100644 --- a/resiliation_ccoop/resiliation_credit_cooperatif.typ +++ b/resiliation_ccoop/resiliation_credit_cooperatif.typ @@ -4,12 +4,12 @@ #show: lettre.with( expediteur: ( - nom: [Johan Lafon\ Semalibre], + nom: [Johan Lafon\ SCOP SAS Semalibre], adresse: [9 avenue Paul Verlaine], commune: [38100 Grenoble], email: "contact@semalibre.com", - signature: [Johan Lafon, Président de Semalibre], - // image-signature: image("signature.png"), + signature: [Johan Lafon,\ Président de la SCOP SAS Semalibre], + image-signature: image("signature.png", height: 1.8cm), ), // destinataire: ( @@ -40,13 +40,17 @@ marque-pliage: true, ) -Je vous informe aujourd'hui par cette lettre envoyée en recommandé, que je souhaite -clôturer le compte bancaire courant n°*08024859914 87* de l'entreprise *Semalibre*, -anciennement *Syslinbit*, domicilié dans votre agence, ainsi que tous les services liés au compte. +Je vous fais connaître par la présente, ma décision de clôturer le compte +bancaire de l'entreprise *SCOP SAS Semalibre* (anciennement *Syslinbit*, numéro +SIREN *897717005*), domicilié dans votre établissement sous le numéro +*08024859914 87*, ainsi que tous les services liés au compte. Je vous remercie de prendre en compte ma demande de résiliation dès réception de -cette lettre recommandée, de procéder au virement de mon solde créditeur sur le -compte dont vous trouverez le Relevé d'Identité Bancaire joint à ce courrier. +cette lettre recommandée, de procéder à la vente des 10 parts sociales détenues +par Semalibre pour une valeur de 152.10€, de procéder au virement de mon solde +créditeur sur le compte dont vous trouverez le Relevé d'Identité Bancaire joint +à ce courrier. -Je vous joins à cette lettre le KBis de l'entreprise, une photocopie de ma -pièce d'identité ainsi que le RIB de destination du solde créditeur. +Je joins à cette lettre le carnet de chèques du compte, le KBis de l'entreprise, +une photocopie de ma pièce d'identité ainsi que le RIB de destination du solde +créditeur. From 0f5125c3b76f8ca6292bd8ccf3ecf667fe3b213c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 15 Jan 2026 19:45:36 +0100 Subject: [PATCH 3/9] =?UTF-8?q?finalise=20courrier=20cr=C3=A9dit=20coop?= =?UTF-8?q?=C3=A9ratif?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resiliation_ccoop/resiliation_credit_cooperatif.typ | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resiliation_ccoop/resiliation_credit_cooperatif.typ b/resiliation_ccoop/resiliation_credit_cooperatif.typ index 61434d2..8cc6c82 100644 --- a/resiliation_ccoop/resiliation_credit_cooperatif.typ +++ b/resiliation_ccoop/resiliation_credit_cooperatif.typ @@ -46,10 +46,10 @@ SIREN *897717005*), domicilié dans votre établissement sous le numéro *08024859914 87*, ainsi que tous les services liés au compte. Je vous remercie de prendre en compte ma demande de résiliation dès réception de -cette lettre recommandée, de procéder à la vente des 10 parts sociales détenues -par Semalibre pour une valeur de 152.10€, de procéder au virement de mon solde -créditeur sur le compte dont vous trouverez le Relevé d'Identité Bancaire joint -à ce courrier. +cette lettre recommandée, de procéder au remboursement des 10 parts sociales détenues +par Semalibre pour une valeur totale de 152.10€ et de procéder au virement de +mon solde créditeur sur le compte dont vous trouverez le Relevé d'Identité Bancaire +joint à ce courrier. Je joins à cette lettre le carnet de chèques du compte, le KBis de l'entreprise, une photocopie de ma pièce d'identité ainsi que le RIB de destination du solde From fc6a8df34cb77aded70d79d8c414d0e497317286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 15 Jan 2026 19:45:59 +0100 Subject: [PATCH 4/9] ignore pdf --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a136337 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pdf From 2d4e76ca979770a62e218d89e9da02d2be677aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 15 Jan 2026 20:05:22 +0100 Subject: [PATCH 5/9] =?UTF-8?q?mod=C3=A8le:=20r=C3=A9duit=20la=20marge=20e?= =?UTF-8?q?ntre=20les=20paragraphes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assemblee_generale.typ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assemblee_generale.typ b/assemblee_generale.typ index 3d1a969..f0a2cd2 100644 --- a/assemblee_generale.typ +++ b/assemblee_generale.typ @@ -51,7 +51,7 @@ let body = [ #set text(size: 11pt, weight: "regular") - #set par(spacing: 2em, justify: true) + #set par(spacing: 1.5em, justify: true) #body ] From b1b4245a86f8c8d2cf5b172c71e64df1f72281bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 15 Jan 2026 20:20:00 +0100 Subject: [PATCH 6/9] modele : ajoute option conclusion_pv --- assemblee_generale.typ | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/assemblee_generale.typ b/assemblee_generale.typ index f0a2cd2..1ea8170 100644 --- a/assemblee_generale.typ +++ b/assemblee_generale.typ @@ -17,6 +17,7 @@ margin: 2.1cm, vertical-center-level: 2, numbering: "1 / 1", + conclusion_pv: false, signataires: (), body ) = { @@ -59,6 +60,18 @@ v(30pt) body + if conclusion_pv [ + #line(length: 100%) + + L’ordre du jour étant épuisé et personne ne demandant plus la parole, le + Président déclare la séance levée. + + De tout ce qui précède, il a été dressé le présent procès-verbal signé par le + Président et les associé·e·s. + + Fait en trois originaux, à Grenoble, le 1er Septembre 2025. + ] + if signataires.len() > 0 { signatures(..signataires) } From 569f6210bc26fbf7a881fcde10ea34835cb565e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 15 Jan 2026 20:25:55 +0100 Subject: [PATCH 7/9] =?UTF-8?q?modele:=20date=20et=20lieu=20doivent=20?= =?UTF-8?q?=C3=AAtre=20ovveridables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assemblee_generale.typ | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assemblee_generale.typ b/assemblee_generale.typ index 1ea8170..3323cc4 100644 --- a/assemblee_generale.typ +++ b/assemblee_generale.typ @@ -18,6 +18,7 @@ vertical-center-level: 2, numbering: "1 / 1", conclusion_pv: false, + datelieu: "", signataires: (), body ) = { @@ -69,7 +70,7 @@ De tout ce qui précède, il a été dressé le présent procès-verbal signé par le Président et les associé·e·s. - Fait en trois originaux, à Grenoble, le 1er Septembre 2025. + Fait en #signataires.len() originaux, #datelieu. ] if signataires.len() > 0 { From 9e8088ac2b56107a7394d6565f8cd2899309db48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 29 Jan 2026 16:38:59 +0100 Subject: [PATCH 8/9] Add feuille_presences.typ --- feuille_presences.typ | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 feuille_presences.typ diff --git a/feuille_presences.typ b/feuille_presences.typ new file mode 100644 index 0000000..832e701 --- /dev/null +++ b/feuille_presences.typ @@ -0,0 +1,55 @@ + +#let feuille_presences( + background: rgb("f4f1eb"), + company-details: none, + title: "", + margin: 2.1cm, + vertical-center-level: 2, + signataires: (), + body +) = { + set text(font: "Fira Sans") + + // accomodate for page header, can't measure? + let real_margin_top = margin + 2cm + let page_header = [ + #text(size: 9.2pt, company-details) + ] + + set page( + flipped: true, + fill: background, + margin: (top: real_margin_top, rest: margin), + header: page_header, + ) + + show heading.where(level: 1): set align(center) + show heading.where(level: 2): set align(center) + + [= #title] + + [== Registre des Présences] + + v(2em) + let total_parts = 0 + let total_voix = 0 + + table( + columns: (1fr, 1fr, 1fr, 1fr), + rows: (auto, auto), + align: horizon, + stroke: 0.8pt, + inset: 8pt, + table.header( + [Nom, Prénom], [Nombre d'Actions], [Nombre de Voix], [Signature], + ), + ..for sign in signataires { + total_parts = total_parts + int(sign.parts) + total_voix = total_voix + int(sign.voix) + ([#sign.name], [#sign.parts], [#sign.voix], box(height: 60pt),) + }, + table.header( + [Total], [#total_parts], [#total_voix], [] + ), + ) +} From 9d534098003ecd46c85cfc09e7edad270907b298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 29 Jan 2026 16:51:03 +0100 Subject: [PATCH 9/9] Add signature_height arg --- feuille_presences.typ | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/feuille_presences.typ b/feuille_presences.typ index 832e701..9a469b6 100644 --- a/feuille_presences.typ +++ b/feuille_presences.typ @@ -5,6 +5,7 @@ title: "", margin: 2.1cm, vertical-center-level: 2, + signature_height: 60pt, signataires: (), body ) = { @@ -46,7 +47,7 @@ ..for sign in signataires { total_parts = total_parts + int(sign.parts) total_voix = total_voix + int(sign.voix) - ([#sign.name], [#sign.parts], [#sign.voix], box(height: 60pt),) + ([#sign.name], [#sign.parts], [#sign.voix], box(height: signature_height),) }, table.header( [Total], [#total_parts], [#total_voix], []