Compare commits

...

2 Commits

Author SHA1 Message Date
3bdd11ec1b vault backup {{date}} 2025-12-10 23:37:27 +01:00
a024d99e30 vault backup: 2025-12-10 23:34:33 2025-12-10 23:34:33 +01:00
12 changed files with 26338 additions and 37 deletions

View File

@@ -1,5 +1,8 @@
{
"accentColor": "#9600ff",
"theme": "system",
"cssTheme": "Adwaita"
"cssTheme": "Adwaita",
"enabledCssSnippets": [
"pgbrk"
]
}

View File

@@ -1,5 +1,7 @@
[
"obsidian-git",
"languagetool",
"oz-calendar"
"oz-calendar",
"better-export-pdf",
"automatic-table-of-contents"
]

View File

@@ -0,0 +1,13 @@
// Automatic Table Of Contents 1.7.3 (https://github.com/johansatge)
var c=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var d=c((ee,k)=>{var g=class{},p={},v=class{},w=t=>t;if(A()){let t=require("obsidian");g=t.Plugin,p=t.MarkdownRenderer,v=t.MarkdownRenderChild,w=t.htmlToMarkdown}k.exports={Plugin:g,MarkdownRenderer:p,MarkdownRenderChild:v,htmlToMarkdown:w};function A(){return typeof process!="object"?!0:!process.env||!process.env.JEST_WORKER_ID}});var y=c((re,b)=>{var s={title:{type:"string",default:"",comment:""},style:{type:"value",default:"nestedList",values:["nestedList","nestedOrderedList","inlineFirstLevel"],comment:"TOC style (nestedList|nestedOrderedList|inlineFirstLevel)"},minLevel:{type:"number",default:0,comment:"Include headings from the specified level"},maxLevel:{type:"number",default:0,comment:"Include headings up to the specified level"},include:{type:"regexp",default:null,comment:""},exclude:{type:"regexp",default:null,comment:""},includeLinks:{type:"boolean",default:!0,comment:"Make headings clickable"},hideWhenEmpty:{type:"boolean",default:!1,comment:"Hide TOC if no headings are found"},debugInConsole:{type:"boolean",default:!1,comment:"Print debug info in Obsidian console"}};b.exports={getOptionsDocs:P,parseOptionsFromSourceText:E};function P(){let t=[];for(let e of Object.keys(s)){let n=s[e],r=n.comment.length>0?` # ${n.comment}`:"",o=n.default!==null?n.default:"";t.push(`${e}: ${o}${r}`)}return t.join(`
`)}function E(t=""){let e={};for(let n of Object.keys(s))e[n]=s[n].default;for(let n of t.split(`
`)){let r=R(n);r!==null&&(e[r.name]=r.value)}return e}function R(t){let e=t.match(/([a-zA-Z0-9._ ]+):(.*)/);if(t.startsWith("#")||!e)return null;let n=e[1].trim(),r=s[n],o=e[2].trim();(!r||!["string","regexp"].includes(r.type))&&(o=o.replace(/#[^#]*$/,"").trim());let a=new Error(`Invalid value for \`${n}\``);if(r&&r.type==="number"){let i=Number.parseInt(o);if(i<0)throw a;return{name:n,value:i}}if(r&&r.type==="boolean"){if(!["true","false"].includes(o))throw a;return{name:n,value:o==="true"}}if(r&&r.type==="value"){if(!r.values.includes(o))throw a;return{name:n,value:o}}if(r&&r.type==="string")return{name:n,value:o};if(r&&r.type==="regexp"){if(o==="null"||o.length===0)return null;try{let i=/^\/(.*)\/([a-z]*)/.exec(o);if(!i)throw new Error("Invalid regexp");let l=new RegExp(i[1],i[2]);return{name:n,value:l}}catch{throw a}}return null}});var x=c((oe,L)=>{var{htmlToMarkdown:S}=d();L.exports={isHeadingAllowed:_,getFormattedMarkdownHeading:W};function _(t,e){return e.include?e.include.test(t):e.exclude?!e.exclude.test(t):!0}function W(t,e){if(e.includeLinks){let n=t;n=$(n),n=j(n),n=M(n,!1);let r=t;return r=M(r,!0),r=q(r),`[[#${r}|${n}]]`}return t}function $(t){return t.replaceAll("*","").replaceAll(/(\W|^)_+(\S)(.*?\S)?_+(\W|$)/g,"$1$2$3$4").replaceAll("`","").replaceAll("==","").replaceAll("~~","").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1")}function j(t){return $(S(t))}function M(t,e){return t.replace(/\[\[([^\]]+)\|([^\]]+)\]\]/g,e?"$1 $2":"$2").replace(/\[\[([^\]]+)\]\]/g,"$1").replaceAll("[[","").replaceAll("| ",e?"":"- ").replaceAll("|",e?" ":"-")}function q(t){return t.replaceAll("#"," ")}});var F=c((le,H)=>{var{isHeadingAllowed:C,getFormattedMarkdownHeading:I}=x();H.exports={getMarkdownFromHeadings:N};function N(t,e){let n={nestedList:D,nestedOrderedList:B,inlineFirstLevel:z},r="";if(e.title&&e.title.length>0){let a=e.style==="inlineFirstLevel"?" ":`
`;r+=`${e.title}${a}`}let o=n[e.style](t,e);return o===null?e.hideWhenEmpty?"":`${r}_Table of contents: no headings found_`:r+o}function D(t,e){return O(t,!1,e)}function B(t,e){return O(t,!0,e)}function O(t,e,n){let r=e?"1.":"-",o=[],a=n.minLevel>0?n.minLevel:Math.min(...t.map(l=>l.level)),i=0;for(let l of t)if(!(i>0&&l.level>i)){if(l.level<=i&&(i=0),!C(l.heading,n)){i=l.level;continue}l.level<a||n.maxLevel>0&&l.level>n.maxLevel||l.heading.length!==0&&o.push(`${" ".repeat(l.level-a)}${r} ${I(l.heading,n)}`)}return o.length>0?o.join(`
`):null}function z(t,e){let n=e.minLevel>0?e.minLevel:Math.min(...t.map(o=>o.level)),r=t.filter(o=>o.level===n).filter(o=>o.heading.length>0).filter(o=>C(o.heading,e)).map(o=>I(o.heading,e));return r.length>0?r.join(" | "):null}});var{Plugin:J,MarkdownRenderer:T,MarkdownRenderChild:K}=d(),{getOptionsDocs:V,parseOptionsFromSourceText:Z}=y(),{getMarkdownFromHeadings:G}=F(),h="table-of-contents",Q="toc",m=class extends J{async onload(){let e=(n,r,o)=>{o.addChild(new f(this.app,r,o.sourcePath,n))};this.registerMarkdownCodeBlockProcessor(h,e),this.registerMarkdownCodeBlockProcessor(Q,e),this.addCommand({id:"insert-automatic-table-of-contents",name:"Insert table of contents",editorCallback:U}),this.addCommand({id:"insert-automatic-table-of-contents-docs",name:"Insert table of contents (with available options)",editorCallback:X})}};function U(t){let e=`\`\`\`${h}
\`\`\``;t.replaceRange(e,t.getCursor())}function X(t){let e=[`\`\`\`${h}
${V()}
\`\`\``];t.replaceRange(e.join(`
`),t.getCursor())}var f=class extends K{constructor(e,n,r,o){super(n),this.app=e,this.element=n,this.sourcePath=r,this.sourceText=o}onload(){this.render(),this.registerEvent(this.app.metadataCache.on("changed",this.onMetadataChange.bind(this)))}onMetadataChange(){this.render()}render(){try{let e=Z(this.sourceText);e.debugInConsole&&u("Options",e);let n=this.app.metadataCache.getCache(this.sourcePath),r=n?.headings?n.headings:[];e.debugInConsole&&u("Headings",r);let o=G(r,e);e.debugInConsole&&u("Markdown",o),this.element.empty(),T.renderMarkdown(o,this.element,this.sourcePath,this)}catch(e){let n=`_\u{1F4A5} Could not render table of contents (${e.message})_`;T.renderMarkdown(n,this.element,this.sourcePath,this)}}};function u(t,e){console.log(`%cAutomatic Table Of Contents %c${t}:
`,"color: orange; font-weight: bold","font-weight: bold",e)}module.exports=m;
/* nosourcemap */

View File

@@ -0,0 +1,10 @@
{
"id": "automatic-table-of-contents",
"name": "Automatic Table Of Contents",
"version": "1.7.3",
"minAppVersion": "1.3.0",
"description": "Create a table of contents in a note, that updates itself when the note changes",
"author": "Johan Satgé",
"authorUrl": "https://github.com/johansatge",
"isDesktopOnly": false
}

View File

@@ -0,0 +1,30 @@
{
"showTitle": true,
"maxLevel": "6",
"displayHeader": true,
"displayFooter": true,
"headerTemplate": "<div style=\"width: 100vw;font-size:10px;text-align:center;\"><span class=\"title\"></span></div>",
"footerTemplate": "<div style=\"width: 100vw;font-size:10px;text-align:center;\"><span class=\"pageNumber\"></span> / <span class=\"totalPages\"></span></div>",
"printBackground": false,
"generateTaggedPDF": false,
"displayMetadata": false,
"debug": false,
"isTimestamp": false,
"enabledCss": false,
"concurrency": "5",
"prevConfig": {
"pageSize": "A4",
"marginType": "1",
"showTitle": true,
"open": true,
"scale": 100,
"landscape": false,
"marginTop": "10",
"marginBottom": "10",
"marginLeft": "10",
"marginRight": "10",
"displayHeader": false,
"displayFooter": true,
"cssSnippet": "0"
}
}

25940
.obsidian/plugins/better-export-pdf/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
{
"id": "better-export-pdf",
"name": "Better Export PDF",
"version": "1.11.0",
"minAppVersion": "0.15.0",
"description": "Export your notes to PDF, support export preview, add bookmarks outline and header/footer.",
"author": "l1xnan",
"authorUrl": "https://github.com/l1xnan",
"fundingUrl": "https://www.buymeacoffee.com/l1xnan",
"isDesktopOnly": true
}

View File

@@ -0,0 +1,67 @@
#better-export-pdf {
display: flex;
flex-direction: row;
height: 75vh;
}
#better-export-pdf .pdf-preview {
flex: auto;
position: relative;
display: flex;
flex-direction: column;
overflow-x: hidden;
overflow-y: scroll;
align-content: flex-start;
}
#better-export-pdf .pdf-preview .webview-wrapper {
position: relative;
height: 100%;
width: 100%;
}
#better-export-pdf .pdf-preview .print-size {
position: absolute;
right: 8px;
top: 8px;
z-index: 99;
font-size: 0.6rem;
white-space: pre-wrap;
text-align: right;
visibility: hidden;
}
#better-export-pdf .pdf-preview > div {
flex: 1;
height: 100%;
width: 100%;
}
#better-export-pdf .pdf-preview > div.progress {
flex: none;
height: auto;
width: 100%;
text-align: left;
}
#better-export-pdf .pdf-preview .filename {
font-size: 0.75rem;
color: var(--color-base-60);
}
#better-export-pdf .pdf-preview .filename:not(:first-child) {
padding-top: calc(var(--p-spacing));
}
#better-export-pdf webview {
flex: 1;
height: 100%;
width: 100%;
}
#better-export-pdf .setting-wrapper {
width: 320px;
margin-left: 16px;
}
#better-export-pdf .setting-wrapper .setting-item[hidden] {
display: none;
}

14
.obsidian/snippets/pgbrk.css vendored Normal file
View File

@@ -0,0 +1,14 @@
/*Breaker de paginas.*/
/*Hace saltos de pagina despues de cada h1*/
@media print {
h1{
page-break-before: always;
}
h2, h3, h4, h5, h6 {
page-break-after: avoid;
}
.internal-embed{
page-break-after: avoid;
page-break-before: avoid;
}
}

View File

@@ -4,44 +4,39 @@
"type": "split",
"children": [
{
"id": "ff8c33205872ddb4",
"id": "a4945c2f40dfd230",
"type": "tabs",
"children": [
{
"id": "12abf23e5d2d15dd",
"id": "ec35ad1ba6900d85",
"type": "leaf",
"state": {
"type": "split-diff-view",
"state": {
"aFile": ".obsidian/workspace.json",
"bFile": ".obsidian/workspace.json",
"aRef": ""
},
"icon": "diff",
"title": "Diff: workspace.json"
}
},
{
"id": "cfc8c132370ad11d",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md",
"file": "conflict-files-obsidian-git.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Ejercicios - Funciones puras"
"title": "conflict-files-obsidian-git"
}
}
]
},
{
"id": "e6733ee149dcba62",
"type": "tabs",
"children": [
{
"id": "cf699ca90183da60",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md",
"mode": "preview",
"source": false
},
"icon": "lucide-file",
"title": "Funciones puras"
}
}
]
],
"currentTab": 1
}
],
"direction": "vertical"
@@ -98,8 +93,7 @@
}
],
"direction": "horizontal",
"width": 317.5,
"collapsed": true
"width": 317.5
},
"right": {
"id": "519d5773673c1040",
@@ -227,7 +221,7 @@
}
],
"direction": "horizontal",
"width": 285.5
"width": 408.5
},
"left-ribbon": {
"hiddenItems": {
@@ -241,16 +235,20 @@
"obsidian-git:Open Git source control": false
}
},
"active": "e615f9321ff830be",
"active": "cfc8c132370ad11d",
"lastOpenFiles": [
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md",
"conflict-files-obsidian-git.md",
"Servidores/M5/Actividades/RA2/RA2 \"Instal·la programari de propòsit general avaluant-ne lescaracterístiques i els entorns daplicació. Instal·lació de programaridutilitat i propòsit general per a un sistema informàtic\".md",
"Servidores/M5/Actividades",
"README.md",
"Servidores/M5/Actividades/RA2",
"Servidores/M5/x.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/calculadora_modular.sh",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras",
"Documentación personal/Mecanica de Unix/Mecánica Unix - Manejo de la shell.md",
"README.md",
"Sin título.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Expansión de parámetros.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Patrones de diseño en Bash.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Procesos hijos y paralelismo.md",
@@ -273,12 +271,9 @@
"BDD/SQL/Importación y exportación de base de datos.md",
"Documentación personal/Mecanica de Unix/Bash Scripting/s.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado",
"Documentación personal/Mecanica de Unix",
"BDD/SQL/Diario/Clase 4 de diciembre.md",
"BDD/SQL/Lenguaje de Manupulación de Datos (DML).md",
"BDD/SQL/Lenguaje de definición de datos (DDL).md",
"Documentación personal/Seguridad-Informatica/Vista General 1.canvas",
"Documentación personal/Seguridad-Informatica/desktop.ini",
"Documentación personal/Seguridad-Informatica/1_Imagenes/tools/software/specops.svg",
"Documentación personal/Seguridad-Informatica/1_Imagenes/tools/software/satan.png",
"Documentación personal/Seguridad-Informatica/1_Imagenes/tools/software/nessuslogo.png",

View File

@@ -0,0 +1,199 @@
## ASIX1A - M5 - Sebastian Ariel Duarte Oruez
### 10/12/25
Fet en Obsidian / Markdown
[Enunciat](https://aulavirtual.iesthosicodina.cat/moodle/pluginfile.php/275223/mod_assign/intro/Pt1.%20Instal·lació%20i%20avaluació%20daplicacions%20%282025-26%29.pdf)
# índex
```table-of-contents
```
# Entorn de desenvolupament de software (Linux)
A continuació, es detalla la selecció de software per a l'equip de desenvolupament, justificant les eleccions i comparant-les amb altres alternatives del mercat.
### 1. Entorn de Desenvolupament Integrat (IDE)
**Elecció:** **Visual Studio Code (VSCode)**
- **Justificació:** És actualment l'estàndard de facto a la indústria. És lleuger, de codi obert (en la seva base) i extremadament versàtil gràcies al seu ecosistema d'extensions. Permet unificar el desenvolupament de Javascript, PHP i Python en una sola interfície sense necessitat de canviar de programa.
- **Comparativa:**
- _VSCode vs Sublime Text:_ Sublime és més ràpid, però VSCode té millors eines de depuració (debugging) integrades i millor gestió de Git.
- _VSCode vs WebStorm/PyCharm (JetBrains):_ Les eines de JetBrains són més potents "out-of-the-box", però són de pagament i consumeixen molts més recursos del sistema. VSCode ofereix un equilibri perfecte entre rendiment i funcionalitat gratuïta.
### 2. Control de Versions (Git)
**Elecció:** **Git (Línia de comandes) + Extensió Git integrada a VSCode**
- **Justificació:** Git ve instal·lat per defecte o és trivial d'instal·lar en qualsevol distribució Linux. Tot i que la línia de comandes és essencial, per al dia a dia s'utilitzarà la **integració nativa de VSCode** (o extensions com _GitLens_), que permet veure diferències, fer commits i gestionar branques visualment sense sortir de l'editor.
- **Alternatives gràfiques:** GitKraken (molt visual però amb limitacions en versions gratuïtes) o SmartGit.
### 3. Tractament i Edició d'Imatges
**Elecció:** **GIMP (GNU Image Manipulation Program)**
- **Justificació:** És l'alternativa lliure més potent a Adobe Photoshop. Suporta capes, filtres avançats i scripts, cobrint totes les necessitats d'edició d'imatge per a web i desenvolupament.
- **Comparativa:**
- _GIMP vs Krita:_ Krita està més enfocat a la pintura digital i il·lustració. Per a retoc fotogràfic i manipulació general, GIMP és superior.
- _GIMP vs Inkscape:_ Inkscape és vectorial (SVG), mentre que GIMP és matricial. Per a edició de fotos, GIMP és l'eina correcta.
### 4. Tractament i Edició de Vídeo i Àudio
**Elecció:** **Kdenlive** (Vídeo) i **Audacity** (Àudio)
- **Justificació:**
- **Kdenlive:** És un editor de vídeo no lineal molt robust per a Linux, part del projecte KDE. Suporta múltiples pistes i formats sense necessitat de conversió prèvia.
- **Audacity:** És l'estàndard per a l'edició ràpida d'àudio, neteja de soroll i retall.
- **Comparativa:**
- _Kdenlive vs OpenShot:_ OpenShot és més senzill, però Kdenlive ofereix característiques més professionals necessàries si el projecte creix.
- _Audacity vs Ardour:_ Ardour és un DAW complet (com ProTools), massa complex per a tasques simples. Audacity és més àgil.
### 5. Accés a propietats d'arxius .PSD
**Elecció:** **GIMP** (o Photopea via web si es requereix especificitat)
- **Justificació:** Atès que ja hem instal·lat **GIMP**, aquest és capaç d'obrir i editar arxius natius de Photoshop (.psd). Manté les capes i permet veure propietats, ocultar elements i exportar assets.
- _Nota:_ Si es requereix una fidelitat del 100% sense instal·lar Photoshop (que no corre natiu a Linux), una alternativa online molt utilitzada és **Photopea**, però com a eina d'escriptori, GIMP compleix la funció.
### 6. Mockups i Prototipatge
**Elecció:** **Pencil Project** (pencil.evolus.vn)
- **Justificació:** És una eina de codi obert excel·lent per crear diagrames i prototips d'interfícies d'usuari (GUI) ràpides. Té col·leccions de formes per a Android, iOS i Web.
- **Comparativa:**
- _Pencil vs Balsamiq:_ Balsamiq és de pagament. Pencil és gratuït i ofereix una funcionalitat molt similar per a "wireframing".
- _Pencil vs Figma:_ Figma és l'estàndard actual però és basat en web (tot i que té client d'escriptori, consumeix molta RAM). Per a una eina 100% offline i lleugera, Pencil és ideal.
### 7. Navegadors Web (Testing)
**Elecció:** **Mozilla Firefox** (Principal), **Google Chrome** i **Chromium**
- **Justificació:**
- **Firefox:** Per les seves excel·lents eines de desenvolupament (DevTools) i privacitat.
- **Chrome/Chromium:** Necessari perquè és el motor (Blink) més utilitzat pels usuaris finals. És obligatori testejar que la web es vegi bé aquí.
### 8. Clients FTP Gràfics
**Elecció:** **FileZilla**
- **Justificació:** És el client FTP/SFTP més conegut, multiplataforma i robust. Permet gestió de llocs, cues de transferència i edició remota d'arxius.
- **Alternatives:** _gFTP_ (més antic) o _Cyberduck_ (CLI/Mac, menys comú a Linux GUI).
### 9. Clients SSH Gràfics
**Elecció:** **Termius** (o Remmina)
- **Justificació:** Tot i que a Linux se sol utilitzar la terminal nativa, **Termius** ofereix una interfície moderna per organitzar i guardar credencials de múltiples servidors, amb sincronització.
- _Alternativa clàssica:_ **Putty** (molt utilitzat a Windows, però existeix a Linux) o **Remmina**(que a més de SSH gestiona VNC i RDP, ideal per a administradors de sistemes). Recomanem **Remmina** per ser tot-en-un.
### 10. Comunicació en Temps Real
**Elecció:** **Slack**
- **Justificació:** És l'estàndard en moltes empreses de desenvolupament. Té client natiu per a Linux (.deb/.rpm/snap) que funciona fluidament.
- **Alternatives:** _Discord_ (més enfocat a gaming, tot i que utilitzat en dev) o _Mattermost_ (alternativa Open Source self-hosted).
### Instal·lació de la pila de desenvolupament (Backend/Frontend)
Per completar l'entorn, s'instal·laran els següents serveis sol·licitats:
1. **Servidor Web:** **Apache HTTP Server**. (Estàndard, robust i modular).
2. **Base de Dades Relacional:** **MariaDB**. (Fork de MySQL totalment compatible, open source i amb millor rendiment/comunitat a Linux).
3. **Javascript Runtime:** **Node.js** (Versió LTS per a estabilitat).
4. **Base de Dades NoSQL:** **MongoDB**.
5. **Gestors de BBDD Gràfics:**
- **DBeaver** o **Adminer**: L'enunciat demana _Adminer_ (que és un script PHP), però **DBeaver** és una aplicació d'escriptori universal molt més potent per a desenvolupadors. Si cal cenyir-se a l'enunciat: **Adminer**.
- **MongoDB Compass**: L'eina oficial GUI per a MongoDB.
6. **API Testing:** **Postman**. Imprescindible per provar els endpoints del desenvolupament Backend.
# Entorn Windows (Ofimàtica)
Seguint els criteris d'eficiència i estandardització per al departament administratiu/ofimàtica.
### 1. Suite Ofimàtica
**Elecció:** **LibreOffice** (Opció Open Source) o **Microsoft Office 365** (Estàndard empresarial).
- _Recomanació:_ Si l'empresa busca estalviar costos i utilitzar software lliure com al departament de desenvolupament: **LibreOffice**. Si es requereix màxima compatibilitat amb clients externs: **Microsoft Office**.
- **Justificació LibreOffice:** Inclou Writer (Docs), Calc (Excel) i Impress (PowerPoint). És gratuït i llegeix formats de Microsoft.
### 2. Infografies i Presentacions
**Elecció:** **Canva** (Online - Accés directe) i **Impress/PowerPoint** (Escriptori).
- **Justificació:**
- **Canva:** Per a infografies ràpides i modernes, és insuperable en facilitat d'ús. En ser online, crearem un accés directe a l'escriptori o marcador al navegador.
- **Eina d'escriptori:** Per a presentacions confidencials o sense internet, s'utilitzarà la inclosa a la suite ofimàtica.
### 3. Videoconferència
**Elecció:** **Microsoft Teams** (o Zoom).
- **Justificació:**
- **Teams:** Si l'empresa utilitza entorn Windows, Teams sol venir integrat i permet xat + vídeo + gestió d'arxius.
- **Zoom:** És l'alternativa més estable si només es busca vídeo i no col·laboració documental.
### 4. Comunicació Interna
**Elecció:** **Slack** (Versió Windows).
- **Justificació:** Per mantenir la coherència amb el departament de desenvolupament i que tota l'empresa estigui al mateix canal de comunicació.
### 5. Utilitats Vàries (Necessàries per a l'entorn)
- **Compressor:** **7-Zip** (Gratuït, potent, obre tot).
- **Lector PDF:** **Adobe Acrobat Reader** o **Foxit Reader** (Per signar documents i visualització avançada).
- **Navegador:** **Google Chrome** o **Edge** (Preinstal·lat, funciona bé en entorn corporatiu).
- **Reproductor Multimèdia:** **VLC Media Player** (Per obrir qualsevol vídeo o àudio sense problemes de còdecs).

View File

@@ -0,0 +1,17 @@
# Conflicts
Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`
(This file will automatically be deleted before commit)
[[#Additional Instructions]] available below file list
- Not a file: .obsidian/workspace.json
# Additional Instructions
I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text.
```diff
<<<<<<< HEAD
File changes in local repository
=======
File changes in remote repository
>>>>>>> origin/main
```