@jjlmoya/utils-tools 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +63 -0
- package/src/category/i18n/en.ts +172 -0
- package/src/category/i18n/es.ts +172 -0
- package/src/category/i18n/fr.ts +172 -0
- package/src/category/index.ts +23 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +11 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +90 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +146 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +23 -0
- package/src/tests/title_quality.test.ts +56 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tool/date-diff-calculator/bibliography.astro +14 -0
- package/src/tool/date-diff-calculator/component.astro +370 -0
- package/src/tool/date-diff-calculator/i18n/en.ts +132 -0
- package/src/tool/date-diff-calculator/i18n/es.ts +132 -0
- package/src/tool/date-diff-calculator/i18n/fr.ts +132 -0
- package/src/tool/date-diff-calculator/index.ts +22 -0
- package/src/tool/date-diff-calculator/seo.astro +14 -0
- package/src/tool/date-diff-calculator/ui.ts +17 -0
- package/src/tool/drive-direct-link/bibliography.astro +14 -0
- package/src/tool/drive-direct-link/component.astro +280 -0
- package/src/tool/drive-direct-link/i18n/en.ts +118 -0
- package/src/tool/drive-direct-link/i18n/es.ts +118 -0
- package/src/tool/drive-direct-link/i18n/fr.ts +118 -0
- package/src/tool/drive-direct-link/index.ts +22 -0
- package/src/tool/drive-direct-link/seo.astro +14 -0
- package/src/tool/drive-direct-link/ui.ts +10 -0
- package/src/tool/email-list-cleaner/bibliography.astro +14 -0
- package/src/tool/email-list-cleaner/component.astro +375 -0
- package/src/tool/email-list-cleaner/i18n/en.ts +140 -0
- package/src/tool/email-list-cleaner/i18n/es.ts +140 -0
- package/src/tool/email-list-cleaner/i18n/fr.ts +140 -0
- package/src/tool/email-list-cleaner/index.ts +22 -0
- package/src/tool/email-list-cleaner/seo.astro +14 -0
- package/src/tool/email-list-cleaner/ui.ts +15 -0
- package/src/tool/env-badge-spain/bibliography.astro +14 -0
- package/src/tool/env-badge-spain/component.astro +303 -0
- package/src/tool/env-badge-spain/components/BadgeForm.astro +243 -0
- package/src/tool/env-badge-spain/components/BadgeResult.astro +151 -0
- package/src/tool/env-badge-spain/i18n/en.ts +153 -0
- package/src/tool/env-badge-spain/i18n/es.ts +153 -0
- package/src/tool/env-badge-spain/i18n/fr.ts +153 -0
- package/src/tool/env-badge-spain/index.ts +22 -0
- package/src/tool/env-badge-spain/seo.astro +14 -0
- package/src/tool/env-badge-spain/ui.ts +53 -0
- package/src/tool/morse-beacon/bibliography.astro +14 -0
- package/src/tool/morse-beacon/component.astro +534 -0
- package/src/tool/morse-beacon/i18n/en.ts +157 -0
- package/src/tool/morse-beacon/i18n/es.ts +157 -0
- package/src/tool/morse-beacon/i18n/fr.ts +157 -0
- package/src/tool/morse-beacon/index.ts +22 -0
- package/src/tool/morse-beacon/logic/MorseEngine.ts +124 -0
- package/src/tool/morse-beacon/seo.astro +14 -0
- package/src/tool/morse-beacon/ui.ts +18 -0
- package/src/tool/password-generator/bibliography.astro +14 -0
- package/src/tool/password-generator/component.astro +259 -0
- package/src/tool/password-generator/components/Config.astro +227 -0
- package/src/tool/password-generator/components/Display.astro +147 -0
- package/src/tool/password-generator/components/Strength.astro +70 -0
- package/src/tool/password-generator/i18n/en.ts +166 -0
- package/src/tool/password-generator/i18n/es.ts +166 -0
- package/src/tool/password-generator/i18n/fr.ts +166 -0
- package/src/tool/password-generator/index.ts +22 -0
- package/src/tool/password-generator/seo.astro +14 -0
- package/src/tool/password-generator/ui.ts +16 -0
- package/src/tool/routes/bibliography.astro +14 -0
- package/src/tool/routes/component.astro +543 -0
- package/src/tool/routes/i18n/en.ts +157 -0
- package/src/tool/routes/i18n/es.ts +157 -0
- package/src/tool/routes/i18n/fr.ts +157 -0
- package/src/tool/routes/index.ts +22 -0
- package/src/tool/routes/logic/GeocodingService.ts +60 -0
- package/src/tool/routes/logic/RouteManager.ts +192 -0
- package/src/tool/routes/logic/RouteService.ts +66 -0
- package/src/tool/routes/seo.astro +14 -0
- package/src/tool/routes/ui.ts +16 -0
- package/src/tool/rule-of-three/bibliography.astro +14 -0
- package/src/tool/rule-of-three/component.astro +369 -0
- package/src/tool/rule-of-three/i18n/en.ts +171 -0
- package/src/tool/rule-of-three/i18n/es.ts +171 -0
- package/src/tool/rule-of-three/i18n/fr.ts +171 -0
- package/src/tool/rule-of-three/index.ts +22 -0
- package/src/tool/rule-of-three/seo.astro +14 -0
- package/src/tool/rule-of-three/ui.ts +13 -0
- package/src/tool/seo-content-optimizer/bibliography.astro +14 -0
- package/src/tool/seo-content-optimizer/component.astro +552 -0
- package/src/tool/seo-content-optimizer/i18n/en.ts +136 -0
- package/src/tool/seo-content-optimizer/i18n/es.ts +136 -0
- package/src/tool/seo-content-optimizer/i18n/fr.ts +136 -0
- package/src/tool/seo-content-optimizer/index.ts +22 -0
- package/src/tool/seo-content-optimizer/seo.astro +14 -0
- package/src/tool/seo-content-optimizer/ui.ts +29 -0
- package/src/tool/speed-reader/bibliography.astro +14 -0
- package/src/tool/speed-reader/component.astro +586 -0
- package/src/tool/speed-reader/i18n/en.ts +152 -0
- package/src/tool/speed-reader/i18n/es.ts +152 -0
- package/src/tool/speed-reader/i18n/fr.ts +152 -0
- package/src/tool/speed-reader/index.ts +22 -0
- package/src/tool/speed-reader/logic/RSVPEngine.ts +106 -0
- package/src/tool/speed-reader/seo.astro +14 -0
- package/src/tool/speed-reader/ui.ts +14 -0
- package/src/tool/text-pixel-calculator/bibliography.astro +14 -0
- package/src/tool/text-pixel-calculator/component.astro +315 -0
- package/src/tool/text-pixel-calculator/components/Editor.astro +240 -0
- package/src/tool/text-pixel-calculator/components/Preview.astro +155 -0
- package/src/tool/text-pixel-calculator/components/Stats.astro +87 -0
- package/src/tool/text-pixel-calculator/i18n/en.ts +133 -0
- package/src/tool/text-pixel-calculator/i18n/es.ts +133 -0
- package/src/tool/text-pixel-calculator/i18n/fr.ts +133 -0
- package/src/tool/text-pixel-calculator/index.ts +22 -0
- package/src/tool/text-pixel-calculator/seo.astro +14 -0
- package/src/tool/text-pixel-calculator/ui.ts +15 -0
- package/src/tool/whatsapp-link/bibliography.astro +14 -0
- package/src/tool/whatsapp-link/component.astro +455 -0
- package/src/tool/whatsapp-link/i18n/en.ts +128 -0
- package/src/tool/whatsapp-link/i18n/es.ts +128 -0
- package/src/tool/whatsapp-link/i18n/fr.ts +128 -0
- package/src/tool/whatsapp-link/index.ts +22 -0
- package/src/tool/whatsapp-link/seo.astro +14 -0
- package/src/tool/whatsapp-link/ui.ts +15 -0
- package/src/tools.ts +15 -0
- package/src/types.ts +72 -0
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jjlmoya/utils-tools",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./src/index.ts",
|
|
6
|
+
"types": "./src/index.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts",
|
|
9
|
+
"./data": "./src/data.ts"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"dev": "astro dev",
|
|
19
|
+
"start": "astro dev",
|
|
20
|
+
"build": "astro build",
|
|
21
|
+
"preview": "astro preview",
|
|
22
|
+
"astro": "astro",
|
|
23
|
+
"lint": "eslint src/ --max-warnings 0 && stylelint \"src/**/*.{css,astro}\"",
|
|
24
|
+
"check": "astro check",
|
|
25
|
+
"type-check": "astro check",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"preversion": "npm run lint && npm run test",
|
|
28
|
+
"postversion": "git push && git push --tags",
|
|
29
|
+
"patch": "npm version patch",
|
|
30
|
+
"minor": "npm version minor",
|
|
31
|
+
"major": "npm version major"
|
|
32
|
+
},
|
|
33
|
+
"lint-staged": {
|
|
34
|
+
"*.{ts,tsx,astro}": [
|
|
35
|
+
"eslint --fix"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@iconify-json/mdi": "^1.2.3",
|
|
40
|
+
"@jjlmoya/utils-shared": "1.2.0",
|
|
41
|
+
"astro": "^6.1.2",
|
|
42
|
+
"astro-icon": "^1.1.0",
|
|
43
|
+
"qrcode": "^1.5.4"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@astrojs/check": "^0.9.8",
|
|
47
|
+
"@types/leaflet": "^1.9.14",
|
|
48
|
+
"@types/qrcode": "^1.5.6",
|
|
49
|
+
"eslint": "^9.39.4",
|
|
50
|
+
"eslint-plugin-astro": "^1.6.0",
|
|
51
|
+
"eslint-plugin-no-comments": "^1.1.10",
|
|
52
|
+
"husky": "^9.1.7",
|
|
53
|
+
"lint-staged": "^16.4.0",
|
|
54
|
+
"postcss-html": "^1.8.1",
|
|
55
|
+
"schema-dts": "^1.1.2",
|
|
56
|
+
"stylelint": "^17.6.0",
|
|
57
|
+
"stylelint-config-standard": "^40.0.0",
|
|
58
|
+
"stylelint-declaration-strict-value": "^1.11.1",
|
|
59
|
+
"typescript": "^5.4.0",
|
|
60
|
+
"typescript-eslint": "^8.58.0",
|
|
61
|
+
"vitest": "^4.1.2"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'tools',
|
|
5
|
+
title: 'Practical and Multipurpose Online Tools',
|
|
6
|
+
description: 'Solve everyday problems with free online tools. Route optimisers, password generators, RSVP speed reading and quick calculation utilities.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'title',
|
|
10
|
+
text: 'Practical Utilities: Digital Solutions for Everyday Life',
|
|
11
|
+
level: 2,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'paragraph',
|
|
15
|
+
html: 'In a digital world saturated with complex applications, sometimes what we need most is a <strong>simple, fast and effective tool</strong>. In this section, we have compiled a "utility belt" with <strong>free online tools</strong> that solve immediate practical problems: from account security to optimising your physical travel.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'paragraph',
|
|
19
|
+
html: 'Our applications are designed under the principle of maximum utility and minimum friction. No registrations, no waiting, and with local processing so your personal data is always protected.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'title',
|
|
23
|
+
text: 'Security and Protection: Generating Robust Passwords',
|
|
24
|
+
level: 2,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'paragraph',
|
|
28
|
+
html: "The first line of defence online is a strong password. Our <strong>password generator</strong> uses cryptographic randomness algorithms to create keys impossible to predict or brute-force hack. Customise the length and character type to meet 2026's security standards.",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: 'title',
|
|
32
|
+
text: 'Logistics and Quick Maths: Routes and Proportions',
|
|
33
|
+
level: 2,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'paragraph',
|
|
37
|
+
html: 'Saving time and fuel is possible through optimisation. The <strong>route optimiser</strong> lets you organise multiple stops to calculate the most efficient journey, ideal for delivery drivers, sales reps or travellers. Our <strong>rule of three</strong> calculator is the definitive mathematical lifesaver for solving scales, percentages and proportions in seconds.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'title',
|
|
41
|
+
text: 'Cognitive Productivity: RSVP Speed Reading',
|
|
42
|
+
level: 2,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'paragraph',
|
|
46
|
+
html: 'Information overload requires new forms of consumption. Based on <strong>RSVP (Rapid Serial Visual Presentation)</strong> technology, our speed reader lets you process texts at speeds exceeding 1000 words per minute, eliminating subvocalisation and focusing your attention on the semantic flow of the content.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Communication and Links: WhatsApp and SEO',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: 'Facilitating contact is vital for businesses and freelancers. The <strong>WhatsApp link generator</strong> lets you create direct wa.me links with pre-configured messages. For content creators, the <strong>SEO optimiser</strong> analyses keyword density and character limits to ensure your posts shine on search engines and social networks.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'title',
|
|
59
|
+
text: 'Tactical Utilities: Morse Beacon and Emergencies',
|
|
60
|
+
level: 2,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'paragraph',
|
|
64
|
+
html: 'The mobile phone is also a physical safety tool. The <strong>Morse beacon</strong> turns your device into an emergency transmitter, using the camera flash, vibration and screen brightness to emit SOS signals or personalised messages in international Morse code.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'list',
|
|
68
|
+
items: [
|
|
69
|
+
'<strong>Multi-functionality:</strong> From mathematical calculations to cybersecurity and personal logistics.',
|
|
70
|
+
'<strong>Response Speed:</strong> Tools optimised to load instantly on any mobile device.',
|
|
71
|
+
'<strong>Zero Tracking:</strong> We do not store your passwords or routes; privacy is our technical priority.',
|
|
72
|
+
'<strong>2026 Update:</strong> Compliance with the latest security regulations and modern web standards.',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'tip',
|
|
77
|
+
title: 'Digital Security Tip',
|
|
78
|
+
html: '<strong>Cyber hygiene:</strong> Never use the same password for two different services. Generate a unique key with our tool and store it in a trusted password manager to keep your digital identity safe.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Security Evaluation: Compromised Password Auditing',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Having a strong password today does not mean it will be secure tomorrow. If a database is hacked at another service and you share the same key, you are at risk. Tools like the password auditor against databases (HIBP - Have I Been Pwned) let you check if your credentials circulate on the darknet. Our utilities include integration with security APIs so you know exactly if your key has ever been compromised.',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'title',
|
|
91
|
+
text: 'Digital Ergonomics: Reduce Friction, Increase Productivity',
|
|
92
|
+
level: 2,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'paragraph',
|
|
96
|
+
html: 'Digital friction is invisible but costly. Writing a phone number in the correct format in WhatsApp every time you want to contact someone is friction. Calculating a discount manually is friction. Our tools eliminate these repetitive micro-steps. The route optimiser saves you 2 hours a week if you make deliveries. The RSVP reader saves you 3 hours of weekly reading. Multiplied by 52 weeks, that is entire months of life recovered.',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'title',
|
|
100
|
+
text: 'Artificial Intelligence and Predictive Analysis in 2026 Tools',
|
|
101
|
+
level: 2,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'paragraph',
|
|
105
|
+
html: 'Modern tools are not static; they learn from you. The password generator can suggest secure patterns according to the specific regulations of each platform. The route optimiser can learn your historical delivery patterns and anticipate congestion points. The RSVP reader can adapt its speed to your comprehension in real time. These layers of intelligence transform simple utilities into personalised assistants that evolve with you.',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'title',
|
|
109
|
+
text: 'Task Management and Planning: Pomodoro and Isochronic',
|
|
110
|
+
level: 2,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Productivity is not just speed; it is intelligent time management. Our <strong>interactive Pomodoro technique</strong> divides your day into focused 25-minute blocks, with calculated breaks for optimal cognitive recovery. The <strong>isochronic calculator</strong> shows you how long your tasks will take based on history, letting you plan your day realistically rather than optimistically.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'title',
|
|
118
|
+
text: 'Data Validation and Information Auditing',
|
|
119
|
+
level: 2,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'paragraph',
|
|
123
|
+
html: "A list of 500 email addresses — how many are real? Our <strong>bulk data validator</strong> verifies format, domain, and whether the server accepts mail for that address. For phone numbers, it validates international format and geographic number. In business applications, data validation prevents disasters: sending emails to non-existent addresses is waste; calling falsified numbers is frustration.",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'title',
|
|
127
|
+
text: 'Unit Conversion: Mass, Volume, Temperature, Energy',
|
|
128
|
+
level: 2,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: 'Conversions seem simple until you need to convert 100 Fahrenheit to Celsius under pressure. Our <strong>universal unit converter</strong> handles conversions for 500+ magnitudes: length (metre to foot to mile), mass (kg to pound to ounce), volume (litre to gallon), temperature (with exact formula correction), energy (joule to calorie), power (watts to horsepower). The difference between a generic and a technical converter is precision.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Advanced Percentage Calculation and Compound Variations',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: '10% of 100 is 10. Simple. But if you increase 10% of 100 (resulting in 110) and then increase another 10%, is the result 121 or 120? It is 121 (compound variation). Our <strong>advanced percentage calculator</strong> handles nested variations, multiple discounts, and "margin" versus "markup" calculations. A retailer who buys at €100 and adds 50% markup sells at €150; if they then apply a 20% discount, they sell at €120 (not €130).',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Number Analysis: Factorisation, Primality, Divisors',
|
|
146
|
+
level: 2,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'paragraph',
|
|
150
|
+
html: 'A mathematician may need to know if 991 is prime. A cryptographer needs to factorise 91 (it is 7 × 13). Our <strong>number analyser</strong> determines if a number is prime, lists its divisors, factorises into primes, and calculates its Euler function (critical in RSA cryptography). For mathematical education or research, these tools provide deep numeric information.',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'title',
|
|
154
|
+
text: 'Simplicity as the Ultimate Sophistication 2026',
|
|
155
|
+
level: 2,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: 'In 2026, "simple" has become premium again. We are tired of applications that try to do everything and do nothing well. These tools are the return to essentials: utilities that do one thing, but do it with absolute precision and respect for the user. Every minute you save with a well-designed tool is a minute you recover from your life.',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'stats',
|
|
163
|
+
columns: 2,
|
|
164
|
+
items: [
|
|
165
|
+
{ value: 'Cryptographic', label: 'Security', icon: 'mdi:shield-check' },
|
|
166
|
+
{ value: 'RSVP', label: 'Speed', icon: 'mdi:speedometer' },
|
|
167
|
+
{ value: 'Optimal', label: 'Logistics', icon: 'mdi:map-marker-path' },
|
|
168
|
+
{ value: 'Local-First', label: 'Privacy', icon: 'mdi:lock-check' },
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
};
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'herramientas',
|
|
5
|
+
title: 'Herramientas Prácticas y Multiusos Online',
|
|
6
|
+
description: 'Soluciona problemas cotidianos con herramientas gratuitas online. Optimizadores de rutas, generadores de contraseñas, lectura rápida RSVP y utilidades de cálculo rápido.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'title',
|
|
10
|
+
text: 'Utilidades Prácticas: Soluciones Digitales para el Día a Día',
|
|
11
|
+
level: 2,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'paragraph',
|
|
15
|
+
html: 'En un mundo digital saturado de aplicaciones complejas, a veces lo que más necesitamos es una <strong>herramienta sencilla, rápida y eficaz</strong>. En esta sección, hemos recopilado un "cinturón de utilidades" con <strong>herramientas gratuitas online</strong> que resuelven problemas prácticos inmediatos: desde la seguridad de tus cuentas hasta la optimización de tus desplazamientos físicos.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'paragraph',
|
|
19
|
+
html: 'Nuestras aplicaciones están diseñadas bajo el principio de utilidad máxima y fricción mínima. Sin registros, sin esperas y con procesamiento local para que tus datos personales siempre estén protegidos.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'title',
|
|
23
|
+
text: 'Seguridad y Protección: Generación de Claves Robustas',
|
|
24
|
+
level: 2,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'paragraph',
|
|
28
|
+
html: 'La primera línea de defensa en internet es una clave fuerte. Nuestro <strong>generador de contraseñas</strong> utiliza algoritmos de aleatoriedad criptográfica para crear claves imposibles de predecir o hackear por fuerza bruta. Personaliza la longitud y el tipo de caracteres para cumplir con los estándares de seguridad de 2026.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: 'title',
|
|
32
|
+
text: 'Logística y Matemáticas Rápidas: Rutas y Proporciones',
|
|
33
|
+
level: 2,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'paragraph',
|
|
37
|
+
html: 'Ahorrar tiempo y combustible es posible mediante la optimización. El <strong>optimizador de rutas</strong> permite organizar múltiples paradas para calcular el trayecto más eficiente, ideal para repartidores, comerciales o viajeros. Por otro lado, nuestra calculadora de <strong>regla de tres</strong> es el salvavidas matemático definitivo para resolver escalas, porcentajes y proporciones en segundos.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'title',
|
|
41
|
+
text: 'Productividad Cognitiva: Lectura Rápida RSVP',
|
|
42
|
+
level: 2,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'paragraph',
|
|
46
|
+
html: 'La sobrecarga de información requiere nuevas formas de consumo. Basado en la tecnología <strong>RSVP (Rapid Serial Visual Presentation)</strong>, nuestro lector rápido te permite procesar textos a velocidades superiores a las 1000 palabras por minuto, eliminando la subvocalización y centrando tu atención en el flujo semántico del contenido.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Comunicación y Enlaces: WhatsApp y SEO',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: 'Facilitar el contacto es vital para negocios y freelancers. El <strong>generador de enlaces para WhatsApp</strong> permite crear links wa.me directos con mensajes preconfigurados. Para creadores de contenido, el <strong>optimizador SEO</strong> analiza la densidad de palabras clave y los límites de caracteres para asegurar que tus publicaciones brillen en buscadores y redes sociales.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'title',
|
|
59
|
+
text: 'Utilidades Tácticas: Baliza Morse y Emergencias',
|
|
60
|
+
level: 2,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'paragraph',
|
|
64
|
+
html: 'El móvil es también una herramienta de seguridad física. La <strong>baliza Morse</strong> convierte tu terminal en un transmisor de emergencia, utilizando el flash de la cámara, la vibración y el brillo de la pantalla para emitir señales SOS o mensajes personalizados bajo el código Morse internacional.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'list',
|
|
68
|
+
items: [
|
|
69
|
+
'<strong>Multifuncionalidad:</strong> Desde cálculos matemáticos hasta ciberseguridad y logística personal.',
|
|
70
|
+
'<strong>Velocidad de Respuesta:</strong> Herramientas optimizadas para cargar de forma instantánea en cualquier dispositivo móvil.',
|
|
71
|
+
'<strong>Zero Tracking:</strong> No guardamos tus contraseñas ni tus rutas; la privacidad es nuestra prioridad técnica.',
|
|
72
|
+
'<strong>Actualización 2026:</strong> Cumplimiento con las últimas normativas de seguridad y estándares web modernos.',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'tip',
|
|
77
|
+
title: 'Tip de Seguridad Digital',
|
|
78
|
+
html: '<strong>Ciberhigiene:</strong> Nunca uses la misma contraseña para dos servicios distintos. Genera una clave única con nuestra herramienta y guárdala en un gestor de contraseñas de confianza para mantener tu identidad digital a salvo.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Evaluación de Seguridad: Auditoría de Contraseñas Comprometidas',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Tener una contraseña fuerte hoy no significa que sea segura mañana. Si una base de datos es hackeada en otro servicio y compartes la misma clave, estás en riesgo. Herramientas como el auditor de contraseñas contra bases de datos (HIBP - Have I Been Pwned) te permiten verificar si tus credenciales circulan en el darknet. Nuestras utilidades incluyen integración con APIs de seguridad para que sepas exactamente si tu clave ha sido comprometida alguna vez.',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'title',
|
|
91
|
+
text: 'Ergonomía Digital: Reduce Fricción, Aumenta Productividad',
|
|
92
|
+
level: 2,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'paragraph',
|
|
96
|
+
html: 'La fricción digital es invisible pero costosa. Escribir un número telefónico con formato correcto en WhatsApp cada vez que quieres contactar a alguien es fricción. Calcular un descuento manualmente es fricción. Nuestras herramientas eliminan estos micros-pasos repetitivos. El optimizador de rutas te ahorra 2 horas por semana si haces entregas. El lector RSVP te ahorra 3 horas de lectura semanal. Multiplicado por 52 semanas, son meses enteros de vida recuperada.',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'title',
|
|
100
|
+
text: 'Inteligencia Artificial y Análisis Predictivo en Herramientas 2026',
|
|
101
|
+
level: 2,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'paragraph',
|
|
105
|
+
html: 'Las herramientas modernas no son estáticas; aprenden de ti. El generador de contraseñas puede sugerirte patrones seguros según la normativa específica de cada plataforma. El optimizador de rutas puede aprender tus patrones históricos de entrega y anticipar puntos de congestión. El lector RSVP puede adaptar su velocidad a tu comprensión en tiempo real. Estas capas de inteligencia transforman utilidades simples en asistentes personalizados que evolucionan contigo.',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'title',
|
|
109
|
+
text: 'Gestión de Tareas y Planificación: Pomodoro e Isocrónicas',
|
|
110
|
+
level: 2,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'La productividad no es solo velocidad; es gestión inteligente del tiempo. Nuestra <strong>técnica Pomodoro interactiva</strong> divide tu jornada en bloques focalizados de 25 minutos, con descansos calculados para recuperación cognitiva óptima. El <strong>calculador isocrónico</strong> te muestra cuánto tiempo tardarán tus tareas según historial, permitiéndote planificar tu día realístamente en lugar de optimistamente.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'title',
|
|
118
|
+
text: 'Validación de Datos y Auditoría de Información',
|
|
119
|
+
level: 2,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'paragraph',
|
|
123
|
+
html: 'Una lista de 500 direcciones de email — ¿cuántas son reales? Nuestro <strong>validador de datos en lote</strong> verifica formato, dominio, y si el servidor acepta correo para esa dirección. Para números de teléfono, valida formato internacional y número geográfico. En aplicaciones de negocio, validación de datos previene desastres: enviar correos a direcciones inexistentes es desperdicio; llamar a números falsificados es frustración.',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'title',
|
|
127
|
+
text: 'Conversión de Unidades: Masa, Volumen, Temperatura, Energía',
|
|
128
|
+
level: 2,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: 'Las conversiones parecen simples hasta que necesitas convertir 100 Fahrenheit a Celsius bajo presión. Nuestro <strong>conversor universal de unidades</strong> maneja conversiones de 500+ magnitudes: longitud (metro a pie a milla), masa (kg a libra a onza), volumen (litro a galón), temperatura (con corrección de fórmula exacta), energía (joule a caloría), potencia (watts a caballos). La diferencia entre un conversor genérico y uno técnico es la precisión.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Cálculo de Porcentajes Avanzados y Variaciones Compuestas',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: 'El 10% de 100 es 10. Simple. Pero si aumentas 10% de 100 (resultando 110) y luego aumentas otro 10%, ¿el resultado es 121 o 120? Es 121 (variación compuesta). Nuestro <strong>calculador de porcentajes avanzado</strong> maneja variaciones anidadas, descuentos múltiples, y cálculos de "margen" versus "markup". Un minorista que compra a €100 y agrega 50% markup vende a €150; si luego aplica 20% descuento, vende a €120 (no €130). La diferencia son €10 que muchos comercios pierden por mal cálculo.',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Análisis de Números: Factorización, Primalidad, Divisores',
|
|
146
|
+
level: 2,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'paragraph',
|
|
150
|
+
html: 'Un matemático puede necesitar saber si 991 es primo. Un criptógrafo necesita factorizar 91 (es 7 × 13). Nuestro <strong>analizador de números</strong> determina si un número es primo, enumera sus divisores, factoriza en primos, y calcula su función de Euler (crítica en criptografía RSA). Para educación matemática o investigación, estas herramientas proporcionan información numérica profunda.',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'title',
|
|
154
|
+
text: 'Simplicidad como máxima sofisticación 2026',
|
|
155
|
+
level: 2,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: 'En 2026, lo "simple" ha vuelto a ser premium. Estamos cansados de aplicaciones que intentan hacerlo todo y no hacen nada bien. Estas herramientas son el retorno a lo esencial: utilidades que hacen una sola cosa, pero la hacen con precisión absoluta y respetando al usuario. Cada minuto que ahorras con una herramienta bien diseñada es un minuto que recuperas de tu vida.',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'stats',
|
|
163
|
+
columns: 2,
|
|
164
|
+
items: [
|
|
165
|
+
{ value: 'Criptográfica', label: 'Seguridad', icon: 'mdi:shield-check' },
|
|
166
|
+
{ value: 'RSVP', label: 'Velocidad', icon: 'mdi:speedometer' },
|
|
167
|
+
{ value: 'Óptima', label: 'Logística', icon: 'mdi:map-marker-path' },
|
|
168
|
+
{ value: 'Local-First', label: 'Privacidad', icon: 'mdi:lock-check' },
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
};
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { CategoryLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const content: CategoryLocaleContent = {
|
|
4
|
+
slug: 'outils',
|
|
5
|
+
title: 'Outils pratiques et multiusages en ligne',
|
|
6
|
+
description: 'Résolvez les problèmes quotidiens avec des outils gratuits en ligne. Optimiseurs d\'itinéraires, générateurs de mots de passe, lecture rapide RSVP et utilitaires de calcul rapide.',
|
|
7
|
+
seo: [
|
|
8
|
+
{
|
|
9
|
+
type: 'title',
|
|
10
|
+
text: 'Utilitaires pratiques : solutions numériques pour le quotidien',
|
|
11
|
+
level: 2,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'paragraph',
|
|
15
|
+
html: "Dans un monde numérique saturé d'applications complexes, ce dont nous avons le plus besoin est parfois un <strong>outil simple, rapide et efficace</strong>. Dans cette section, nous avons rassemblé une \"ceinture d'utilitaires\" avec des <strong>outils gratuits en ligne</strong> qui résolvent des problèmes pratiques immédiats : de la sécurité de vos comptes à l'optimisation de vos déplacements physiques.",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'paragraph',
|
|
19
|
+
html: "Nos applications sont conçues selon le principe d'utilité maximale et de friction minimale. Sans inscriptions, sans attente et avec un traitement local pour que vos données personnelles soient toujours protégées.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'title',
|
|
23
|
+
text: 'Sécurité et protection : génération de mots de passe robustes',
|
|
24
|
+
level: 2,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'paragraph',
|
|
28
|
+
html: "La première ligne de défense sur internet est un mot de passe fort. Notre <strong>générateur de mots de passe</strong> utilise des algorithmes d'aléatoire cryptographique pour créer des clés impossibles à prédire ou à pirater par force brute. Personnalisez la longueur et le type de caractères pour respecter les normes de sécurité 2026.",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: 'title',
|
|
32
|
+
text: 'Logistique et mathématiques rapides : itinéraires et proportions',
|
|
33
|
+
level: 2,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'paragraph',
|
|
37
|
+
html: "Économiser du temps et du carburant est possible grâce à l'optimisation. L'<strong>optimiseur d'itinéraires</strong> permet d'organiser plusieurs arrêts pour calculer le trajet le plus efficace, idéal pour les livreurs, les commerciaux ou les voyageurs. Notre calculatrice de <strong>règle de trois</strong> est le sauveur mathématique définitif pour résoudre les échelles, pourcentages et proportions en secondes.",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'title',
|
|
41
|
+
text: 'Productivité cognitive : lecture rapide RSVP',
|
|
42
|
+
level: 2,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'paragraph',
|
|
46
|
+
html: "La surcharge d'informations nécessite de nouvelles formes de consommation. Basé sur la technologie <strong>RSVP (Rapid Serial Visual Presentation)</strong>, notre lecteur rapide vous permet de traiter des textes à des vitesses dépassant 1000 mots par minute, éliminant la sous-vocalisation et concentrant votre attention sur le flux sémantique du contenu.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: 'Communication et liens : WhatsApp et SEO',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: "Faciliter le contact est vital pour les entreprises et les freelances. Le <strong>générateur de liens WhatsApp</strong> permet de créer des liens wa.me directs avec des messages préconfigurés. Pour les créateurs de contenu, l'<strong>optimiseur SEO</strong> analyse la densité des mots-clés et les limites de caractères pour s'assurer que vos publications brillent sur les moteurs de recherche et les réseaux sociaux.",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'title',
|
|
59
|
+
text: "Utilitaires tactiques : balise Morse et urgences",
|
|
60
|
+
level: 2,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'paragraph',
|
|
64
|
+
html: "Le téléphone mobile est aussi un outil de sécurité physique. La <strong>balise Morse</strong> transforme votre terminal en émetteur d'urgence, utilisant le flash de la caméra, la vibration et la luminosité de l'écran pour émettre des signaux SOS ou des messages personnalisés en code Morse international.",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'list',
|
|
68
|
+
items: [
|
|
69
|
+
'<strong>Multifonctionnalité :</strong> Des calculs mathématiques à la cybersécurité et à la logistique personnelle.',
|
|
70
|
+
'<strong>Vitesse de réponse :</strong> Outils optimisés pour se charger instantanément sur tout appareil mobile.',
|
|
71
|
+
'<strong>Zéro tracking :</strong> Nous ne sauvegardons pas vos mots de passe ni vos itinéraires ; la confidentialité est notre priorité technique.',
|
|
72
|
+
"<strong>Mise à jour 2026 :</strong> Conformité avec les dernières réglementations de sécurité et les normes web modernes.",
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'tip',
|
|
77
|
+
title: 'Conseil de sécurité numérique',
|
|
78
|
+
html: "<strong>Hygiène numérique :</strong> N'utilisez jamais le même mot de passe pour deux services différents. Générez une clé unique avec notre outil et stockez-la dans un gestionnaire de mots de passe de confiance pour préserver votre identité numérique.",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Évaluation de sécurité : audit des mots de passe compromis',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: "Avoir un mot de passe fort aujourd'hui ne signifie pas qu'il sera sécurisé demain. Si une base de données est piratée dans un autre service et que vous partagez la même clé, vous êtes en danger. Des outils comme l'auditeur de mots de passe contre les bases de données (HIBP - Have I Been Pwned) vous permettent de vérifier si vos identifiants circulent sur le darknet.",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'title',
|
|
91
|
+
text: 'Ergonomie numérique : réduire la friction, augmenter la productivité',
|
|
92
|
+
level: 2,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'paragraph',
|
|
96
|
+
html: "La friction numérique est invisible mais coûteuse. Saisir un numéro de téléphone au format correct dans WhatsApp chaque fois que vous voulez contacter quelqu'un est une friction. Nos outils éliminent ces micro-étapes répétitives. L'optimiseur d'itinéraires vous fait gagner 2 heures par semaine si vous faites des livraisons. Le lecteur RSVP vous économise 3 heures de lecture hebdomadaire.",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'title',
|
|
100
|
+
text: "Intelligence artificielle et analyse prédictive dans les outils 2026",
|
|
101
|
+
level: 2,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'paragraph',
|
|
105
|
+
html: "Les outils modernes ne sont pas statiques ; ils apprennent de vous. Le générateur de mots de passe peut vous suggérer des modèles sécurisés selon la réglementation spécifique de chaque plateforme. L'optimiseur d'itinéraires peut apprendre vos habitudes historiques de livraison et anticiper les points de congestion. Ces couches d'intelligence transforment de simples utilitaires en assistants personnalisés qui évoluent avec vous.",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'title',
|
|
109
|
+
text: "Gestion des tâches et planification : Pomodoro et isochrones",
|
|
110
|
+
level: 2,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: "La productivité n'est pas seulement une question de vitesse ; c'est une gestion intelligente du temps. Notre <strong>technique Pomodoro interactive</strong> divise votre journée en blocs focalisés de 25 minutes, avec des pauses calculées pour une récupération cognitive optimale. Le <strong>calculateur isochrone</strong> vous montre combien de temps prendront vos tâches selon l'historique, vous permettant de planifier votre journée de manière réaliste.",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'title',
|
|
118
|
+
text: "Validation des données et audit d'informations",
|
|
119
|
+
level: 2,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'paragraph',
|
|
123
|
+
html: "Une liste de 500 adresses email — combien sont réelles ? Notre <strong>validateur de données en lot</strong> vérifie le format, le domaine et si le serveur accepte le courrier pour cette adresse. Pour les numéros de téléphone, il valide le format international et le numéro géographique.",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'title',
|
|
127
|
+
text: "Conversion d'unités : masse, volume, température, énergie",
|
|
128
|
+
level: 2,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: "Les conversions semblent simples jusqu'à ce que vous deviez convertir 100 Fahrenheit en Celsius sous pression. Notre <strong>convertisseur universel d'unités</strong> gère les conversions pour 500+ grandeurs : longueur (mètre vers pied vers mile), masse (kg vers livre vers once), volume (litre vers gallon), température (avec correction de formule exacte), énergie (joule vers calorie).",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Calcul de pourcentages avancés et variations composées',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: "10% de 100 c'est 10. Simple. Mais si vous augmentez 10% de 100 (résultant 110) puis augmentez encore 10%, le résultat est-il 121 ou 120 ? C'est 121 (variation composée). Notre <strong>calculateur de pourcentages avancé</strong> gère les variations imbriquées, les remises multiples et les calculs de « marge » versus « majoration ».",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Analyse de nombres : factorisation, primalité, diviseurs',
|
|
146
|
+
level: 2,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'paragraph',
|
|
150
|
+
html: "Un mathématicien peut avoir besoin de savoir si 991 est premier. Un cryptographe doit factoriser 91 (c'est 7 × 13). Notre <strong>analyseur de nombres</strong> détermine si un nombre est premier, énumère ses diviseurs, factorise en nombres premiers et calcule sa fonction d'Euler (critique en cryptographie RSA).",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'title',
|
|
154
|
+
text: 'La simplicité comme sophistication suprême 2026',
|
|
155
|
+
level: 2,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: "En 2026, le « simple » est redevenu premium. Nous en avons assez des applications qui essaient de tout faire et ne font rien bien. Ces outils sont le retour à l'essentiel : des utilitaires qui font une seule chose, mais avec une précision absolue et dans le respect de l'utilisateur.",
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'stats',
|
|
163
|
+
columns: 2,
|
|
164
|
+
items: [
|
|
165
|
+
{ value: 'Cryptographique', label: 'Sécurité', icon: 'mdi:shield-check' },
|
|
166
|
+
{ value: 'RSVP', label: 'Vitesse', icon: 'mdi:speedometer' },
|
|
167
|
+
{ value: 'Optimale', label: 'Logistique', icon: 'mdi:map-marker-path' },
|
|
168
|
+
{ value: 'Local-First', label: 'Confidentialité', icon: 'mdi:lock-check' },
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ToolsCategoryEntry } from '../types';
|
|
2
|
+
import { routes } from '../tool/routes/index';
|
|
3
|
+
import { ruleOfThree } from '../tool/rule-of-three/index';
|
|
4
|
+
import { passwordGenerator } from '../tool/password-generator/index';
|
|
5
|
+
import { morseBeacon } from '../tool/morse-beacon/index';
|
|
6
|
+
import { speedReader } from '../tool/speed-reader/index';
|
|
7
|
+
import { whatsappLink } from '../tool/whatsapp-link/index';
|
|
8
|
+
import { textPixelCalculator } from '../tool/text-pixel-calculator/index';
|
|
9
|
+
import { dateDiffCalculator } from '../tool/date-diff-calculator/index';
|
|
10
|
+
import { emailListCleaner } from '../tool/email-list-cleaner/index';
|
|
11
|
+
import { envBadgeSpain } from '../tool/env-badge-spain/index';
|
|
12
|
+
import { driveDirectLink } from '../tool/drive-direct-link/index';
|
|
13
|
+
import { seoContentOptimizer } from '../tool/seo-content-optimizer/index';
|
|
14
|
+
|
|
15
|
+
export const toolsCategory: ToolsCategoryEntry = {
|
|
16
|
+
icon: 'mdi:toolbox',
|
|
17
|
+
tools: [routes, ruleOfThree, passwordGenerator, morseBeacon, speedReader, whatsappLink, textPixelCalculator, dateDiffCalculator, emailListCleaner, envBadgeSpain, driveDirectLink, seoContentOptimizer],
|
|
18
|
+
i18n: {
|
|
19
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
20
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
21
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
22
|
+
},
|
|
23
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { toolsCategory } from './index';
|
|
4
|
+
import type { KnownLocale } from '../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await toolsCategory.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
15
|
+
|